123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577 |
- 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 += `<div class="billingPushItem"><img class="iconMark" src=${iconMark}>${list[i].msg}</div>`
- }
- let titleStr = titleStr2(name)
- let boxStr = `<div class="moduleBox">
- ${titleStr}
- ${str}
- </div>`
- $(".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 = `<div class="moduleBox">
- ${titleStr}
- ${shortStr}
- ${longStr}
- </div>`
- $(".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 = `<span class="warningTitle"><img class="warningTitImg" src=${warnImg}>警惕</span>`
- 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:`<div class="shortBox">${shortStr}</div>`,
- longStr:''
- }
- }else{
- shortStr += `<span class="showMore">更多 <img class="iconArrowImg" src="${iconArrowDown}"></span>`
- longStr += `<span class="showLess">收起 <img class="iconArrowImg" src="${iconArrowUp}"></span>`
- return {
- shortStr:`<div class="shortBox clearfix">${shortStr}</div>`,
- longStr:`<div class="longBox clearfix">${longStr}</div>`
- }
- }
- }
- function renderPushItem(item,type){
- str= `<span class="pushItemBox" data-name="${item.name}" data-type="${type}"><span class="pushItemName">${item.name}</span>${item.hasInfo=="1"?`<img class="infoImg" src="${infoImg}">`:""}</span>`
- 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 += `<div class="moduleItem medicine" data-num="${moduleList[i].number}" style="display:none"></div>`
- moduleStr += `<div class="moduleItem operation" data-num="${moduleList[i].number}" style="display:none"></div>`
- }else if(moduleList[i].code == 'tips'){
- moduleStr += `<div class="moduleItem warning" data-num="${moduleList[i].number}" style="display:none"></div>`
- moduleStr += `<div class="moduleItem tips" data-num="${moduleList[i].number}" style="display:none"></div>`
- }else{
- moduleStr += `<div class="moduleItem ${moduleList[i].code }" data-num="${moduleList[i].number}" style="display:none"></div>`
- }
- }
-
- }
- $(".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 += `<span class="tab" data-name="${tabList[i].code}" >${tabList[i].name}<span class="activeLine"></span></span>`
- }
-
- }
- $(".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 += `<h4 class="moduleTitle" style="background:${titleConfig[type].background}"><img class="titleIcon" src=${titleConfig[type].icon}>${titleConfig[type].name}</h4>`
- return titleStr
- }
- function titleStr2(name){
- let titleStr = ''
- titleStr += `<p class="moduleBoxTitle">${name}:</p>`
- 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");
- });
- });
|