Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/test' into test

zhouna 5 gadi atpakaļ
vecāks
revīzija
e88407599a

+ 59 - 25
src/css/indexHorizontal.less

@@ -1,27 +1,33 @@
 @import './common.less';
  .push .recommendInfoWrapper {
-    height: 20px;
-    line-height: 20px;
-    overflow: hidden;
-    margin-top: 10px;
+    line-height: 25px;
     h4 {
         float: left;
     }
+    .showTopTitle {
+        float: none;
+    }
 }
-.push .labAndPacsRecommend {
-    height: 50px;
-}
+
 .recommendInfoBox  {
     margin-left: 100px;
     position: relative;
 }
+.showTopInfo{
+    margin-left: 100px;
+}
+.topSmallTitle {
+    position: absolute;
+    left: -60px;
+}
 .recommendWrap {
     height: 250px;
 }
 .labAndPacsWrapper{
-    height: 20px;
-    line-height: 20px;
-    overflow: hidden;
+    line-height: 25px;
+}
+.labAndPacsItemBox {
+    float: left;
 }
 .push {
     margin-top: 10px;
@@ -97,6 +103,8 @@
     display: block;
     width: 20px;
     float: left;
+    position: relative;
+    top: 3px;
 }
 .labAndPacsBox, .treatItemBox {
     position: relative;
@@ -110,7 +118,7 @@
 .slideDown {
     background-color: #fff;
     position: absolute;
-    top: 0px;
+    bottom: 0px;
     right: 0px;
     height: 20px;
     line-height: 20px;
@@ -120,12 +128,11 @@
     img {
         display: inline-block;
         position: relative;
-        top: 2px;
+        top: 0px;
     }
 }
 
 .slideup {
-    background-color: #fff;
     position: absolute;
     float: right;
     top: 0px;
@@ -136,7 +143,7 @@
     img {
         display: inline-block;
         position: relative;
-        top: 2px;
+        top: 0px;
     }
 }
 .itemAllBox{
@@ -149,7 +156,6 @@
     z-index: 2;
     left: 0;
     top: 0;
-    margin: 10px 0;
 }
 .ellipse{
     overflow: hidden;
@@ -157,24 +163,26 @@
     text-overflow: ellipsis;
 }
 .conditTipsbox .conditionMain {
-    height: 20px;
+    height: 25px;
     .mayIllness{
         float: left;
+        position: relative;
+        top: -2px;
     }
 }
 .recommendInfoItem,.diagNameBox {
     .infoMsg,
     .infoMsgOn {
-        top: 4px;
+        top: 2px;
     }
 }
 .infoMsg,
 .infoMsgOn {
-    top: 8px;
+    top: 2px;
 }
 .infoMsg,
 .infoMsgOn {
-    position: absolute;
+    position: relative;
     right: 0px;
     display: none;
     cursor: pointer;
@@ -188,7 +196,7 @@
 .diagNameBox:hover,
 .durgNameBox:hover {
     color: #267FD7;
-
+    padding-right: 0;
     .infoMsg {
         display: inline-block;
         width: 14px;
@@ -212,7 +220,7 @@
     right: 0px;
     color: #267FD7;
     height: 20px;
-    line-height: 20px;
+    line-height: 24px;
     box-shadow: -2px 0px 15px 0px #fff;
     cursor: pointer;
 }
@@ -259,14 +267,18 @@
     overflow: hidden;
 }
 .tipsInfoBox {
-    margin: 10px 0 0 80px;
-    line-height: 30px;
+    margin: 10px 0 0 0px;
+    line-height: 20px;
     height: 180px;
     overflow-y: auto;
     img {
         display: none;
     }
 }
+.diagName {
+    height: 30px;
+    line-height: 30px;
+}
 .drugTreatmentInfoItemBox {
     .ellipse;
     height: 30px;
@@ -279,9 +291,12 @@
     margin-right: 5px;
     background: #e2eaf2;
     border-radius: 4px;
+    height: 22px;
+    line-height: 22px;
+    top: 1px;
 }
 .pacsRecommendwrapper {
-    margin-top: 10px;
+    // margin-top: 10px;
 }
 .labAndPacsItem {
     display: inline-block;
@@ -310,7 +325,7 @@
 }
 .recommendInfoItem {
     position: relative;
-    padding-right: 15px;
+    padding-right: 18px;
 }
 .recommendNull {
     color: #ADADAD;
@@ -375,4 +390,23 @@ color: @grayColor;
     cursor: pointer;
     position: relative;
     margin: 10px 0 0 0;
+}
+.tipsInfoItem{
+    position: relative;
+    // max-height: 60px;
+    overflow: hidden;
+}
+.hasMore:after{
+    content: "..."; 
+    position: absolute; 
+    bottom: 0; 
+    right: 0; 
+    padding-left: 20px;
+    background: -webkit-linear-gradient(left, transparent, #fff 55%);
+    background: -moz-linear-gradient(left, transparent, #fff 55%);
+    background: -o-linear-gradient(left, transparent, #fff 55%);
+    background: linear-gradient(to right, transparent, #fff 55%);
+}
+.boldFont {
+    font-weight: bold;
 }

+ 4 - 0
src/css/indexVert.less

@@ -175,6 +175,7 @@
 }
 
 .labAndPacsBox {
+    position: relative;
     line-height: 25px;
 }
 
@@ -250,6 +251,9 @@
     right: 0px;
     color: @colorBlue;
     cursor: pointer;
+    height: 25px;
+    line-height: 25px;
+    box-shadow: -2px 0px 15px 0px #fff;
 
     i {
         width: 10px;

+ 5 - 1
src/html/information.html

@@ -73,8 +73,12 @@
       background: #fff;
       margin: 0 auto;
       padding: 30px 0 30px 24px;
+   
+    }
+    pre {
+      white-space: pre-wrap;
+      word-wrap: break-word;
     }
-
     .anchors {
       width: 160px;
       position: absolute;

+ 37 - 17
src/js/index.js

@@ -4,6 +4,9 @@ require('./../css/popup.css');
 // require('./popupEdit.js');
 var Promise = require("bluebird");
 
+
+//tipsMode: 提示信息模式  1 为多个提示信息, 2 为单个
+
 const $ = require("jquery");
 const { post,config,getUrlArgObject,openNewWin } = require('./promise.js');
 const { transConf } = require('./util.js');
@@ -11,6 +14,8 @@ const { renderRecommendInfo, renderMultRecommendInfo, renderTreat, renderRecomme
 
 
 let mrId = getUrlArgObject('mrId') 
+const tipsMode = getUrlArgObject('tipsMode') || 1
+
 let msg;
 if(mrId) {
  post(config.getMr,{mrId:mrId}).then((res) => {
@@ -72,7 +77,12 @@ function getTreatment() {
 }
 
 function getTipsInfo() {
-  return post(config.information,{name:getUrlArgObject('tipsName'),type:getUrlArgObject('tipsType'), position: 1})
+  let tipsInfoList =  getUrlArgObject('tipsInfoList')&&JSON.parse(getUrlArgObject('tipsInfoList')) || []
+  if(+tipsMode === 1) {
+    return post(config.informationMore, {conceptIntorduces:tipsInfoList})
+  } else {
+    return post(config.information,{name:getUrlArgObject('tipsName'),type:getUrlArgObject('tipsType'), position: 1})
+  }
 }
 
 
@@ -84,13 +94,20 @@ function getPageInfo() {
     const pushInfo = res2&&res2.data || {}
     const treatInfo = res3&&res3.data || {}
     const tipsInfo = res4&&res4.data || {}
-    const confArr = transConf(configArr)
-    pushResult = pushInfo.data || {};
-    treatResult = treatInfo.data || {}
-    tipsResult = tipsInfo.data || {}
+    const {confArr, showLabsNum, showPacsNum, labsAndPacMode} = transConf(configArr)
+    const pushResult = pushInfo.data || {};
+    const treatResult = treatInfo.data || {}
+    let tipsResult = []
+    if(tipsInfo.data) {
+      if(+tipsMode === 1) {
+          tipsResult = tipsInfo.data
+      } else {
+          tipsResult.push(tipsInfo.data)
+      }
+    }
 
     const diagPossible =  pushResult.dis&&pushResult.dis['可能诊断'] || []//可能
-    const diagDoubt = pushResult.dis&&pushResult.dis['疑似诊断'] || [] // 疑似
+    const diagDoubt = pushResult.dis&&pushResult.dis['拟诊'] || [] // 疑似
     const diagDeter = pushResult.dis&&pushResult.dis['确诊'] || []//确诊
     const diagWaring = pushResult.dis&&pushResult.dis['警惕'] || [] // 推荐警惕诊断
     const symptomRecommend = pushResult.symptom || []  //推荐问诊症状
@@ -103,12 +120,14 @@ function getPageInfo() {
       {
           title: '化验',
           className: 'labRecommend',
-          data:  labRecommend
+          data:  labRecommend,
+          showNum: showLabsNum
       },
       {
           title: '辅检',
           className: 'pacsRecommend',
-          data:  pacsRecommend
+          data:  pacsRecommend,
+          showNum: showPacsNum
       }
     ]
     window.pushMessage = medicalIndications;//计算的需要的相关数据
@@ -117,28 +136,29 @@ function getPageInfo() {
 
       switch(confArr[i].code) {
         case "inquiry_show":  //问诊症状
-          renderRecommendInfo('symptomRecommend', '问诊症状', symptomRecommend, false)
+        symptomRecommend.length > 0 && renderRecommendInfo(confArr[i].showNum,'symptomRecommend', '问诊症状', symptomRecommend, false)
           break; 
         case "health_show": //体格检查
-          renderRecommendInfo('physiExamRecommend', '体格检查', physiExamRecommend, false)
+        physiExamRecommend.length > 0&&  renderRecommendInfo(confArr[i].showNum,'physiExamRecommend', '体格检查', physiExamRecommend, false)
           break;
         case "illness_show": //病情提示
-          renderRecommendConditTips('conditTips','病情提示', medicalIndications || [])
+        medicalIndications.length > 0&& renderRecommendConditTips('conditTips','病情提示', medicalIndications || [])
           break;
         case "vigilant_show": //警惕诊断
-          renderRecommendInfo('warning', '警惕诊断', diagWaring, true,7,2)
+          
+        diagWaring.length > 0&& renderRecommendInfo(confArr[i].showNum,'warning', '警惕诊断', diagWaring, true,7,2)
           break;
         case "lispacs_show": //检验检查
-          renderMultRecommendInfo('labAndPacsRecommend', '检验检查', labAndPacsRecommend, false)
+          (labRecommend.length > 0 || pacsRecommend.length >0) && renderMultRecommendInfo('labAndPacsRecommend', '检验检查', labAndPacsRecommend, false)
           break;
         case "cure_show": //治疗方案
-          renderTreat('treatRecommend','治疗方案',treatResult)
+          JSON.stringify(treatResult)!='{}'&&treatResult.commonTreatment&&treatResult.treatment.length > 0&&renderTreat('treatRecommend','治疗方案',treatResult)
           break;
         case "diagnose_show": //推荐诊断
-          renderRecommendInfo('diagRecommend', '推荐诊断', diagRecommend, true,7,2)
+        diagRecommend.length > 0 && renderRecommendInfo(confArr[i].showNum,'diagRecommend', '推荐诊断', diagRecommend, true,7,2)
           break;
         case "tip_show": //提示信息
-          renderTipsInfo('tipsInfo','提示信息',tipsResult)
+          tipsResult.length > 0 && renderTipsInfo('tipsInfo','提示信息',tipsResult)
           moreInfo()
           break;
         case "knowledge_show": //医学知识
@@ -160,7 +180,7 @@ function getPageInfo() {
 function moreInfo() {
   $('.moreInfo').click(function(){
     const name = $(this).attr('data-name')
-    const type = getUrlArgObject('tipsType')
+    const type = $(this).attr('data-type')
     openNewWin(`information.html?type=${type}&position=0&name=${name}`)
   })
 }

+ 43 - 39
src/js/indexHorizontal.js

@@ -29,6 +29,8 @@ if(is8Ie) {
 
 let mrId = getUrlArgObject('mrId') 
 let showTab = getUrlArgObject('showTab') || '0';
+const tipsMode = getUrlArgObject('tipsMode') || 1
+
 let msg;
 if(mrId) {
  post(config.getMr,{mrId:mrId}).then((res) => {
@@ -57,23 +59,6 @@ if(mrId) {
   getPageInfo();
 }
 
-
-// var msg = {
-//     age: getUrlArgObject('age'),
-//     sex: getUrlArgObject('sex') == '男'?1:(getUrlArgObject('sex') == '女'?2:(getUrlArgObject('sex') == '通用'?3:getUrlArgObject('sex'))),
-//     symptom: getUrlArgObject('symptomJson'),
-//     vital: getUrlArgObject('vitalJson'),
-//     lis: getUrlArgObject('lisJson')? JSON.parse(getUrlArgObject('lisJson')) : [],
-//     pacs: getUrlArgObject('pacsJson'),
-//     diag: getUrlArgObject('diagJson'),
-//     diseaseName: getUrlArgObject('diagJson'),
-//     other: getUrlArgObject('otherJson') + getUrlArgObject('pastJson'),
-//     hosCode:getUrlArgObject('hospitalCode') || '',
-//     plan:getUrlArgObject('plan') || '0',
-// }//推送相关信息
-// //   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,plan:msg.plan})
 }
@@ -88,7 +73,13 @@ function getTreatment() {
 
 
 function getTipsInfo() {
-  return post(config.information,{name:getUrlArgObject('tipsName'),type:getUrlArgObject('tipsType'), position: 1})
+  let tipsInfoList =  getUrlArgObject('tipsInfoList')&&JSON.parse(getUrlArgObject('tipsInfoList')) || []
+  
+  if(+tipsMode === 1) {
+    return post(config.informationMore, {conceptIntorduces:tipsInfoList})
+  } else {
+    return post(config.information,{name:getUrlArgObject('tipsName'),type:getUrlArgObject('tipsType'), position: 1})
+  }
 }
 
 function getPageInfo() {
@@ -96,14 +87,22 @@ function getPageInfo() {
     const configArr = res1&&res1.data&&res1.data.data || []
     const pushInfo = res2.data || {}
     const treatInfo = res3.data || {}
+    const {confArr, showLabsNum, showPacsNum, labsAndPacMode} = transConf(configArr)
     const tipsInfo = res4.data || {}
-    const confArr = transConf(configArr)
-    pushResult = pushInfo.data || {};
-    treatResult = treatInfo.data || {}
-    tipsResult = tipsInfo.data || {}
+    const pushResult = pushInfo.data || {};
+    const treatResult = treatInfo.data || {}
+    let tipsResult = []
+    if(tipsInfo.data) {
+      if(+tipsMode === 1) {
+          tipsResult = tipsInfo.data
+      } else {
+          tipsResult.push(tipsInfo.data)
+      }
+    }
+    
     
     const diagPossible =  pushResult.dis&&pushResult.dis['可能诊断'] || []//可能
-    const diagDoubt = pushResult.dis&&pushResult.dis['疑似诊断'] || [] // 疑似
+    const diagDoubt = pushResult.dis&&pushResult.dis['拟诊'] || [] // 疑似
     const diagDeter = pushResult.dis&&pushResult.dis['确诊'] || []//确诊
     const diagWaring = pushResult.dis&&pushResult.dis['警惕'] || [] // 推荐警惕诊断
     const symptomRecommend = pushResult.symptom || []  //推荐问诊症状
@@ -116,12 +115,14 @@ function getPageInfo() {
       {
           title: '化验',
           className: 'labRecommend',
-          data:  labRecommend
+          data:  labRecommend,
+          showNum: showLabsNum
       },
       {
           title: '辅检',
           className: 'pacsRecommend',
-          data:  pacsRecommend
+          data:  pacsRecommend,
+          showNum: showPacsNum
       }
     ]
     window.pushMessage = medicalIndications;//计算的需要的相关数据
@@ -129,31 +130,35 @@ function getPageInfo() {
     for(let i = 0; i < confArr.length; i++) {
       switch(confArr[i].code) {
         case "inquiry_show":  //问诊症状
-          renderRecommendInfo(symptomImg, 'symptomRecommend', '问诊症状', symptomRecommend, false)
+          symptomRecommend.length > 0 && renderRecommendInfo(confArr[i].showNum, symptomImg, 'symptomRecommend', '问诊症状', symptomRecommend, false)
           break; 
         case "health_show": //体格检查
-          renderRecommendInfo(physiExamImg, 'physiExamRecommend', '体格检查', physiExamRecommend, false)
+          physiExamRecommend.length > 0 && renderRecommendInfo(confArr[i].showNum, physiExamImg, 'physiExamRecommend', '体格检查', physiExamRecommend, false)
           break;
         case "illness_show": //病情提示
-          renderRecommendConditTips(conditTipsImg, 'conditTips','病情提示', medicalIndications || [])
+          medicalIndications.length > 0 && renderRecommendConditTips(conditTipsImg, 'conditTips','病情提示', medicalIndications || [])
           break;
         case "vigilant_show": //警惕诊断
-          renderRecommendInfo(warningImg, 'warning', '警惕诊断', diagWaring, true,7,2)
+          diagWaring.length > 0 && renderRecommendInfo(confArr[i].showNum, warningImg, 'warning', '警惕诊断', diagWaring, true,7,2)
           break;
         case "lispacs_show": //检验检查
-          renderMultRecommendInfo(labAndPacsImg, 'labAndPacsRecommend', '检验检查', labAndPacsRecommend, false)
+          (labRecommend.length > 0 || pacsRecommend.length >0) && renderMultRecommendInfo(labsAndPacMode,labAndPacsImg, 'labAndPacsRecommend', '检验检查', labAndPacsRecommend, false)
           break;
         case "cure_show": //治疗方案
-          tipsNum++;
-          renderTreat(treatImg, 'treatRecommend','治疗方案',treatResult)
+          if(JSON.stringify(treatResult)!='{}'&&treatResult.commonTreatment&&treatResult.treatment.length > 0) {
+            tipsNum++;
+            renderTreat(treatImg, 'treatRecommend','治疗方案',treatResult)
+          }
           break;
         case "diagnose_show": //推荐诊断
-          renderRecommendInfo(diagImg, 'diagRecommend', '推荐诊断', diagRecommend, true,7,2)
+          diagRecommend.length > 0 && renderRecommendInfo(confArr[i].showNum, diagImg, 'diagRecommend', '推荐诊断', diagRecommend, true,7,2)
           break;
         case "tip_show": //提示信息
-          tipsNum++;
-          renderTipsInfo('', 'tipsInfo','提示信息',tipsResult)
-          moreInfo()
+          if(tipsResult.length > 0 ) {
+            tipsNum++;
+            renderTipsInfo('', 'tipsInfo','提示信息',tipsResult)
+            moreInfo()
+          }
           break;
         case "knowledge_show": //医学知识
           tipsNum++;
@@ -187,7 +192,6 @@ function getPageInfo() {
       })
     
     }
-    console.log(tipsNum,showTab)
     if(tipsNum > 1) {
       bindTab();
     }else if(tipsNum == 0){
@@ -200,7 +204,7 @@ function getPageInfo() {
     function moreInfo() {
       $('.moreInfo').click(function(){
         const name = $(this).attr('data-name')
-        const type = getUrlArgObject('tipsType')
+        const type = $(this).attr('data-type')
         openNewWin(`information.html?type=${type}&position=0&name=${name}`)
       })
     }
@@ -240,4 +244,4 @@ $(function(){
     localStorage.setItem('versionTime-v',ver.replace("=new",""));
     openNewWin("version.html");
   });
-});
+ })

+ 84 - 37
src/js/indexHorizontalDom.js

@@ -13,7 +13,9 @@ if(is8Ie) {
 }
 
 //推荐诊断等单种类型的
-function renderRecommendInfo(icon, className,title,data, hasInfo, type, position) {
+function renderRecommendInfo(showNum, icon, className,title,data, hasInfo, type, position) {
+    let showNumCopy = showNum || 5
+    const dataLen = data.length
     const str = `<div class="recommendInfoWrapper ${className} clearfix">
                     <h4><img src=${icon} title="${title}" class="icon">${title}:</h4>
                     <div class="recommendInfoBox">
@@ -22,29 +24,47 @@ function renderRecommendInfo(icon, className,title,data, hasInfo, type, position
                     </div>
                 </div>`
     $('.push').append(str)
-    let childrenNodeStr = ''
+    let dataShort
+    if(showNumCopy&& dataLen > showNumCopy) {
+        dataShort = data.slice(0, showNumCopy)
+    } else {
+        dataShort = data
+    }
+    let childrenNodeStrShort = ''
+    let childrenNodeStrLong = ''
     if(hasInfo) {
+        for (let i = 0; i < dataShort.length; i++) {
+            childrenNodeStrShort += `<span class="recommendInfoItem recommendInfoItemHasInfo">
+                                    ${data[i].name}
+                                    <span  title="点击i图标可查看详细说明" class="infoMsg" data-name=${data[i].name}></span>
+                                </span>`
+        }
         for (let i = 0; i < data.length; i++) {
-            childrenNodeStr += `<span class="recommendInfoItem recommendInfoItemHasInfo">
+            childrenNodeStrLong += `<span class="recommendInfoItem recommendInfoItemHasInfo">
                                     ${data[i].name}
                                     <span  title="点击i图标可查看详细说明" class="infoMsg" data-name=${data[i].name}></span>
                                 </span>`
         }
     } else {
+        for (let i = 0; i < dataShort.length; i++) {
+            childrenNodeStrShort += `<span class="recommendInfoItem" data-name="${data[i].name}">
+                                    ${data[i].name}
+                                </span>`
+        }
         for (let i = 0; i < data.length; i++) {
-            childrenNodeStr += `<span class="recommendInfoItem" data-name="${data[i].name}">
+            childrenNodeStrLong += `<span class="recommendInfoItem" data-name="${data[i].name}">
                                     ${data[i].name}
                                 </span>`
         }
     }
-    if(!childrenNodeStr) {
-        childrenNodeStr = '<span class ="recommendNull">暂无推荐</span>'
+    if(!childrenNodeStrShort) {
+        childrenNodeStrShort = '<span class ="recommendNull">暂无推荐</span>'
     }
-    $('.'+className + 'box').append(childrenNodeStr)
+    $('.'+className + 'box').append(childrenNodeStrShort)
     let childrenNodeStrAll = `<div class="${className+'boxAll'} itemAllBox">
             <h4>${title}:</h4>
             <div class="itemAll">
-                ${childrenNodeStr}
+                ${childrenNodeStrLong}
             </div>
             <span class="slideup"><img src="${collapseImg}"></span>
         </div>`
@@ -58,26 +78,37 @@ function renderRecommendInfo(icon, className,title,data, hasInfo, type, position
         const infoMsgName = $(this).attr('data-name')
         openNewWin(`information.html?type=${type}&position=${position}&name=${infoMsgName}`)
     })
-    slideToggle("."+className+"box")
+    slideToggle("."+className+"box", showNumCopy, dataLen)
+
 }
 
 //化验和辅检等多种类型
-function renderMultRecommendInfo(icon, className,title,data, hasInfo, type, position) {
+function renderMultRecommendInfo(labsAndPacMode,icon, className,title,data, hasInfo, type, position) {
     const str = `<div class="recommendInfoWrapper ${className} clearfix">
-                    <h4><img src=${icon} title="${title}" class="icon">${title}:</h4>
-                    <div class="recommendInfoBox ${className + 'box'}"></div>
+                    <h4 class ="${+labsAndPacMode === 1 ? 'showTopTitle':'showRightTitle'}"><img src=${icon} title="${title}" class="icon">${title}:</h4>
+                    <div class="recommendInfoBox ${className + 'box'} ${+labsAndPacMode === 1 ? 'showTopInfo':'showRightInfo'}"></div>
                 </div>`
     $('.push').append(str)
-    
+    let hanContentNum = 0
     for(let i = 0; i < data.length; i++) {
+        const showNum = data[i].showNum || 5
+        const dataLen = data[i].data.length
         let childrenNodeBoxStr  = `<div class="labAndPacsWrapper ${data[i].className+'wrapper'}">
                 <div class="labAndPacsBox ${data[i].className+'box'} clearfix"> 
                 </div>
             </div>`
-        let childrenNodeStr =  `<span class="labAndPacsTitle">${data[i].title}<i></i></span>`
+        let childrenNodeStr =  `<span class="labAndPacsTitle ${+labsAndPacMode === 1 ? 'topSmallTitle':'rightSmallTitle'}"">${data[i].title}<i></i></span>`
         let childrenNodeItemStrAll =  '' //更多展开框中的字符串
+        let dataShort
+        if(showNum&& dataLen > showNum) {
+            dataShort = data[i].data.slice(0, showNum)
+        } else {
+            dataShort = data[i].data
+        }
+        for(let j = 0; j < dataShort.length; j++) {
+            childrenNodeStr += `<span class="labAndPacsItem">${dataShort[j].name}</span>`
+        }
         for(let j = 0; j < data[i].data.length; j++) {
-            childrenNodeStr += `<span class="labAndPacsItem">${data[i].data[j].name}</span>`
             childrenNodeItemStrAll += `<span class="labAndPacsItem">${data[i].data[j].name}</span>`
         }
         if(data[i].data.length == 0) {
@@ -94,15 +125,15 @@ function renderMultRecommendInfo(icon, className,title,data, hasInfo, type, posi
         </div>`
 
         $('.push').append(childrenNodeStrAll)
-        slideToggle("."+data[i].className+"box")
+        slideToggle("."+data[i].className+"box", showNum, dataLen)
     }
 
 }
 
 function renderTreat(icon, className,title, data) {
-    $('.infoTabBox').append(`<span class="infoTab treatTab"  data-box="${className}">${title}</span>`)
+    $('.infoTabBox').append(`<span class="infoTab treatTab boldFont"  data-box="${className}">${title}</span>`)
     const str = `<div class="informationBox recommendInfoWrapper ${className} clearfix">
-                    <span class="diagName">${msg.diseaseName?msg.diseaseName:''}</span>
+                    <span class="diagName boldFont">${msg.diseaseName?msg.diseaseName:''}</span>
                     <div class="recommendInfoBox clearfix ${className + 'box'}"></div>
                 </div>`
     $('.infomationBox').append(str)
@@ -112,7 +143,7 @@ function renderTreat(icon, className,title, data) {
     renderTreatDrug('drugTreatment', '药物治疗', treatmentList, className+'box')
 }
 function renderKnowledgeInfo(icon, className,title, data) {
-    $('.infoTabBox').append(`<span class="infoTab tipsTab"  data-box="${className}">${title}</span>`)
+    $('.infoTabBox').append(`<span class="infoTab tipsTab boldFont"  data-box="${className}">${title}</span>`)
     const str = `<div class="informationBox staticWin recommendInfoWrapper ${className} clearfix">
                     <p class="diagName">${data}</p>
                 </div>`
@@ -122,7 +153,7 @@ function renderKnowledgeInfo(icon, className,title, data) {
     })
 }
 function renderScaleInfo(icon, className,title, data) {
-    $('.infoTabBox').append(`<span class="infoTab tipsTab"  data-box="${className}">${title}</span>`)
+    $('.infoTabBox').append(`<span class="infoTab tipsTab boldFont"  data-box="${className}">${title}</span>`)
     const str = `<div class="informationBox staticWin recommendInfoWrapper ${className} clearfix">
                     <p class="diagName">${data}</p>
                 </div>`
@@ -225,46 +256,61 @@ function renderTreatDrug(className,title,data, parentNode) {
 }
 
 function renderTipsInfo(icon, className,title,data) {
-  
-    $('.infoTabBox').append(`<span class="infoTab tipsTab" data-box="${className}">${title}</span>`)
+    $('.infoTabBox').append(`<span class="infoTab tipsTab boldFont" data-box="${className}">${title}</span>`)
     let str
-    if(!data.name) {
+    if(data.length === 0) {
         str = `<div class="informationBox tipsInfoWrapper ${className} clearfix">
             <p class="diagName recommendNull">暂无数据</p>
             <div class="tipsInfoBox clearfix ${className + 'box'}"></div>
         </div>`
     } else {
         str = `<div class="informationBox tipsInfoWrapper ${className} clearfix">
-                    <p class="diagName">${data.name} <span class="moreInfo" data-name="${data.name}">详情</span></p>
-                    <p class="tipsTitle">诊断依据:</p>
-                    <div class="tipsInfoBox clearfix ${className + 'box'}"></div>
+                    <div class="tipsInfoBox clearfix ${className + 'box'}">
+                    </div>
                 </div>`
     }
     
     $('.infomationBox').append(str)
-    if(data.name) {
-        renderTipsInfoText('','诊断依据',data.details,className + 'box')
+    for(let i = 0; i < data.length; i++) {
+        renderTipsInfoText('','诊断依据',data[i],className + 'box')
     }
+    // if(data.name) {
+    //     renderTipsInfoText('','诊断依据',data.details,className + 'box')
+    // }
+    if(data.length > 1) {
+        $('.tipsInfoItem').each(function(i, obj){
+            var lineHeight = parseInt($(this).css("line-height"));
+            var height = parseInt($(this).height());
+            if((height / lineHeight) >3 ){
+                $(this).addClass("hasMore")
+                $(this).css("height","60px");    
+            }else{
+                $(this).removeClass("hasMore");
+            }
+        });
+    }
+   
 }
 
 
 function renderTipsInfoText(className,title,data, parentNode) {
-    let childrenNodeBoxStr = ``
-    if(data.length === 0) {
+    let childrenNodeBoxStr = `<p class="diagName boldFont">${data.name} <span class="moreInfo"  data-name="${data.name}" data-type="${data.type}">详情</span></p>`
+    if(data.details.length === 0) {
         childrenNodeBoxStr += `<p class="recommendNull">暂无数据</p>
-                                
                             `
     } else {
-        for(let i = 0; i < data.length; i++) {
-            childrenNodeBoxStr += `<p>${data[i].title}</p>
-                                    ${data[i].content.replace(/{imageUrlPrefix}/g, imageUrlPrefix)}
+        for(let i = 0; i < data.details.length; i++) {
+            childrenNodeBoxStr += `<div class="tipsInfoItem">
+                                        <p class="tipsInfoItemTitle">${data.details[i].title}</p>
+                                        ${data.details[i].content.replace(/{imageUrlPrefix}/g, imageUrlPrefix)}
+                                   </div>
                                 `
         }
     }
    
     $('.' + parentNode).append(childrenNodeBoxStr)
   
-    
+   
 }
 
 function renderRecommendConditTips(icon, className,title,data) {
@@ -337,11 +383,11 @@ function renderRecommendConditTips(icon, className,title,data) {
       })
       bindTipsEvent()
 }
-function slideToggle(className){//展开收起
+function slideToggle(className, showNum, dataLen){//展开收起
     const domName = $(className)
     const domNameBoxAll = $(className+'All')
     setTimeout(() => {
-        if(domName.height() > 20){
+        if(showNum < dataLen){
           domName.append(`<span class="slideDown"><img src="${showImg}"></span>`)
         }
     });
@@ -354,6 +400,7 @@ function slideToggle(className){//展开收起
         $(domNameBoxAll).css('display', 'none')
     })
   }
+
 //打开免责申明
   $(".disclaimer .logo").on("click",function() {
     openNewWin("disclaimer.html");

+ 65 - 26
src/js/indexVertDom.js

@@ -2,7 +2,9 @@ const $ = require("jquery");
 const { openNewWin,imageUrlPrefix } = require('./promise.js');
 const { bindTipsEvent } = require('./popupEdit.js');
 
-function renderRecommendInfo(className,title,data, hasInfo, type, position) {
+function renderRecommendInfo(showNum,className,title,data, hasInfo, type, position) {
+    let showNumCopy = showNum || 5
+    const dataLen = data.length
     const str = `<div class="recommendInfoWrapper ${className}">
                     <h4><i></i>${title}</h4>
                     <div class="recommendInfoBox">
@@ -11,31 +13,51 @@ function renderRecommendInfo(className,title,data, hasInfo, type, position) {
                     </div>
                 </div>`
     $('.recommendWrap').append(str)
-    let childrenNodeStr = ''
+    let dataShort
+    if(showNumCopy&& dataLen > showNumCopy) {
+        dataShort = data.slice(0, showNumCopy)
+    } else {
+        dataShort = data
+    }
+    let childrenNodeStrShort = ''
+    let childrenNodeStrLong = ''
     if(hasInfo) {
+        for (let i = 0; i < dataShort.length; i++) {
+            childrenNodeStrShort += `<span class="recommendInfoItem recommendInfoItemHasInfo">
+                                    ${dataShort[i].name}
+                                    <span  title="点击i图标可查看详细说明" class="infoMsg" data-name=${dataShort[i].name}></span>
+                                </span>`
+        }
         for (let i = 0; i < data.length; i++) {
-            childrenNodeStr += `<span class="recommendInfoItem recommendInfoItemHasInfo">
+            childrenNodeStrLong += `<span class="recommendInfoItem recommendInfoItemHasInfo">
                                     ${data[i].name}
                                     <span  title="点击i图标可查看详细说明" class="infoMsg" data-name=${data[i].name}></span>
                                 </span>`
         }
     } else {
+        for (let i = 0; i < dataShort.length; i++) {
+            childrenNodeStrShort += `<span class="recommendInfoItem" data-name="${dataShort[i].name}">
+                                    ${dataShort[i].name}
+                                </span>`
+        }
         for (let i = 0; i < data.length; i++) {
-            childrenNodeStr += `<span class="recommendInfoItem" data-name="${data[i].name}">
+            childrenNodeStrLong += `<span class="recommendInfoItem" data-name="${data[i].name}">
                                     ${data[i].name}
                                 </span>`
         }
     }
-    if(!childrenNodeStr) {
-        childrenNodeStr='<span class="recommendNull">暂无推荐</span>'
+    if(!childrenNodeStrShort) {
+        childrenNodeStrShort='<span class="recommendNull">暂无推荐</span>'
     }
     
-    $('.'+className + 'box').append(childrenNodeStr)
+    $('.'+className + 'box').append(childrenNodeStrShort)
     $('.'+className + 'box' +' .infoMsg').on('click', function(){
         const infoMsgName = $(this).attr('data-name')
         openNewWin(`information.html?type=${type}&position=${position}&name=${infoMsgName}`)
     })
-    slideToggle($("."+className+"box"))
+    if(dataLen > showNumCopy) {
+        slideToggle($("."+className+"box"), childrenNodeStrShort,childrenNodeStrLong)
+    }
 }
 
 function renderMultRecommendInfo(className,title,data, hasInfo, type, position) {
@@ -44,18 +66,33 @@ function renderMultRecommendInfo(className,title,data, hasInfo, type, position)
                     <div class="recommendInfoBox ${className + 'box'}"></div>
                 </div>`
     $('.recommendWrap').append(str)
+    
     for(let i = 0; i < data.length; i++) {
+        const showNum = data[i].showNum || 5
+        const dataLen = data[i].data.length
         let childrenNodeBoxStr  = `<div class="labAndPacsBox ${data[i].className} clearfix"> </div>`
-        let childrenNodeStr =  `<span class="labAndPacsTitle">${data[i].title}<i></i></span>`
+        let childrenNodeStrShort =  `<span class="labAndPacsTitle">${data[i].title}<i></i></span>`
+        let childrenNodeStrLong =  `<span class="labAndPacsTitle">${data[i].title}<i></i></span>`
+        let dataShort
+        if(showNum&& dataLen > showNum) {
+            dataShort = data[i].data.slice(0, showNum)
+        } else {
+            dataShort = data[i].data
+        }
+        for(let j = 0; j < dataShort.length; j++) {
+            childrenNodeStrShort += `<span class="labAndPacsItem">${dataShort[j].name}</span>`
+        }
         for(let j = 0; j < data[i].data.length; j++) {
-            childrenNodeStr += `<span class="labAndPacsItem">${data[i].data[j].name}</span>`
+            childrenNodeStrLong += `<span class="labAndPacsItem">${data[i].data[j].name}</span>`
         }
         if(data[i].data.length == 0) {
-            childrenNodeStr +='<span class="recommendNull">暂无推荐</span>'
+            childrenNodeStrShort +='<span class="recommendNull">暂无推荐</span>'
         }
         $('.'+className + 'box').append(childrenNodeBoxStr)
-        $('.'+data[i].className).append(childrenNodeStr)
-        slideToggle($("."+data[i].className))
+        $('.'+data[i].className).append(childrenNodeStrShort)
+        if(dataLen > showNum) {
+            slideToggle($("."+data[i].className), childrenNodeStrShort,childrenNodeStrLong)
+        }
     }
 
 }
@@ -66,8 +103,11 @@ function renderTipsInfo(className,title, data) {
                     <div class="recommendInfoBox clearfix ${className + 'box'}"></div>
                 </div>`
     $('.recommendWrap').append(str)
-    if(data.name) {
-        renderTipsInfoMsg('tipsInfo', data.name, data.details, className+'box')
+    if(data.length > 0) {
+        for(let i = 0; i < data.length; i++) {
+            renderTipsInfoMsg('tipsInfo'+i, data[i], data[i].details, className+'box')
+
+        }
     } else {
         // renderTipsInfoMsg('tipsInfo', data.name, data.details, className+'box')
         $('.' + className+'box').append('<p class="TipsInfoNull">暂无数据</p>')
@@ -98,10 +138,10 @@ function renderScaleInfo(className,title, data) {
     })
 }
 
-function renderTipsInfoMsg(className,title,data, parentNode) {
+function renderTipsInfoMsg(className,item,data, parentNode) {
     const childrenNodeBoxStr = `
         <div class = "treatItemBox ${className + 'box'}">
-            <p class="treatItemTitle">${title} <span class="moreInfo" data-name="${title}">详情</span></p>
+            <p class="treatItemTitle">${item.name} <span class="moreInfo" data-name="${item.name}" data-type="${item.type}"}>详情</span></p>
             <p class="${className + 'Info'} clearfix"></p>
         </div>
     `
@@ -117,7 +157,6 @@ function renderTipsInfoMsg(className,title,data, parentNode) {
                         `
         }
     }
-    
     $('.' + className+'Info').html(dataStr)
 }
 
@@ -371,17 +410,17 @@ function renderRecommendConditTips(className,title,data) {
       })
       bindTipsEvent()
 }
-function slideToggle(domName){//展开收起
-    if(domName.height() > 25){
-      domName.addClass("recommendInfoItemBoxLimit").append('<span class="slideDown">更多 <i></i></span>')
-    }
+function slideToggle(domName,childrenNodeStrShort,childrenNodeStrLong){//展开收起
+    domName.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.html(childrenNodeStrLong)
+        domName.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()
+        domName.html(childrenNodeStrShort)
+        domName.append('<span class="slideDown">更多 <i></i></span>')
+        $(this).remove()
     })
   }
 

+ 9 - 3
src/js/information.js

@@ -13,10 +13,16 @@ function getInfomation() {
     "name": getUrlArgObject('name'),
     "position": getUrlArgObject('position')
   };
+  const uname = getUrlArgObject('uname')
+  const showName = param.name
+  if (param.type == 5 || param.type == 51) {
+    param.type = 12;
+    param.name = uname;
+  }
 
   post(config.information, param).then((res) => {
     const data = res.data.data
-    document.title = data.name
+    document.title = showName
     var str = '';
     var anchors = '';
     var item = '';
@@ -26,7 +32,7 @@ function getInfomation() {
       return;
     }
     var list = data.details;
-    $("h1").html(data.name);
+    $("h1").html(showName);
     $("h1").css({
       "color": "#267FD7",
       "borderBottom": "4px solid  #E9E9E9",
@@ -45,7 +51,7 @@ function getInfomation() {
         str += item.title
       }
       str += '</h2></div>' +
-        '<div>' + item.content + '<div>';
+        '<div><pre>' + item.content + '</pre><div>';
       if (i != list.length - 1 && getUrlArgObject('type') != 8) {
         str += '<div class="line"></div>'
       }

+ 1 - 0
src/js/promise.js

@@ -35,6 +35,7 @@ const config = {
   calculate: '/api/data/calc/calculate',
   disclaimer: '/api/data/disclaimerInformation/getDisclaimerInformations',
   information: '/api/data/conceptDetail/getConceptDetail',
+  informationMore: '/api/data/conceptDetail/getConceptDetails',
   pushScale: '/api/data/push/pushScale',
   pushTreatment: '/api/data/push/pushTreatment',
   getSysSetInfoDatas: '/api/data/sysSet/getSysSetInfoDatas',

+ 3 - 2
src/js/staticSearch.js

@@ -55,7 +55,7 @@ function getKnowledgeData(value) {
             if(knowledgeLis&&knowledgeLis.length>0){
                 for(var i = 0;i<knowledgeLis.length;i++){
                     var tmpPart = knowledgeLis[i]
-                    var tmpLi = `<li data-name='${(tmpPart.type==5 ||tmpPart.type==51)?tmpPart.uniqueName:tmpPart.name}' data-type='1' data-sign='${(tmpPart.type==5 ||tmpPart.type==51)?12:tmpPart.type}'>
+                    var tmpLi = `<li data-name='${tmpPart.name}' data-uname='${tmpPart.uniqueName}' data-type='1' data-sign='${tmpPart.type}'>
                         <p>${tmpPart.name}<i>${tmpPart.libTypeName?('( '+tmpPart.libTypeName+' )'):''}</i></p>
                         ${tmpPart.retrievalName?('<span>• '+tmpPart.retrievalName+'</span>'):''}
                     </li>`
@@ -114,10 +114,11 @@ $(window).on('resize', function(){
 
 $(".staticSearchB ul").on("click","li",function(){
     const infoMsgName = $(this).attr('data-name')
+    const infoMsgUName = $(this).attr('data-uname')
     const type = $(this).attr('data-type')
     const sign = $(this).attr('data-sign')
     if(type == 1){
-        openNewWin(`information.html?type=${sign}&position=0&name=${infoMsgName}`)
+        openNewWin(`information.html?type=${sign}&position=0&name=${infoMsgName}&uname=${infoMsgUName}`)
     }else{
         let msg = JSON.parse(getUrlArgObject("msg"));
         openNewWin(`scale.html?featureType=21&sex=${msg.sex}&lis=${JSON.stringify(msg.lis)}&diag=${msg.diag}&diseaseName=${msg.diseaseName}&scaleName=${infoMsgName}&symptom=${msg.symptom}&other=${msg.other}&pacs=${msg.pacs}&vital=${msg.vital}&age=${msg.age}`)

+ 15 - 3
src/js/util.js

@@ -22,18 +22,30 @@ const transConf = function(arr) {
     //     {hospitalCode: "A001", sysType: 16, name: "警惕诊断", code: "vigilant_no", value: 3}
     // ]
     const reg = /_show$/g;
-    var newArr = arr.filter(item => item.code.match(reg) && item.value === 1 )
+    let newArr = arr.filter(item => item.code.match(reg) && +item.value === 1 )
     for(let i = 0; i < newArr.length; i++) {
         for (let j = 0; j < arr.length; j++) {
             if(arr[j].code.match(/_no$/g) && arr[j].code.replace('_no', ' ') === newArr[i].code.replace('_show', ' ')) {
-                newArr[i].orderNo = arr[j].value
+                newArr[i].orderNo = +arr[j].value
+            }
+            if(arr[j].code.match(/_num$/g) && arr[j].code.replace('_num', ' ') === newArr[i].code.replace('_show', ' ')) {
+                newArr[i].showNum = +arr[j].value
             }
         }
     }
     newArr.sort((a, b) => {
         return a.orderNo - b.orderNo
     })
-    return newArr
+    let showLabsNum, showPacsNum, labsAndPacMode
+    showLabsNum = arr.filter(item => item.code === 'inspeclis_num')[0].value
+    showPacsNum = arr.filter(item => item.code === 'inspecpacs_num')[0].value
+    labsAndPacMode = arr.filter(item => item.code === 'lispacs_place')[0].value
+    return {
+        confArr: newArr,
+        showLabsNum,
+        showPacsNum,
+        labsAndPacMode
+    }
 }
 
 

+ 5 - 1
src/page.js

@@ -20,5 +20,9 @@ var lis = [
   // {name:"血电解质3项",detailName:"钠(Na)",uniqueName:"血电解质3项--钠(Na)",source:"0",maxValue:145,minValue:"",time:"2019-08-30 15:31:49",units:"mmol/L",value:"120",otherValue:""},
   // {name:"尿常规11联",detailName:"尿蛋白(PRO-U)",uniqueName:"尿常规11联--尿蛋白(PRO)",source:"0",maxValue:1,minValue:"",time:"2019-08-30 15:31:49",units:"",value:"300",otherValue:""}
 ]
+var tipsInfo = [
+  {name:"血常规",type:12,position:"1"},
+  {name:"尿常规",type:12,position:"1"},
+  {name:"糖尿病",type:7,position:"1"}]
 
-$(".iframeContainer").attr("src",'indexHorizontal.html?age=22&lisJson='+JSON.stringify(lis)+'&diagJson=糖尿病&pastJson=无心脏病&otherJson=无高血压&pacsJson=腹部B超:无异常, 报告日期:2019-05-07&sex=男&symptomJson=恶心呕吐腰痛&vitalJson=血压左上肢13/12mmHg')
+$(".iframeContainer").attr("src",'indexHorizontal.html?age=22&lisJson='+JSON.stringify(lis)+'&diagJson=糖尿病&tipsInfo='+JSON.stringify(tipsInfo)+'&pastJson=无心脏病&otherJson=无高血压&pacsJson=腹部B超:无异常, 报告日期:2019-05-07&sex=男&symptomJson=恶心呕吐腰痛&vitalJson=血压左上肢13/12mmHg')

+ 1 - 1
webpack.config.js

@@ -4,7 +4,7 @@ const CleanWebpackPlugin = require('clean-webpack-plugin') // 清空打包目录
 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
 const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
 const webpack = require('webpack');
-const proxyHost = "http://192.168.2.241:5050";
+const proxyHost = "http://192.168.2.236:5050";
 module.exports = {
   entry: {
     index: path.resolve(__dirname, 'src/js', 'index.js'),