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/staticSearch.css') require('./../js/staticSearch.js') require('./../images/empty.png').replace(/^undefined/g, '') require('./../images/empty2.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('./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, '') const $ = require("jquery"); const { post,config,getUrlArgObject,openNewWin,titleConfig } = require('./promise.js'); const { transConf } = require('./util.js'); //静态知识类型: 1:诊断 2.药品 3.化验套餐 4.化验明细 5.辅检 6.手术和操作 let moduleConfig={ auxiliary:"recommendWrap", qc:"qcWrap", medical:"medicalKonwledgeWrap" } let allInterface = 0 let hasCompleteTnterface = 0 let moduleNum = 0 let mrId = getUrlArgObject('mrId') const tipsMode = getUrlArgObject('tipsMode') || 1 let planCode = getUrlArgObject('planCode') || 'all' let hospitalIdUrl = getUrlArgObject('hospitalId') || '' let msg; function getMRInfo() { return post(config.getMr2,{mrId:mrId}) } // $('.loading').css("display","block") $('.empty').css("display","none") if(mrId){ getMRInfo().then(res =>{ if(res.data.code == '0'){ msg = res.data.data ||{} window.msg = msg } }).catch(function (err) { console.log(err); }) } 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) } }) 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',hospitalId:hospitalIdUrl||msg.hospitalId,ruleType:config.ruleTypeMap['22']})) } function getPusgWarning(){ return post(config.indicationPush,Object.assign({},msg,{ruleType: '1,2,3',hospitalId:hospitalIdUrl||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(`information.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){ renderTab(pageSet.sysSetInfo) const iframeHei = $(".bodyWrap").height() const tabHei = $(".tabList").height() $(".contentWrapper").css("height",iframeHei-tabHei-10-20-30+'px') const hasAuxiliary = hasTab("辅助信息",pageSet.sysSetInfo) const hasMedical = hasTab("医学知识",pageSet.sysSetInfo) if(!mrId){ empty() return } if(hasAuxiliary){ renderModuleWrapper(hasAuxiliary.planDetails) let needPush = isNeedPush(hasAuxiliary.planDetails) let needPushWarning = isNeedPushWarning(hasAuxiliary.planDetails) if(needPush || needPushWarning){ renderPushData() allInterface++ } if(needPushWarning){ renderPushWarning() allInterface++ } } } 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 pacsPush = result.pacs || [] let symptomPush = result.symptom ||[] let checkupPush = result.vital ||[] let medicinesPush = result.medicines || [] let operationsPush = result.operations ||[] // 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 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 renderLis(lisPush,lisNum,3,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) if(hasCompleteTnterface === allInterface){ $('.loading').css("display","none") if(moduleNum === 0){ empty() } } bindOpenInfo() bindSlide() } }) } function isNeedPush(list){ let pushCode = ["diag","lis","pacs","symptom","vital"] for(let i = 0; i < list.length; i++){ if(pushCode.indexOf(list[i].code)>-1){ return true } } return false } function isNeedPushWarning(list){ let pushCode = ["tips"] for(let i = 0; i < list.length; i++){ if(pushCode.indexOf(list[i].code)>-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 || [] //注意调试信息 $('.moduleItem.tips').append(titleStr('warning')) renderBillingPush(billMsgList,'开单合理性提醒') renderBillingPush(highRiskList,'高风险提示') renderBillingPush(criticalValList,'危急值提醒') renderBillingPush(noteList,'检查内容注意事项') moreInfo() // renderBillingPush(dubugStr,'注意调试信息') } if(hasCompleteTnterface === allInterface){ $('.loading').css("display","none") if(moduleNum === 0){ empty() } } }) } function renderBillingPush(list,name){ if(list.length === 0){ return } let str = `` for(let i = 0; i < list.length; i++){ str += `
${list[i].msg}
` } let titleStr = titleStr2(name) let boxStr = `
${titleStr} ${str}
` $(".tips").append(boxStr) $('.moduleItem.tips').css("display","block") } function renderDiag(diagPush){ let possibleDiagPush = diagPush["可能诊断"] || [] let firstDiagPush = diagPush["初步诊断"] || [] let identifyDiagPush = diagPush["鉴别诊断"] || [] let warningDiagPush = diagPush["警惕"] || [] let number = $('.moduleItem.diag').attr("data-num") || 5 let warnNumber = $('.moduleItem.warning').attr("data-num") || 5 $('.moduleItem.diag').append(titleStr("diagPush")) // let warningDiagPush = [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}] // let firstDiagPush = [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}] // let identifyDiagPush = diagPush["鉴别诊断"] || [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}] renderDiagItem(possibleDiagPush,"可能诊断",number) renderDiagItem(firstDiagPush,"初步诊断",number) renderDiagItem(identifyDiagPush,"鉴别诊断",number) renderWarningDiag(warningDiagPush,"警惕",warnNumber) moreInfo() } function renderDiagItem(list,name,number){ if(list.length === 0){ return } let titleStr = titleStr2(name) let {shortStr, longStr} = renderItemWrapper(list,number,1,true) let boxStr = `
${titleStr} ${shortStr} ${longStr}
` $(".diag").append(boxStr) $('.moduleItem.diag').css("display","block") } function renderWarningDiag(list,name,number){ if(list.length > 0 && $(".moduleItem.warning").length > 0){ moduleNum++ $('.moduleItem.warning').append() let str = `警惕` for(let i = 0; i < list.length; i++){ str+= renderPushItem(list[i],1) } $('.moduleItem.warning').append(str) $('.moduleItem.warning').css("display","block") } } function renderLis(list,showNum,type,hasInfo){ if(list.length > 0 && $(".moduleItem.lis").length > 0){ moduleNum++ $('.moduleItem.lis').append(titleStr("lisPush")) let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo) $('.moduleItem.lis').append(shortStr).append(longStr) $('.moduleItem.lis').css("display","block") } } function renderPacs(list,showNum,type,hasInfo){ if(list.length > 0 && $(".moduleItem.pacs").length > 0){ moduleNum++ $(".moduleItem.pacs").append(titleStr("pacsPush")) let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo) $(".moduleItem.pacs").append(shortStr).append(longStr) $('.moduleItem.pacs').css("display","block") } } function renderCheckup(list,showNum,type,hasInfo){ if(list.length > 0 && $(".moduleItem.vital").length > 0){ moduleNum++ $(".moduleItem.vital").append(titleStr("checkupPush")) let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo) $(".moduleItem.vital").append(shortStr).append(longStr) $('.moduleItem.vital').css("display","block") } } function renderSymptomPush(list,showNum,type,hasInfo){ $(".moduleItem.symptom").append(titleStr('symptomPush')) if(list.length > 0 && $(".moduleItem.symptom").length > 0){ moduleNum++ let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo) $(".moduleItem.symptom").append(shortStr).append(longStr) $(".moduleItem.symptom").css("display","block") } } function renderMedicinesPush(list,showNum,type,hasInfo){ $(".moduleItem.medicine").append(titleStr('drugPush')) if(list.length > 0 && $(".moduleItem.medicine").length > 0){ moduleNum++ let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo) $(".moduleItem.medicine").append(shortStr).append(longStr) $(".moduleItem.medicine").css("display","block") } } function renderOperationPush(list,showNum,type,hasInfo){ $(".moduleItem.operation").append(titleStr('operationPush')) if(list.length > 0 && $(".moduleItem.operation").length > 0){ moduleNum++ let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo) $(".moduleItem.operation").append(shortStr).append(longStr) $(".moduleItem.operation").css("display","block") } } function renderItemWrapper(list,showNum,type,hasInfo){ let showNum1 = showNum || 5 let shortStr = '', longStr = '' for(let i = 0; i < list.length; i++){ if(i <= showNum1-1){ shortStr += renderPushItem(list[i],type) } longStr += renderPushItem(list[i],type) } if(showNum1 >= list.length){ return { shortStr:`
${shortStr}
`, longStr:'' } }else{ shortStr += `更多 ` longStr += `收起 ` return { shortStr:`
${shortStr}
`, longStr:`
${longStr}
` } } } function renderPushItem(item,type){ str= `${item.name}${item.hasInfo=="1"?``:""}` return str } function bindOpenInfo(){ $(".infoImg").on("mouseenter", function(){ $(this).attr("src", infoImgOn) }).on("mouseleave", function(){ $(this).attr("src", infoImg) }) } function bindSlide(){ $(".showMore").on("click", function(){ $(this).parent().parent().find(".longBox").css("display","block") $(this).parent().parent().find(".shortBox").css("display","none") }) $(".showLess").on("click", function(){ $(this).parent().parent().find(".longBox").css("display","none") $(this).parent().parent().find(".shortBox").css("display","block") }) } function renderModuleWrapper(moduleList){ let moduleStr = '' for(let i = 0; i < moduleList.length; i++){ if(moduleList[i].status !='0'){ if(moduleList[i].code == 'treat'){ moduleStr += `` moduleStr += `` }else if(moduleList[i].code == 'tips'){ moduleStr += `` moduleStr += `` }else{ moduleStr += `` } } } $(".recommendWrap").append(moduleStr) } function hasTab(tabName,tabList){ for(let i = 0; i < tabList.length; i++){ if(tabList[i].name == tabName){ return tabList[i] } } return false } function renderTab(tabList){ let tabStr = '' for(let i = 0; i < tabList.length; i++){ if(tabList[i].status == '1'){ tabStr += `${tabList[i].name}` } } $(".tabList").append(tabStr) $(".tabList .tab").eq(0).addClass("activeTab") let showModuleName = $(".tabList .tab").eq(0).attr("data-name") getModuleShow(moduleConfig[showModuleName]) bindTabClick() } function titleStr(type){ let titleStr = '' titleStr += `

${titleConfig[type].name}

` return titleStr } function titleStr2(name){ let titleStr = '' titleStr += `

${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"){ $(".contentWrapper").css("overflowY","hidden") }else{ $(".contentWrapper").css("overflowY","auto") } }) } function getModuleShow(moduleClassName){ if( $(`.${moduleClassName}`).css("display") =="none"){ $(".moduleWrapper").css("display","none") $(`.${moduleClassName}`).css("display","block") } } function empty(){ $(".responsibility").css("display","none") $('.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"); }); });