Browse Source

竖版可配置

zhangxc 6 năm trước cách đây
mục cha
commit
a30a916983

+ 0 - 0
src/css/indexHorizontal.less


+ 199 - 9
src/css/indexVert.less

@@ -1,11 +1,15 @@
+@import './common.less';
+
 .iframeWrap {
     margin: 10px auto 50px;
     padding: 20px;
     min-width: 340px;
 }
-.recommendInfoWrapper  {
+
+.recommendInfoWrapper {
     border: 1px solid #F2F2F2;
     margin-bottom: 15px;
+
     h4 {
         color: #000;
         height: 40px;
@@ -15,72 +19,258 @@
         font-weight: bold;
     }
 }
+
 .recommendInfoWrapper h4 i {
     content: '';
     width: 40px;
     height: 40px;
     float: left;
 }
-.symptomRecommend, .physiExamRecommend, .labAndPacsRecommend{
-    h4{
+
+.symptomRecommend,
+.physiExamRecommend,
+.labAndPacsRecommend {
+    h4 {
         background-color: #ECF4FC;
     }
 }
+
 .treatRecommend {
     h4 {
         background-color: #E3FEFE;
     }
 }
-.ConditTips {
+
+.conditTips {
     h4 {
         background-color: #FDF4EE;
     }
 }
+
 .recommendInfoBox {
     padding: 17px;
 }
+
 .treatRecommend h4 i {
     background: url(/images/zhiliao.png) center center no-repeat;
 }
-.ConditTips h4 i {
+
+.conditTips h4 i {
     background: url(/images/tips.png) center center no-repeat;
 }
+
 .symptomRecommend h4 i {
     background: url(/images/inquire.png) center center no-repeat;
 }
+
 .physiExamRecommend h4 i {
     background: url(/images/tgjc.png) center center no-repeat;
 }
+
 .labAndPacsRecommend h4 i {
     background: url(/images/inspect.png) center center no-repeat;
 }
+
 .warning h4 i {
     background: url(/images/warings.png) center center no-repeat;
 }
+
 .diagRecommend h4 i {
     background: url(/images/yszd.png) center center no-repeat;
 }
+
 .recommendInfoItem {
     margin-right: 18px;
     float: left;
-    line-height: 24px;
+    line-height: 25px;
 }
-.infoMsg, .infoMsgOn {
+
+.infoMsg,
+.infoMsgOn {
     position: relative;
     top: 4px;
 }
-.infoMsg, .infoMsgOn{
+
+.infoMsg,
+.infoMsgOn {
     display: none;
+    cursor: pointer;
 }
-.recommendInfoItem:hover {
+
+.recommendInfoItem:hover,
+.diagNameBox:hover,
+.durgNameBox:hover {
+    color: #267FD7;
+
     .infoMsg {
         display: inline-block;
         width: 16px;
         height: 16px;
         background: url(/images/msg1.png) center center no-repeat;
     }
+
     .infoMsg:hover {
         background: url(/images/msg2.png) center center no-repeat;
     }
 }
 
+// .diagNameBox:hover {
+//     color: #267FD7;
+//     .infoMsg {
+//         display: inline-block;
+//         width: 16px;
+//         height: 16px;
+//         background: url(/images/msg1.png) center center no-repeat;
+//     }
+//     .infoMsg:hover {
+//         background: url(/images/msg2.png) center center no-repeat;
+//     }
+// }
+.diagNameBox,
+.durgNameBox {
+    border-bottom: 1px solid #D1D1D1;
+}
+
+.recommendInfoBox p {
+    line-height: 25px;
+}
+
+.commonTreatmentbox {
+    padding-bottom: 10px;
+    border-bottom: 1px solid #D1D1D1;
+}
+
+.drugTreatmentbox {
+    padding-top: 10px;
+}
+
+.illnessTable {
+    color: #267FD7;
+    line-height: 28px;
+}
+
+.labAndPacsTitle i {
+    color: #ADADAD;
+}
+
+.labAndPacsBox {
+    line-height: 25px;
+}
+
+.alertModal {
+    position: relative;
+
+    .mayResult {
+        color: #838383;
+        position: relative;
+    }
+
+    .mayResultSelect {
+        line-height: 28px;
+
+        .makesureResult {
+            cursor: pointer;
+            color: @colorBlue;
+        }
+
+        .sanjiao {
+            width: 18px;
+            height: 18px;
+            display: inline-block;
+            position: relative;
+            top: 3px;
+            background: url('../images/select.png') center center no-repeat;
+        }
+    }
+}
+
+.recommendInfoItemBox {
+    position: relative;
+}
+
+.recommendInfoItemBoxLimit {
+    height: 25px;
+    overflow: hidden;
+    position: relative;
+}
+
+.commonTreatmentInfoLimit {
+    height: 75px;
+    overflow: hidden;
+    position: relative;
+}
+
+.slideDown {
+    background-color: #fff;
+    position: absolute;
+    bottom: 0px;
+    right: 0px;
+    color: @colorBlue;
+    height: 25px;
+    line-height: 25px;
+    box-shadow: -2px 0px 15px 0px #fff;
+    cursor: pointer;
+
+    i {
+        width: 10px;
+        height: 7px;
+        display: inline-block;
+        position: relative;
+        top: -2px;
+        background: url('../images/down.png') center center no-repeat;
+    }
+}
+
+.slideup {
+    background-color: #fff;
+    position: relative;
+    float: right;
+    bottom: 0px;
+    right: 0px;
+    color: @colorBlue;
+    cursor: pointer;
+
+    i {
+        width: 10px;
+        height: 7px;
+        display: inline-block;
+        position: relative;
+        top: -2px;
+        background: url('../images/up.png') center center no-repeat;
+    }
+}
+
+.responsibility {
+    text-align: center;
+    font-size: 12px;
+    color: #979797;
+    padding-top: 15px;
+}
+.disclaimer {
+    height: 40px;
+    width: 100%;
+    line-height: 40px;
+    text-align: center;
+    position: fixed;
+    bottom: 0;
+    background-color: #ececec;
+    left: 0;
+    z-index: 98;
+    .logo {
+        float: left;
+        margin-left: 15px;
+    }
+    .disclaimerInfo {
+        float: right;
+        margin-right: 15px;
+    }
+}
+.labRecommend {
+    border-bottom: 1px solid #D1D1D1;
+    margin: 5px 0;
+}
+.labAndPacsTitle {
+    border-right: 2px solid #ADADAD;
+    padding-right:5px; 
+    margin-right: 5px;
+}

Những thai đổi đã bị hủy bỏ vì nó quá lớn
+ 28 - 0
src/html/indexHorizontal.html


+ 4 - 1
src/html/indexVert.html

@@ -17,7 +17,10 @@
         <div class="recommendWrap"></div>
         <p class="responsibility">以上推送为常见诊断及问诊内容,实际以医生临床判断为准</p>
       </div>
-      <div class="disclaimer"><a href="disclaimer.html" target="_blank">免责声明</a></div>
+      <div class="disclaimer clearfix">
+        <span class="logo">&copy 朗通医疗</span>
+        <span class="disclaimerInfo">免责声明</span>
+      </div>
   </div>
 </body>
 

+ 94 - 56
src/js/indexHorizontal.js

@@ -1,7 +1,13 @@
 require('./../css/reset.css');
+require('./../css/indexHorizontal.less');
+// require('./../css/popup.css');
+// require('./popupEdit.js');
+var Promise = require('./rePromise');
 
 const $ = require("jquery");
-const { post,config,getUrlArgObject } = require('./promise.js');
+const { post,config,getUrlArgObject,openNewWin } = require('./promise.js');
+const { transConf } = require('./util.js');
+const { renderRecommendInfo, renderMultRecommendInfo, renderTreat, renderRecommendConditTips } = require('./indexVertDom.js');
 
 var msg = {
     age: getUrlArgObject('age'),
@@ -14,64 +20,96 @@ var msg = {
     diseaseName: getUrlArgObject('diagJson'),
     other: getUrlArgObject('otherJson') + getUrlArgObject('pastJson'),
     hosCode:getUrlArgObject('hospitalCode') || ''
-  }//推送相关信息
-  
-  window.msg = msg
-  window.pushMessage = {}
-  post(config.getSysSetInfoDatas,{hospitalCode: msg.hosCode}).then((res)=>{
-    const data = res.data
+}//推送相关信息
+//   http://localhost:8082/indexVert.html?age=28&diseaseId=280&lisJson=&diagJson=%E6%80%A5%E6%80%A7%E8%83%B0%E8%85%BA%E7%82%8E&pastJson=%E6%97%A0%E5%BF%83%E8%84%8F%E7%97%85&otherJson=%E6%97%A0%E9%AB%98%E8%A1%80%E5%8E%8B&pacsJson=%E8%85%B9%E9%83%A8B%E8%B6%85:%E6%97%A0%E5%BC%82%E5%B8%B8,%20%E6%8A%A5%E5%91%8A%E6%97%A5%E6%9C%9F:2019-05-07&sex=%E7%94%B7&symptomJson=%E6%81%B6%E5%BF%83%E5%91%95%E5%90%90%E8%85%B0%E7%97%9B&vitalJson=%E8%A1%80%E5%8E%8B%E5%B7%A6%E4%B8%8A%E8%82%A213/12mmHg
+window.msg = msg
+window.pushMessage = {}
+function getConf() {
+  return post(config.getSysSetInfoDatas,{hospitalCode: msg.hosCode}).then((res)=>{
+      const data = res.data
+      if(data.code == 0){
+          console.log('data', data)
+          let confArr = transConf(data.data)
+          window.confArr = confArr;
+          resolve(confArr)
+      }
+  })
+}
+
+function pushInfo() {
+  return post(config.pushInner,Object.assign({featureType: '1,4,5,6,7,22'},msg)).then((res)=>{
+    var data = res.data
     if(data.code == 0){
-        console.log('data', data)
+        var result = data.data;
+        if(result.medicalIndications && result.medicalIndications.length>0){//病情提示
+          window.pushMessage = result.medicalIndications;//计算的需要的相关数据
+          renderRecommendConditTips('conditTips','病情提示', result.medicalIndications)
+        }
+        if(result.dis){
+            const diagPossible = result.dis['可能诊断'] || []//可能
+            const diagDoubt = result.dis['疑似诊断'] || [] // 疑似
+            const diagDeter = result.dis['确诊'] || []//确诊
+            const diagWaring = result.dis['警惕'] || [] // 推荐警惕诊断
+            const symptomRecommend = result.symptom || []  //推荐问诊症状
+            const physiExamRecommend  = result.vital || [] //推荐体格检查
+            const diagRecommend = diagPossible.concat(diagDoubt, diagDeter) //推荐诊断
+            const labRecommend = result.lab || []
+            const pacsRecommend = result.pacs || []
+            const labAndPacsRecommend = [
+                {
+                    title: '化验',
+                    className: 'labRecommend',
+                    data:  labRecommend
+                },
+                {
+                    title: '辅检',
+                    className: 'pacsRecommend',
+                    data:  pacsRecommend
+              }
+            ]
+            renderRecommendInfo('warning', '警惕诊断', diagWaring, true,7,2)
+            renderRecommendInfo('diagRecommend', '推荐诊断', diagRecommend, true,7,2)
+            renderRecommendInfo('symptomRecommend', '问诊症状', symptomRecommend, false)
+            renderRecommendInfo('physiExamRecommend', '体格检查', physiExamRecommend, false)
+            renderMultRecommendInfo('labAndPacsRecommend', '检验检查', labAndPacsRecommend, false)
+        }
       
+    
       
-      
-     
     }
   })
+}
+
+function getTreatment() {
+  post(config.pushTreatment,Object.assign({featureType: '8'},msg)).then((res)=>{
+    var data = res.data
+    if(data.code == 0){
+      var result = data.data;
+      console.log('treatResult', result)
+      renderTreat('treatRecommend','治疗方案',result)
+      // var num = 0;
+      // if(result.commonTreatment && result.commonTreatment.content){
+      //   ++num
+      //   ybzlFun(result.commonTreatment.content)//一般治疗
+      // }
+      // if(result.treatment && result.treatment.length>0){
+      //   ++num
+      //   cyywFun(result.treatment)//常用药物
+      // }
+      // if(num == 0){
+      //   $(".conditionHintZhiliaoNull").css("display","block")
+      // }
+    }
+  })
+}
+getConf();
+pushInfo();
+getTreatment();
+// Promise.all([getConf(),pushInfo(),getTreatment()]).then(([res1, res2, res3]) =>{
+//   console.log('asddddd',res1)
+// })
+
 
-//   post(config.pushInner,Object.assign({featureType: '1,4,5,6,7,22'},msg)).then((res)=>{
-//     var data = res.data
-//     if(data.code == 0){
-//       var result = data.data;
-//       if(result.medicalIndications && result.medicalIndications.length>0){//病情提示
-//         window.pushMessage = result.medicalIndications;//计算的需要的相关数据
-//         bqtsFun(result.medicalIndications)
-//       }
-//       if(result.dis){
-//         var proB = result.dis['可能诊断'] || []//可能
-//         var proY = result.dis['确诊'] || []//确诊
-//         var proWaring = result.dis['警惕'] || []
-//         yszdFun(proY)//疑似
-//         knzdFun(proB)//可能
-//         jtFun(proWaring)//警惕
-//         if(proY.length == 0){
-//           $(".conditionHintMay").css("display","none")
-//         }else{
-//           $(".conditionHintMayNull").css("display","none")
-//         }
-//       }
-//       if(result.symptom && result.symptom.length > 0){//推荐问诊症状
-//         $(".conditionHintWzNull").css("display","none")
-//         tjwzFun(result.symptom)
-//       }
-//       if(result.vital && result.vital.length > 0){//体格检查
-//         $(".conditionHintTgNull").css("display","none")
-//         tjtgFun(result.vital)
-//       }
-//       if(result.pacs.length > 0 && result.lab.length > 0){
-//         $(".conditionHintAssistLis").css({
-//           "border-top":"1px solid #D1D1D1"
-//         })
-//       }
-//       if(result.lab && result.lab.length > 0){//化验
-//         $(".conditionHintInspectNull").css("display","none")
-//         $(".conditionHintAssistNull").css("display","none")
-//         tjhyFun(result.lab)
-//       }
-//       if(result.pacs && result.pacs.length > 0){//辅检
-//         $(".conditionHintInspectNull").css("display","none")
-//         $(".conditionHintAssistNull").css("display","none")
-//         tjfjFun(result.pacs)
-//       }
-//     }
-//   })
+$(".disclaimerInfo").on("click", function(){
+  openNewWin("disclaimer.html")
+})

+ 284 - 0
src/js/indexHorizontalDom.js

@@ -0,0 +1,284 @@
+const $ = require("jquery");
+const { openNewWin } = require('./promise.js');
+const { bindTipsEvent } = require('./popupEdit.js');
+
+function renderRecommendInfo(className,title,data, hasInfo, type, position) {
+    const str = `<div class="recommendInfoWrapper ${className}">
+                    <h4><i></i>${title}</h4>
+                    <div class="recommendInfoBox">
+                        <div class="clearfix recommendInfoItemBox ${className + 'box'}">
+                        </div>
+                    </div>
+                </div>`
+    $('.recommendWrap').append(str)
+    let childrenNodeStr = ''
+    if(hasInfo) {
+        for (let i = 0; i < data.length; i++) {
+            childrenNodeStr += `<span class="recommendInfoItem">
+                                    ${data[i].name}
+                                    <span  title="点击名称可看详细说明" class="infoMsg" data-name=${data[i].name}></span>
+                                </span>`
+        }
+    } else {
+        for (let i = 0; i < data.length; i++) {
+            childrenNodeStr += `<span class="recommendInfoItem" data-name="${data[i].name}">
+                                    ${data[i].name}
+                                </span>`
+        }
+    }
+    
+    $('.'+className + 'box').append(childrenNodeStr)
+    $('.'+className + 'box' +' .infoMsg').on('click', function(){
+        const infoMsgName = $(this).attr('data-name')
+        openNewWin(`information.html?type=${type}&position=${position}&name=${infoMsgName}`)
+    })
+    slideToggle($("."+className+"box"))
+}
+
+function renderMultRecommendInfo(className,title,data, hasInfo, type, position) {
+    const str = `<div class="recommendInfoWrapper ${className}">
+                    <h4><i></i>${title}</h4>
+                    <div class="recommendInfoBox ${className + 'box'}"></div>
+                </div>`
+    $('.recommendWrap').append(str)
+    
+    for(let i = 0; i < data.length; i++) {
+        let childrenNodeBoxStr  = `<div class="labAndPacsBox ${data[i].className} clearfix"> </div>`
+        let childrenNodeStr =  `<span class="labAndPacsTitle">${data[i].title}<i></i></span>`
+        for(let j = 0; j < data[i].data.length; j++) {
+            childrenNodeStr += `<span>${data[i].data[j].name}</span>`
+        }
+        $('.'+className + 'box').append(childrenNodeBoxStr)
+        $('.'+data[i].className).append(childrenNodeStr)
+        slideToggle($("."+data[i].className))
+    }
+
+}
+
+function renderTreat(className,title, data) {
+    console.log('renderTreat')
+    const str = `<div class="recommendInfoWrapper ${className}">
+                    <h4><i></i>${title}</h4>
+                    <div class="recommendInfoBox clearfix ${className + 'box'}"></div>
+                </div>`
+    $('.recommendWrap').append(str)
+    if(data.commonTreatment&&data.commonTreatment.content) {
+        renderTreatText('commonTreatment', '一般治疗', data.commonTreatment.content, className+'box')
+    }
+    renderTreatDrug('drugTreatment', '常用药物治疗', data.treatment, className+'box')
+}
+
+function renderTreatText(className,title,data, parentNode) {
+    const childrenNodeBoxStr = `
+        <div class = "treatItemBox ${className + 'box'}">
+            <p class="treatItemTitle">${title}</p>
+            <p class="${className + 'Info'} clearfix"></p>
+        </div>
+    `
+    $('.' + parentNode).append(childrenNodeBoxStr)
+    $('.' + className+'Info').html(data)
+    var commonTreatHeight = $(".commonTreatmentInfo").height()
+    if(commonTreatHeight > 75){
+        $(".commonTreatmentInfo").addClass('commonTreatmentInfoLimit').append('<span class="slideDown">更多 <i></i></span>')
+    }
+    $(".treatItemBox").on('click',".slideDown",function(){
+        $(this).parents(".commonTreatmentInfo").removeClass("commonTreatmentInfoLimit").append('<span class="slideup">收起 <i></i></span>')
+        $(this).remove()
+    })
+    $(".treatItemBox").on('click',".slideup",function(){
+        $(this).parents(".commonTreatmentInfo").addClass("commonTreatmentInfoLimit").append('<span class="slideDown">更多 <i></i></span>')
+        $(this).remove()
+    })
+}
+function renderTreatDrug(className,title,data, parentNode) {
+    const childrenNodeBoxStr = `
+        <div class = "treatItemBox ${className + 'box'}">
+            <p class="treatItemTitle">${title}</p>
+            <p class="${className + 'Info'}"></p>
+        </div>
+    `
+    $('.' + parentNode).append(childrenNodeBoxStr)
+    for(let i = 0; i < data.length; i++) {
+        let childrenNodeStr = `<p class="drugTreatmentInfoItemBox">
+            ${i+1}.${data[i].bigdrugsName}(${data[i].subdrugsName}):`
+        for (let j = 0; j < data[i].medicitionsList.length; j++) {
+            childrenNodeStr += `<span class="durgNameBox">${data[i].medicitionsList[j].medicitionName}`
+            if(data[i].medicitionsList[j].drugsForbidden == '1') {
+                childrenNodeStr += `<span>慎用</span>`
+            } else if(data[i].medicitionsList[j].drugsForbidden == '2') {
+                childrenNodeStr += `<span>禁用</span>`
+            }
+            childrenNodeStr += `<span  title="点击名称可看详细说明" class="infoMsg" data-name=${data[i].medicitionsList[j].medicitionName}></span>,</span></span>`
+            childrenNodeStr += `使用率${data[i].medicitionsList[j].rate}`
+            if(j === data[i].medicitionsList.length-1) {
+                childrenNodeStr += ';'
+            } else {
+                childrenNodeStr += ','
+            }
+        }
+        childrenNodeStr += ` </p>`
+        $('.' + className+'Info').append(childrenNodeStr)
+    }
+    $('.' + className+'Info'+ ' .infoMsg').on('click', function(){
+        const infoMsgName = $(this).attr('data-name')
+        openNewWin(`information.html?type=8&position=5&name=${infoMsgName}`)
+    })
+    var treatList = $(".drugTreatmentInfo").find(".drugTreatmentInfoItemBox")
+    for(var h = 0;h < treatList.length;h++){ 
+        if($(treatList[h]).height() > 25){
+        $(treatList[h]).addClass('recommendInfoItemBoxLimit').append('<span class="slideDown">更多 <i></i></span>')
+        }
+        $(".drugTreatmentInfo").on('click',".slideDown",function(){
+        $(this).parents(".drugTreatmentInfoItemBox ").removeClass("recommendInfoItemBoxLimit").append('<span class="slideup">收起 <i></i></span>')
+        $(this).remove()
+        })
+        $(".drugTreatmentInfo").on('click',".slideup",function(){
+        $(this).parents(".drugTreatmentInfoItemBox ").addClass("recommendInfoItemBoxLimit").append('<span class="slideDown">更多 <i></i></span>')
+        $(this).remove()
+        })
+    }
+}
+
+function renderRecommendConditTips(className,title,data) {
+    const str = `<div class="recommendInfoWrapper ${className}">
+                    <h4><i></i>${title}</h4>
+                    <div class="recommendInfoBox  ${className + 'box'}"></div>
+                </div>`
+    $('.recommendWrap').append(str)
+   
+    for(var k = 0;k < data.length;k++){
+        var tmpBq = data[k]
+        var tmpBqStr = '<p class="mayIllness">患者可能有 <span>'+tmpBq.name+'<span title="点击该名称可看详细说明" class="infoMsg"></span></span> :</p>'
+        var tmpBqStr = `<p class="mayIllness">
+                            患者可能有 <span class="diagNameBox">${tmpBq.name}
+                                <span title="点击该名称可看详细说明" class="infoMsg" data-name=${tmpBq.name}></span>
+                            </span> :
+                        </p>`
+        var tmpBqDetailStr = ''
+        for(var m = 0;m < tmpBq.details.length;m++){
+          var tmpBqDetail = tmpBq.details[m]
+          if(tmpBqDetail.type == 1){
+            tmpBqDetailStr+=`<span data-url=scale.html?featureType=21&sex=${msg.sex}&lis=${JSON.stringify(msg.lis)}&diag=${msg.diag}&scaleName=${tmpBqDetail.content.name}&symptom=${msg.symptom}&other=${msg.other}&pacs=${msg.pacs}&vital=${msg.vital}&age=${msg.age}&scaleId=${tmpBqDetail.content.id} class="illnessTable">${tmpBqDetail.content.name}</span>`
+          }
+          if(tmpBqDetail.type == 2){
+            var deepDetailName = `<div class="modalTitle">${tmpBqDetail.content.name}<i class="closeModal"></i></div>`
+            var deepDetailStr = ''
+            var deepDetailResultStr = ''
+            for(var n = 0;n < tmpBqDetail.content.details.length;n++){
+              var deepDetail = tmpBqDetail.content.details[n]
+              if(deepDetail.controlType == 2){//0-radio,1-checkbox,2-text,3-dropdownlist
+                deepDetailStr+=`<li class="radioCheck"><span class="modalMaintltle">请输入${deepDetail.name}: </span><input type="text" placeholder="请输入" value=${deepDetail.value}><i class="uint">${deepDetail.uint}</i></li>`
+              }
+              if(deepDetail.controlType == 0){
+                let tooDeepDetailStr = ''
+                for(var f = 0;f<deepDetail.details.length;f++){
+                  var tooDeepDetail = deepDetail.details[f]
+                  if(deepDetail.name == '性别'){
+                    tooDeepDetailStr+='<li class="radioChecks '+(tooDeepDetail.state == 1?"radioCheckSec":"")+'" data-select="'+(tooDeepDetail.state == 1?"select":"")+'"><i></i><span>'+tooDeepDetail.detailName+'</span></li>'
+                  }else{
+                    tooDeepDetailStr+='<li class="radioChecks"><i></i><span>'+tooDeepDetail.detailName+'</span>'+(tooDeepDetail.state == 1?"<a>(智能推荐)</a>":"")+'</li>'
+                  }
+                }
+                
+                
+                deepDetailStr+=`<li class="radioCheck"><span class="modalMaintltle">${deepDetail.name}: </span>
+                                <ul class="clearfix caculateLis">
+                                    ${tooDeepDetailStr}
+                                </ul>
+                            </li>`
+                  
+              }
+            }
+            for(var v = 0;v < tmpBqDetail.content.result.length;v++){
+              deepDetailResultStr+='<p class="result"><span class="calculateName">'+tmpBqDetail.content.result[v].name+':</span><span class="calculateResult"></span></p>'
+            }
+            tmpBqDetailStr+=`<div class="mayResult">
+                计算公式结果:
+                <span class="mayResultSelect" data-num="${k}">
+                    <span class="makesureResult">请选择</span>
+                    <span class="sanjiao"></span>
+                    <div class="popupModal">
+                        ${deepDetailName}
+                        <div class="modalMainTwo">
+                            <ul class="clearfix">
+                                ${deepDetailStr}
+                            </ul>
+                            <div class="calculate" data-num="${k}">计算</div>
+                            <p class="calculateError">请填写计算公式内容</p>
+                            <div class="resultLis">
+                                ${deepDetailResultStr}
+                            </div>
+                        </div>
+                        <div class="btnWrap clearfix">
+                            <div class="sureScore" data-type="2">关闭</div>
+                        </div>
+                    </div>
+                </span>
+            </div>`
+            
+          }
+          if(tmpBqDetail.type == 3){
+            var deepDetailName = '<span class="modalMaintltle">'+tmpBqDetail.content.name+': </span>'
+            var deepDetailStr = ''
+            for(var n = 0;n < tmpBqDetail.content.details.length;n++){
+              var deepDetail = tmpBqDetail.content.details[n]
+              deepDetailStr+='<li class="radioChecks"><i></i><span>'+deepDetail.detailName+'</span>'+(deepDetail.state == 1?"<a>(智能推荐)</a>":"")+'</li>'
+            }
+
+              tmpBqDetailStr+=`<div class="mayResult">
+                可能结果:
+                <span class="mayResultSelect" data-num="${k}"><span class="makesureResult">请选择</span><i class="sanjiao"></i>
+                    <div class="popupModal">
+                    <div class="modalTitle">
+                        结果选择<i class="closeModal"></i>
+                    </div>
+                    <div class="modalMainOne">
+                        ${deepDetailName}
+                        <ul class="clearfix">
+                            ${deepDetailStr}
+                        </ul>
+                    </div>
+                    <div class="btnWrap clearfix">
+                        <div class="sureScore" data-type="3" data-num="${k}">确定</div>
+                    </div>
+                </div>
+                </span>
+            </div>`
+          }
+        }
+        if(tmpBqStr != '' || tmpBqDetailStr != ''){
+          $(".conditionHintTipsNull").css("display","none")
+        }
+        // $(".conditionHintTips").append('<div class="conditionMain clearfix">'+tmpBqStr+'<div class="alertModal">'+tmpBqDetailStr+'</div></div>')
+        $("."+className+"box").append('<div class="conditionMain clearfix">'+tmpBqStr+'<div class="alertModal">'+tmpBqDetailStr+'</div></div>')
+      }
+      $('.mayIllness .infoMsg').on('click', function(){
+        const infoMsgName = $(this).attr('data-name')
+        openNewWin(`information.html?type=22&position=2&name=${infoMsgName}`)
+      })
+      $('.alertModal .illnessTable').on('click', function(){
+        const infoMsgUrl = $(this).attr('data-url')
+        openNewWin(infoMsgUrl)
+      })
+      bindTipsEvent()
+}
+function slideToggle(domName){//展开收起
+    if(domName.height() > 25){
+      domName.addClass("recommendInfoItemBoxLimit").append('<span class="slideDown">更多 <i></i></span>')
+    }
+    domName.on('click',".slideDown",function(){
+      domName.removeClass("recommendInfoItemBoxLimit").append('<span class="slideup">收起 <i></i></span>')
+      $(this).remove()
+    })
+    domName.on('click',".slideup",function(){
+      domName.addClass("recommendInfoItemBoxLimit").append('<span class="slideDown">更多 <i></i></span>')
+      $(this).remove()
+    })
+  }
+
+module.exports = {
+    renderRecommendInfo,
+    renderMultRecommendInfo,
+    renderTreat,
+    renderRecommendConditTips
+}

+ 55 - 35
src/js/indexVert.js

@@ -1,7 +1,11 @@
 require('./../css/reset.css');
 require('./../css/indexVert.less');
+require('./../css/popup.css');
+// require('./popupEdit.js');
+var Promise = require('./rePromise');
+
 const $ = require("jquery");
-const { post,config,getUrlArgObject } = require('./promise.js');
+const { post,config,getUrlArgObject,openNewWin } = require('./promise.js');
 const { transConf } = require('./util.js');
 const { renderRecommendInfo, renderMultRecommendInfo, renderTreat, renderRecommendConditTips } = require('./indexVertDom.js');
 
@@ -20,24 +24,26 @@ var msg = {
 //   http://localhost:8082/indexVert.html?age=28&diseaseId=280&lisJson=&diagJson=%E6%80%A5%E6%80%A7%E8%83%B0%E8%85%BA%E7%82%8E&pastJson=%E6%97%A0%E5%BF%83%E8%84%8F%E7%97%85&otherJson=%E6%97%A0%E9%AB%98%E8%A1%80%E5%8E%8B&pacsJson=%E8%85%B9%E9%83%A8B%E8%B6%85:%E6%97%A0%E5%BC%82%E5%B8%B8,%20%E6%8A%A5%E5%91%8A%E6%97%A5%E6%9C%9F:2019-05-07&sex=%E7%94%B7&symptomJson=%E6%81%B6%E5%BF%83%E5%91%95%E5%90%90%E8%85%B0%E7%97%9B&vitalJson=%E8%A1%80%E5%8E%8B%E5%B7%A6%E4%B8%8A%E8%82%A213/12mmHg
 window.msg = msg
 window.pushMessage = {}
-post(config.getSysSetInfoDatas,{hospitalCode: msg.hosCode}).then((res)=>{
-    const data = res.data
-    if(data.code == 0){
-        console.log('data', data)
-        let confArr = transConf(data.data)
-        resolve(confArr)
-      
-      
-    }
-})
+function getConf() {
+  return post(config.getSysSetInfoDatas,{hospitalCode: msg.hosCode}).then((res)=>{
+      const data = res.data
+      if(data.code == 0){
+          console.log('data', data)
+          let confArr = transConf(data.data)
+          window.confArr = confArr;
+          resolve(confArr)
+      }
+  })
+}
 
-post(config.pushInner,Object.assign({featureType: '1,4,5,6,7,22'},msg)).then((res)=>{
+function pushInfo() {
+  return post(config.pushInner,Object.assign({featureType: '1,4,5,6,7,22'},msg)).then((res)=>{
     var data = res.data
     if(data.code == 0){
         var result = data.data;
         if(result.medicalIndications && result.medicalIndications.length>0){//病情提示
           window.pushMessage = result.medicalIndications;//计算的需要的相关数据
-          renderRecommendConditTips('ConditTips','病情提示', result.medicalIndications)
+          renderRecommendConditTips('conditTips','病情提示', result.medicalIndications)
         }
         if(result.dis){
             const diagPossible = result.dis['可能诊断'] || []//可能
@@ -61,8 +67,8 @@ post(config.pushInner,Object.assign({featureType: '1,4,5,6,7,22'},msg)).then((re
                     data:  pacsRecommend
               }
             ]
-            renderRecommendInfo('warning', '警惕诊断', diagWaring, true)
-            renderRecommendInfo('diagRecommend', '推荐诊断', diagRecommend, true)
+            renderRecommendInfo('warning', '警惕诊断', diagWaring, true,7,2)
+            renderRecommendInfo('diagRecommend', '推荐诊断', diagRecommend, true,7,2)
             renderRecommendInfo('symptomRecommend', '问诊症状', symptomRecommend, false)
             renderRecommendInfo('physiExamRecommend', '体格检查', physiExamRecommend, false)
             renderMultRecommendInfo('labAndPacsRecommend', '检验检查', labAndPacsRecommend, false)
@@ -71,25 +77,39 @@ post(config.pushInner,Object.assign({featureType: '1,4,5,6,7,22'},msg)).then((re
     
       
     }
-})
+  })
+}
+
+function getTreatment() {
+  post(config.pushTreatment,Object.assign({featureType: '8'},msg)).then((res)=>{
+    var data = res.data
+    if(data.code == 0){
+      var result = data.data;
+      console.log('treatResult', result)
+      renderTreat('treatRecommend','治疗方案',result)
+      // var num = 0;
+      // if(result.commonTreatment && result.commonTreatment.content){
+      //   ++num
+      //   ybzlFun(result.commonTreatment.content)//一般治疗
+      // }
+      // if(result.treatment && result.treatment.length>0){
+      //   ++num
+      //   cyywFun(result.treatment)//常用药物
+      // }
+      // if(num == 0){
+      //   $(".conditionHintZhiliaoNull").css("display","block")
+      // }
+    }
+  })
+}
+getConf();
+pushInfo();
+getTreatment();
+// Promise.all([getConf(),pushInfo(),getTreatment()]).then(([res1, res2, res3]) =>{
+//   console.log('asddddd',res1)
+// })
+
 
-post(config.pushTreatment,Object.assign({featureType: '8'},msg)).then((res)=>{
-  var data = res.data
-  if(data.code == 0){
-    var result = data.data;
-    console.log('treatResult', result)
-    renderTreat('treatRecommend','治疗方案',result)
-    // var num = 0;
-    // if(result.commonTreatment && result.commonTreatment.content){
-    //   ++num
-    //   ybzlFun(result.commonTreatment.content)//一般治疗
-    // }
-    // if(result.treatment && result.treatment.length>0){
-    //   ++num
-    //   cyywFun(result.treatment)//常用药物
-    // }
-    // if(num == 0){
-    //   $(".conditionHintZhiliaoNull").css("display","block")
-    // }
-  }
+$(".disclaimerInfo").on("click", function(){
+  openNewWin("disclaimer.html")
 })

+ 135 - 63
src/js/indexVertDom.js

@@ -1,20 +1,22 @@
-const $ = require("jquery")
-const infoMsgImg = require('./../images/msg1.png')
-const infoMsgImgOn = require('./../images/msg2.png')
+const $ = require("jquery");
+const { openNewWin } = require('./promise.js');
+const { bindTipsEvent } = require('./popupEdit.js');
 
 function renderRecommendInfo(className,title,data, hasInfo, type, position) {
-    console.log('title:', title)
     const str = `<div class="recommendInfoWrapper ${className}">
                     <h4><i></i>${title}</h4>
-                    <div class="recommendInfoBox clearfix ${className + 'box'}"></div>
+                    <div class="recommendInfoBox">
+                        <div class="clearfix recommendInfoItemBox ${className + 'box'}">
+                        </div>
+                    </div>
                 </div>`
     $('.recommendWrap').append(str)
     let childrenNodeStr = ''
     if(hasInfo) {
         for (let i = 0; i < data.length; i++) {
-            childrenNodeStr += `<span class="recommendInfoItem" data-name="${data[i].name}">
+            childrenNodeStr += `<span class="recommendInfoItem">
                                     ${data[i].name}
-                                    <span  title="点击名称可看详细说明" class="infoMsg"></span>
+                                    <span  title="点击名称可看详细说明" class="infoMsg" data-name=${data[i].name}></span>
                                 </span>`
         }
     } else {
@@ -26,11 +28,14 @@ function renderRecommendInfo(className,title,data, hasInfo, type, position) {
     }
     
     $('.'+className + 'box').append(childrenNodeStr)
-
+    $('.'+className + 'box' +' .infoMsg').on('click', function(){
+        const infoMsgName = $(this).attr('data-name')
+        openNewWin(`information.html?type=${type}&position=${position}&name=${infoMsgName}`)
+    })
+    slideToggle($("."+className+"box"))
 }
 
 function renderMultRecommendInfo(className,title,data, hasInfo, type, position) {
-    console.log('title:', title, className)
     const str = `<div class="recommendInfoWrapper ${className}">
                     <h4><i></i>${title}</h4>
                     <div class="recommendInfoBox ${className + 'box'}"></div>
@@ -38,14 +43,14 @@ function renderMultRecommendInfo(className,title,data, hasInfo, type, position)
     $('.recommendWrap').append(str)
     
     for(let i = 0; i < data.length; i++) {
-        let childrenNodeBoxStr  = `<div class="labAndPacsBox ${data[i].className}"> </div>`
-        let childrenNodeStr =  `<span>${data[i].title}</span>`
+        let childrenNodeBoxStr  = `<div class="labAndPacsBox ${data[i].className} clearfix"> </div>`
+        let childrenNodeStr =  `<span class="labAndPacsTitle">${data[i].title}<i></i></span>`
         for(let j = 0; j < data[i].data.length; j++) {
             childrenNodeStr += `<span>${data[i].data[j].name}</span>`
         }
         $('.'+className + 'box').append(childrenNodeBoxStr)
         $('.'+data[i].className).append(childrenNodeStr)
-        
+        slideToggle($("."+data[i].className))
     }
 
 }
@@ -53,7 +58,7 @@ function renderMultRecommendInfo(className,title,data, hasInfo, type, position)
 function renderTreat(className,title, data) {
     console.log('renderTreat')
     const str = `<div class="recommendInfoWrapper ${className}">
-                    <h4><i></i>${title}</h4>
+                    <h4><i></i>${title}(${msg.diag})</h4>
                     <div class="recommendInfoBox clearfix ${className + 'box'}"></div>
                 </div>`
     $('.recommendWrap').append(str)
@@ -64,18 +69,28 @@ function renderTreat(className,title, data) {
 }
 
 function renderTreatText(className,title,data, parentNode) {
-    console.log('renderTreatText')
     const childrenNodeBoxStr = `
         <div class = "treatItemBox ${className + 'box'}">
             <p class="treatItemTitle">${title}</p>
-            <p class="${className + 'Info'}"></p>
+            <p class="${className + 'Info'} clearfix"></p>
         </div>
     `
     $('.' + parentNode).append(childrenNodeBoxStr)
     $('.' + className+'Info').html(data)
+    var commonTreatHeight = $(".commonTreatmentInfo").height()
+    if(commonTreatHeight > 75){
+        $(".commonTreatmentInfo").addClass('commonTreatmentInfoLimit').append('<span class="slideDown">更多 <i></i></span>')
+    }
+    $(".treatItemBox").on('click',".slideDown",function(){
+        $(this).parents(".commonTreatmentInfo").removeClass("commonTreatmentInfoLimit").append('<span class="slideup">收起 <i></i></span>')
+        $(this).remove()
+    })
+    $(".treatItemBox").on('click',".slideup",function(){
+        $(this).parents(".commonTreatmentInfo").addClass("commonTreatmentInfoLimit").append('<span class="slideDown">更多 <i></i></span>')
+        $(this).remove()
+    })
 }
 function renderTreatDrug(className,title,data, parentNode) {
-    console.log('renderTreatDrug')
     const childrenNodeBoxStr = `
         <div class = "treatItemBox ${className + 'box'}">
             <p class="treatItemTitle">${title}</p>
@@ -84,16 +99,16 @@ function renderTreatDrug(className,title,data, parentNode) {
     `
     $('.' + parentNode).append(childrenNodeBoxStr)
     for(let i = 0; i < data.length; i++) {
-        let childrenNodeStr = `<p>
+        let childrenNodeStr = `<p class="drugTreatmentInfoItemBox">
             ${i+1}.${data[i].bigdrugsName}(${data[i].subdrugsName}):`
         for (let j = 0; j < data[i].medicitionsList.length; j++) {
-            childrenNodeStr += `<span>${data[i].medicitionsList[j].medicitionName}</span>`
+            childrenNodeStr += `<span class="durgNameBox">${data[i].medicitionsList[j].medicitionName}`
             if(data[i].medicitionsList[j].drugsForbidden == '1') {
                 childrenNodeStr += `<span>慎用</span>`
             } else if(data[i].medicitionsList[j].drugsForbidden == '2') {
                 childrenNodeStr += `<span>禁用</span>`
             }
-            childrenNodeStr += `<span>说明</span>,</span>`
+            childrenNodeStr += `<span  title="点击名称可看详细说明" class="infoMsg" data-name=${data[i].medicitionsList[j].medicitionName}></span>,</span></span>`
             childrenNodeStr += `使用率${data[i].medicitionsList[j].rate}`
             if(j === data[i].medicitionsList.length-1) {
                 childrenNodeStr += ';'
@@ -104,11 +119,27 @@ function renderTreatDrug(className,title,data, parentNode) {
         childrenNodeStr += ` </p>`
         $('.' + className+'Info').append(childrenNodeStr)
     }
-    
+    $('.' + className+'Info'+ ' .infoMsg').on('click', function(){
+        const infoMsgName = $(this).attr('data-name')
+        openNewWin(`information.html?type=8&position=5&name=${infoMsgName}`)
+    })
+    var treatList = $(".drugTreatmentInfo").find(".drugTreatmentInfoItemBox")
+    for(var h = 0;h < treatList.length;h++){ 
+        if($(treatList[h]).height() > 25){
+        $(treatList[h]).addClass('recommendInfoItemBoxLimit').append('<span class="slideDown">更多 <i></i></span>')
+        }
+        $(".drugTreatmentInfo").on('click',".slideDown",function(){
+        $(this).parents(".drugTreatmentInfoItemBox ").removeClass("recommendInfoItemBoxLimit").append('<span class="slideup">收起 <i></i></span>')
+        $(this).remove()
+        })
+        $(".drugTreatmentInfo").on('click',".slideup",function(){
+        $(this).parents(".drugTreatmentInfoItemBox ").addClass("recommendInfoItemBoxLimit").append('<span class="slideDown">更多 <i></i></span>')
+        $(this).remove()
+        })
+    }
 }
 
 function renderRecommendConditTips(className,title,data) {
-    console.log('renderRecommendConditTips')
     const str = `<div class="recommendInfoWrapper ${className}">
                     <h4><i></i>${title}</h4>
                     <div class="recommendInfoBox  ${className + 'box'}"></div>
@@ -117,21 +148,26 @@ function renderRecommendConditTips(className,title,data) {
    
     for(var k = 0;k < data.length;k++){
         var tmpBq = data[k]
-        var tmpBqStr = '<p class="mayIllness">患者可能有 <span>'+tmpBq.name+'<a target="_blank" title="点击该名称可看详细说明" class="infoMsg" href="information.html?type=22&position=2&name='+tmpBq.name+'"></a></span> :</p>'
+        var tmpBqStr = '<p class="mayIllness">患者可能有 <span>'+tmpBq.name+'<span title="点击该名称可看详细说明" class="infoMsg"></span></span> :</p>'
+        var tmpBqStr = `<p class="mayIllness">
+                            患者可能有 <span class="diagNameBox">${tmpBq.name}
+                                <span title="点击该名称可看详细说明" class="infoMsg" data-name=${tmpBq.name}></span>
+                            </span> :
+                        </p>`
         var tmpBqDetailStr = ''
         for(var m = 0;m < tmpBq.details.length;m++){
           var tmpBqDetail = tmpBq.details[m]
           if(tmpBqDetail.type == 1){
-            tmpBqDetailStr+="<a target='_blank' href='scale.html?featureType=21&sex="+msg.sex+"&lis="+JSON.stringify(msg.lis)+"&diag="+msg.diag+"&scaleName="+tmpBqDetail.content.name+"&symptom="+msg.symptom+"&other="+msg.other+"&pacs="+msg.pacs+"&vital="+msg.vital+"&age="+msg.age+"&scaleId="+tmpBqDetail.content.id+"' class='illnessTable'>"+tmpBqDetail.content.name+"</a>"
+            tmpBqDetailStr+=`<span data-url=scale.html?featureType=21&sex=${msg.sex}&lis=${JSON.stringify(msg.lis)}&diag=${msg.diag}&scaleName=${tmpBqDetail.content.name}&symptom=${msg.symptom}&other=${msg.other}&pacs=${msg.pacs}&vital=${msg.vital}&age=${msg.age}&scaleId=${tmpBqDetail.content.id} class="illnessTable">${tmpBqDetail.content.name}</span>`
           }
           if(tmpBqDetail.type == 2){
-            var deepDetailName = '<div class="modalTitle">'+tmpBqDetail.content.name+'<i class="closeModal"></i></div>'
+            var deepDetailName = `<div class="modalTitle">${tmpBqDetail.content.name}<i class="closeModal"></i></div>`
             var deepDetailStr = ''
             var deepDetailResultStr = ''
             for(var n = 0;n < tmpBqDetail.content.details.length;n++){
               var deepDetail = tmpBqDetail.content.details[n]
               if(deepDetail.controlType == 2){//0-radio,1-checkbox,2-text,3-dropdownlist
-                deepDetailStr+='<li class="radioCheck"><span class="modalMaintltle">请输入'+deepDetail.name+': </span><input type="text" placeholder="请输入" value="'+deepDetail.value+'"><i class="uint">'+deepDetail.uint+'</i></li>'
+                deepDetailStr+=`<li class="radioCheck"><span class="modalMaintltle">请输入${deepDetail.name}: </span><input type="text" placeholder="请输入" value=${deepDetail.value}><i class="uint">${deepDetail.uint}</i></li>`
               }
               if(deepDetail.controlType == 0){
                 let tooDeepDetailStr = ''
@@ -143,34 +179,43 @@ function renderRecommendConditTips(className,title,data) {
                     tooDeepDetailStr+='<li class="radioChecks"><i></i><span>'+tooDeepDetail.detailName+'</span>'+(tooDeepDetail.state == 1?"<a>(智能推荐)</a>":"")+'</li>'
                   }
                 }
-                deepDetailStr+='<li class="radioCheck"><span class="modalMaintltle">'+deepDetail.name+': </span>'+
-                  '<ul class="clearfix caculateLis">'+
-                  tooDeepDetailStr+
-                  '</ul>'+
-                  '</li>'
+                
+                
+                deepDetailStr+=`<li class="radioCheck"><span class="modalMaintltle">${deepDetail.name}: </span>
+                                <ul class="clearfix caculateLis">
+                                    ${tooDeepDetailStr}
+                                </ul>
+                            </li>`
+                  
               }
             }
             for(var v = 0;v < tmpBqDetail.content.result.length;v++){
               deepDetailResultStr+='<p class="result"><span class="calculateName">'+tmpBqDetail.content.result[v].name+':</span><span class="calculateResult"></span></p>'
             }
-            tmpBqDetailStr+='<div class="mayResult">计算公式结果:<span class="mayResultSelect" data-num="'+k+'">'+
-            '<span class="makesureResult">请选择</span>'+
-            '<span class="sanjiao"></span>'+
-            '<div class="popupModal">'+
-            deepDetailName+
-            '<div class="modalMainTwo">'+
-            '<ul class="clearfix">'+
-            deepDetailStr+
-            '</ul>'+
-            '<div class="calculate" data-num="'+k+'">计算</div>'+
-            '<p class="calculateError">请填写计算公式内容</p><div class="resultLis">'+
-            deepDetailResultStr+
-            '</div></div>'+
-            '<div class="btnWrap clearfix">'+
-            '<div class="sureScore" data-type="2">关闭</div>'+
-            '</div>'+
-            '</div>'+
-            '</span></div>'
+            tmpBqDetailStr+=`<div class="mayResult">
+                计算公式结果:
+                <span class="mayResultSelect" data-num="${k}">
+                    <span class="makesureResult">请选择</span>
+                    <span class="sanjiao"></span>
+                    <div class="popupModal">
+                        ${deepDetailName}
+                        <div class="modalMainTwo">
+                            <ul class="clearfix">
+                                ${deepDetailStr}
+                            </ul>
+                            <div class="calculate" data-num="${k}">计算</div>
+                            <p class="calculateError">请填写计算公式内容</p>
+                            <div class="resultLis">
+                                ${deepDetailResultStr}
+                            </div>
+                        </div>
+                        <div class="btnWrap clearfix">
+                            <div class="sureScore" data-type="2">关闭</div>
+                        </div>
+                    </div>
+                </span>
+            </div>`
+            
           }
           if(tmpBqDetail.type == 3){
             var deepDetailName = '<span class="modalMaintltle">'+tmpBqDetail.content.name+': </span>'
@@ -179,30 +224,57 @@ function renderRecommendConditTips(className,title,data) {
               var deepDetail = tmpBqDetail.content.details[n]
               deepDetailStr+='<li class="radioChecks"><i></i><span>'+deepDetail.detailName+'</span>'+(deepDetail.state == 1?"<a>(智能推荐)</a>":"")+'</li>'
             }
-            tmpBqDetailStr+='<div class="mayResult">可能结果:<span class="mayResultSelect" data-num="'+k+'"><span class="makesureResult">请选择</span><i class="sanjiao"></i>'+
-              '<div class="popupModal">'+
-              '<div class="modalTitle">结果选择<i class="closeModal"></i></div>'+
-              '<div class="modalMainOne">'+
-              deepDetailName+
-              '<ul class="clearfix">'+
-              deepDetailStr+
-              '</ul>'+
-              '</div>'+
-              '<div class="btnWrap clearfix">'+
-              '<div class="sureScore" data-type="3" data-num="'+k+'">确定</div>'+
-              '</div>'+
-              '</div>'+
-              '</span></div>'
+
+              tmpBqDetailStr+=`<div class="mayResult">
+                可能结果:
+                <span class="mayResultSelect" data-num="${k}"><span class="makesureResult">请选择</span><i class="sanjiao"></i>
+                    <div class="popupModal">
+                    <div class="modalTitle">
+                        结果选择<i class="closeModal"></i>
+                    </div>
+                    <div class="modalMainOne">
+                        ${deepDetailName}
+                        <ul class="clearfix">
+                            ${deepDetailStr}
+                        </ul>
+                    </div>
+                    <div class="btnWrap clearfix">
+                        <div class="sureScore" data-type="3" data-num="${k}">确定</div>
+                    </div>
+                </div>
+                </span>
+            </div>`
           }
         }
         if(tmpBqStr != '' || tmpBqDetailStr != ''){
           $(".conditionHintTipsNull").css("display","none")
         }
-        console.log('tmpBqStr',tmpBqStr)
         // $(".conditionHintTips").append('<div class="conditionMain clearfix">'+tmpBqStr+'<div class="alertModal">'+tmpBqDetailStr+'</div></div>')
         $("."+className+"box").append('<div class="conditionMain clearfix">'+tmpBqStr+'<div class="alertModal">'+tmpBqDetailStr+'</div></div>')
       }
+      $('.mayIllness .infoMsg').on('click', function(){
+        const infoMsgName = $(this).attr('data-name')
+        openNewWin(`information.html?type=22&position=2&name=${infoMsgName}`)
+      })
+      $('.alertModal .illnessTable').on('click', function(){
+        const infoMsgUrl = $(this).attr('data-url')
+        openNewWin(infoMsgUrl)
+      })
+      bindTipsEvent()
 }
+function slideToggle(domName){//展开收起
+    if(domName.height() > 25){
+      domName.addClass("recommendInfoItemBoxLimit").append('<span class="slideDown">更多 <i></i></span>')
+    }
+    domName.on('click',".slideDown",function(){
+      domName.removeClass("recommendInfoItemBoxLimit").append('<span class="slideup">收起 <i></i></span>')
+      $(this).remove()
+    })
+    domName.on('click',".slideup",function(){
+      domName.addClass("recommendInfoItemBoxLimit").append('<span class="slideDown">更多 <i></i></span>')
+      $(this).remove()
+    })
+  }
 
 module.exports = {
     renderRecommendInfo,

+ 153 - 0
src/js/popupEdit.js

@@ -0,0 +1,153 @@
+const {post,config} = require('./promise.js');
+const $ = require("jquery");
+
+function bindTipsEvent() {
+
+    $(".conditTips").on('click',".radioChecks",function(e){
+        e.stopPropagation()
+        $(this).attr("data-select","select").children("i").css({
+          "background":"url('../images/sex2.png') center center no-repeat"
+        })
+        $(this).siblings().attr("data-select","").children("i").css("background","url('../images/sex1.png') center center no-repeat")
+      })
+      $(".conditTips").on('click',".closeModal",function(e){
+        e.stopPropagation()
+        $(this).parents(".popupModal").css("display","none")
+      })
+      $(".conditTips").on('click',".popupModal",function(e){
+        e.stopPropagation()
+      })
+      
+      $(".conditTips").on('click',".mayResultSelect",function(){
+        console.log('clickpopup')
+        $(".popupModal").css('display',"none")
+        $(this).children(".popupModal").css('display',"block")
+        var that = $(this);
+        var numFlg = $(this).attr("data-num")
+        var tmpMoadlData = window.pushMessage[numFlg]
+        for(var i = 0;i<tmpMoadlData.details.length;i++){
+          var tmpPushMsgDetail = tmpMoadlData.details[i]
+          if(tmpPushMsgDetail.type == 2){
+            for(var m = 0;m < tmpPushMsgDetail.content.details.length;m++){
+              var tmpPushMsgDetailContentVal = tmpPushMsgDetail.content.details[m]
+              if(that.find(".makesureResult").html() != '请选择'){
+                if(tmpPushMsgDetailContentVal.controlType == 0){
+                  var domList = that.find(".caculateLis").children("li")
+                  for(var n =0;n < tmpPushMsgDetailContentVal.details.length;n++){
+                    if(tmpPushMsgDetailContentVal.details[n].state == 1){
+                      domList.eq(n).attr("data-select","select").children("i").css({
+                        "background":"url('../images/sex2.png') center center no-repeat"
+                      })
+                    }
+                    if(tmpPushMsgDetailContentVal.details[n].state == 0){
+                      domList.eq(n).attr("data-select","").children("i").css({
+                        "background":"url('../images/sex1.png') center center no-repeat"
+                      })
+                    }
+                  }
+                }
+                if(tmpPushMsgDetailContentVal.controlType == 2){
+                  var domLis = that.find("input[type=text]").eq(m)
+                  $(domLis).val(tmpPushMsgDetailContentVal.value)
+                }
+              }
+            }
+          }
+          if(tmpPushMsgDetail.type == 3 && that.find(".sureScore").attr("data-type") == 3){
+            for(var a = 0;a < tmpPushMsgDetail.content.details.length;a++){
+              var tmpPushMsgDetailContentValS = tmpPushMsgDetail.content.details[a]
+              var domLi = that.find(".radioChecks")
+              for(var b = 0;b <domLi.length;b++){
+                if(that.find(".makesureResult").html() == tmpPushMsgDetailContentValS.detailName){
+                  domLi.eq(a).attr("data-select","select").children("i").css({
+                    "background":"url('../images/sex2.png') center center no-repeat"
+                  })
+                }else{
+                  domLi.eq(a).attr("data-select","").children("i").css({
+                    "background":"url('../images/sex1.png') center center no-repeat"
+                  })
+                }
+              }
+            }
+          }
+        }
+      })
+      $(".conditTips").on('click',".sureScore",function(e){
+        e.stopPropagation()
+        if($(this).attr("data-type") == 3){
+          var tempVal = $(this).parents(".mayResultSelect").find(".radioChecks[data-select='select'] span").html()
+          tempVal && $(this).parents(".mayResultSelect").find(".makesureResult").html(tempVal)
+        }
+        $(this).parents(".popupModal").css('display',"none")
+      })
+      $(".conditTips").on('click','.calculate',function(e){
+        e.stopPropagation()
+        var that = $(this)
+        var numFlg = that.attr("data-num")
+        var tmpMoadlData = window.pushMessage[numFlg]
+        var paramsJson = {}
+        var resultParams = {}
+        for(var i = 0;i<tmpMoadlData.details.length;i++){
+          var tmpPushMsgDetail = tmpMoadlData.details[i]
+          if(tmpPushMsgDetail.type == 2){
+            var tmpDetailArr = []
+            paramsJson = tmpPushMsgDetail;
+            for(var m = 0;m < tmpPushMsgDetail.content.details.length;m++){
+              var tmpPushMsgDetailContentVal = tmpPushMsgDetail.content.details[m]
+              if(tmpPushMsgDetailContentVal.controlType == 0){
+                var domList = that.parent(".modalMainTwo").find(".caculateLis").children("li")
+                for(var n =0;n < domList.length;n++){
+                  if($(domList[n]).attr("data-select")){
+                    tmpPushMsgDetailContentVal.details[n].state = 1
+                  }else{
+                    tmpPushMsgDetailContentVal.details[n].state = 0
+                  }
+                }
+              }
+              if(tmpPushMsgDetailContentVal.controlType == 2){
+                var domLis = that.parent(".modalMainTwo").children().find("input[type=text]").eq(m)
+                tmpPushMsgDetailContentVal.value = $(domLis).val()
+              }
+              tmpDetailArr.push(tmpPushMsgDetailContentVal)
+            }
+            resultParams.type = paramsJson.type
+            resultParams.data = paramsJson
+          }
+        }
+        for(var s = 0;s < paramsJson.content.details.length;s++){
+          if(paramsJson.content.details[s].controlType == 2 && paramsJson.content.details[s].value == ''){
+            that.parent().find(".calculateError").css("display","block");
+            that.parent().find(".calculateResult").html('');
+            return;
+          }
+        }
+        post(config.calculate,resultParams).then((res)=>{
+          var data = res.data
+          if(data.code == 0){
+            var result = data.data;
+            var tmpName = that.parent().find(".calculateName");
+            var deepDetailResultStr = '';
+            for(var v = 0;v < result.result.length;v++){
+              var name = result.result[v].name
+              var text = result.result[v].text
+              deepDetailResultStr+='<p class="result"><span class="calculateName">'+name+':</span><span class="calculateResult">'+text+'</span></p>'
+            }
+            $('.resultLis').html(deepDetailResultStr)
+            if($(".sureScore").attr("data-type") == 2){
+              var tmpVal = that.parents(".mayResultSelect").find(".calculateResult:last").html()
+              tmpVal && that.parents(".mayResultSelect").find(".makesureResult").html(tmpVal)
+            }
+            that.parent().find(".calculateError").css("display","none")
+          }else{
+            console.log(res)
+            that.parent().find(".calculateError").html(data.msg).css("display","block")
+            that.parent().find(".calculateResult").html('')
+          }
+        })
+      })
+
+}
+
+module.exports = {
+    bindTipsEvent
+}