wyq 4 gadi atpakaļ
vecāks
revīzija
5e0af02d38
100 mainītis faili ar 9489 papildinājumiem un 0 dzēšanām
  1. 580 0
      src/css/cdss.less
  2. 621 0
      src/css/cdssHorizontal.less
  3. 440 0
      src/css/cdssPlan.less
  4. 0 0
      src/css/check.less
  5. 334 0
      src/css/emergency.less
  6. 106 0
      src/css/followUpV.less
  7. 14 0
      src/css/generalTreat.less
  8. 94 0
      src/css/homeStatic.less
  9. 536 0
      src/css/icssIndex.less
  10. 318 0
      src/css/informationOut.less
  11. 294 0
      src/css/searchStaticList.less
  12. 493 0
      src/css/staticInfo.less
  13. 377 0
      src/css/staticInfoOut.less
  14. 68 0
      src/html/caseWriteStandard.html
  15. 151 0
      src/html/cdss.html
  16. 116 0
      src/html/cdssHorizontal.html
  17. 31 0
      src/html/cdssPlan.html
  18. 13 0
      src/html/check.html
  19. 541 0
      src/html/emergency.html
  20. 67 0
      src/html/generalTreat.html
  21. 57 0
      src/html/homeStatic.html
  22. 51 0
      src/html/icssIndex.html
  23. 66 0
      src/html/informationOut.html
  24. 66 0
      src/html/searchStaticList.html
  25. 75 0
      src/html/smartAlert.html
  26. 73 0
      src/html/staticInfo.html
  27. 66 0
      src/html/staticInfoOut.html
  28. 23 0
      src/html/view.html
  29. BIN
      src/images/back.png
  30. BIN
      src/images/collapse2.png
  31. BIN
      src/images/d.png
  32. BIN
      src/images/d1.png
  33. 15 0
      src/images/d1.svg
  34. BIN
      src/images/dn.png
  35. BIN
      src/images/down2.png
  36. BIN
      src/images/empty.png
  37. BIN
      src/images/empty2.png
  38. BIN
      src/images/empty3.png
  39. BIN
      src/images/g1.png
  40. BIN
      src/images/go.png
  41. BIN
      src/images/icon_arrow_down.png
  42. BIN
      src/images/icon_arrow_up.png
  43. BIN
      src/images/icon_case_write.png
  44. BIN
      src/images/icon_checkup_push.png
  45. BIN
      src/images/icon_common_treat_push.png
  46. 13 0
      src/images/icon_current.svg
  47. BIN
      src/images/icon_diag_push.png
  48. BIN
      src/images/icon_diag_push2.png
  49. BIN
      src/images/icon_drug_push.png
  50. BIN
      src/images/icon_info.png
  51. BIN
      src/images/icon_info_on.png
  52. BIN
      src/images/icon_lis_push.png
  53. BIN
      src/images/icon_mark.png
  54. BIN
      src/images/icon_nurse_push.png
  55. BIN
      src/images/icon_operation_push.png
  56. BIN
      src/images/icon_pacs_push.png
  57. BIN
      src/images/icon_scale_push.png
  58. BIN
      src/images/icon_symptom_push.png
  59. BIN
      src/images/icon_waring_white.png
  60. BIN
      src/images/icon_warning.png
  61. BIN
      src/images/jianb.png
  62. BIN
      src/images/left.png
  63. BIN
      src/images/leftpage.png
  64. BIN
      src/images/link.png
  65. BIN
      src/images/loading.gif
  66. BIN
      src/images/new2.png
  67. BIN
      src/images/nolis.png
  68. BIN
      src/images/pic.png
  69. BIN
      src/images/pic1.png
  70. BIN
      src/images/pic2.png
  71. BIN
      src/images/pic3.png
  72. BIN
      src/images/pic4.png
  73. BIN
      src/images/pic5.png
  74. BIN
      src/images/printing.png
  75. BIN
      src/images/printing2.png
  76. BIN
      src/images/rightpage.png
  77. BIN
      src/images/staticBg.png
  78. BIN
      src/images/staticBgS.png
  79. BIN
      src/images/staticLogo.png
  80. BIN
      src/images/t1.png
  81. BIN
      src/images/t2.png
  82. BIN
      src/images/t3.png
  83. BIN
      src/images/treat_icon.png
  84. BIN
      src/images/warn.png
  85. BIN
      src/images/word.png
  86. 14 0
      src/js/caseWriteStandard.js
  87. 807 0
      src/js/cdss.js
  88. 731 0
      src/js/cdssHorizontal.js
  89. 118 0
      src/js/cdssPlan.js
  90. 39 0
      src/js/generalTreat.js
  91. 62 0
      src/js/homeStatic.js
  92. 528 0
      src/js/icssIndex.js
  93. 362 0
      src/js/icssIndexDom.js
  94. 225 0
      src/js/informationOut.js
  95. 5 0
      src/js/jquery-migrate.js
  96. 71 0
      src/js/jquery.PrintArea.js
  97. 228 0
      src/js/searchStaticList.js
  98. 362 0
      src/js/staticInfo.js
  99. 238 0
      src/js/staticInfoOut.js
  100. 0 0
      src/js/tcmiss.js

+ 580 - 0
src/css/cdss.less

@@ -0,0 +1,580 @@
+@import './common.less';
+body{
+    overflow: hidden;
+    position: relative;
+    background: #fff;
+}
+.bodyWrap{
+    position: fixed;
+    width: 100%;
+    height: 100%;
+}
+.iframeWrap {
+    margin: 0 auto 50px;
+    // padding: 0 20px 20px 20px;
+    min-width: 340px;
+    overflow-y: hidden;
+}
+.contentWrapper{
+    position: relative;
+    overflow-y: hidden;
+    // overflow-y: auto;
+}
+.responsibility {
+    text-align: center;
+    font-size: 12px;
+    color: #979797;
+    padding-bottom: 5px;
+    position: fixed;
+    left: 0;
+    width: 100%;
+    bottom: 23px;
+    background-color: #fff;
+    z-index: 1;
+}
+.disclaimer {
+    height: 24px;
+    width: 100%;
+    line-height: 24px;
+    position: fixed;
+    bottom: 0;
+    background-color: #EFF1F6;
+    left: 0;
+    z-index: 98;
+    .version-tip{
+        margin-left: 20px;
+        display: inline-block;
+        font-size: 12px;
+        line-height: 12px;
+        padding-right: 34px;
+        cursor: pointer;
+        &.new-icon{
+            // background: url(../images/new.png) 100% 0px no-repeat;
+            // background-size: 27px;
+        }
+    }
+    .version-txt,.disclaimerInfoTxt{
+        font-size: 12px;
+        color: #777;
+    }
+    .version-txt:hover{
+        border-bottom: 1px solid #000;
+        font-size: 12px;
+    }
+    .logo {
+        // float: left;
+        font-size: 12px;
+        margin-left: 15px;
+        color:#333;
+    }
+    .disclaimerInfo {
+        float: right;
+        font-size: 12px;
+        margin-right: 20px;
+    }
+}
+
+
+
+.disclaimerInfo {
+    cursor: pointer;
+    font-size: 12px;
+}
+.disclaimerInfoTxt:hover{
+    border-bottom: 1px solid #000;
+    font-size: 12px;
+}
+.moreInfo {
+    display: inline-block;
+    width:42px;
+    height:20px;
+    border-radius:4px;
+    border:1px solid #267FD7;
+    line-height:20px;
+    color: #267FD7;
+    text-align: center;
+    margin-left: 20px;
+    cursor: pointer;
+}
+
+
+.staticWin {
+    color: #040428;
+    text-decoration: underline;
+    cursor: pointer;
+}
+.line {
+    width: 100%;
+    height: 1px;
+    background: #D1D1D1;
+}
+
+
+.empty{
+    position: relative;
+    top: 100px;
+}
+.emptyImg{
+    width: 120px;
+    position: relative;
+    left: 50%;
+    margin-left: -60px;
+}
+.emptyImgSearch{
+    width: 100px;
+}
+.emptyTxt{
+    text-align: center;
+    color: #AAA;
+    font-size: 12px;
+    margin-top: 15px;
+}
+// .titleIcon{
+//     width: 16px;
+//     margin: 0px 12px 0 12px;
+//     position: relative;
+//     top: 2px;
+// }
+// .warningbox{
+//     .titleIcon{
+//         width: 16px;
+//         margin: 0px 12px 0 -5px;
+//         position: relative;
+//         top: 2px;
+//     }  
+// }
+.loading{
+    position: fixed;
+    width: 100%;
+    height: 100%;
+    left: 0;
+    top: 0;
+    z-index: 100;
+    display: none;
+}
+.loadingMask{
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    background-color: #fff;
+    opacity: 0.5;
+    filter:alpha(opacity=50);
+    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=50);";
+}
+.loadingImg{
+    width: 40px;
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    margin: -20px 0 0 -20px;
+}
+.emergency {
+    position: fixed;
+    right: 20px;
+    top: 0;
+    .disPub {
+        width: 40px;
+        height: 40px;
+        line-height: 40px;
+        position: absolute;
+        left: 0;
+        text-align: center;
+        border-radius: 50%;
+        color: #fff;
+        background-color: #f93333;
+    }
+    .singleDis {
+        left: -25px;
+        display: none;
+    }
+    .allDis {
+        display: none;
+        z-index: 10;
+        moz-user-select: -moz-none;
+        -moz-user-select: none;
+        -o-user-select: none;
+        -webkit-user-select: none;
+        -ms-user-select: none;
+        user-select: none;
+        position: fixed;
+        top: 0;
+        right: 5px;
+        width: auto;
+        height: 40px;
+        line-height: 40px;
+        border-radius: 22px;
+        border: 2px solid #f93333;
+        background-color: #fff;
+        padding-left: 50px;
+        padding-right: 30px;
+        cursor: pointer;
+        .right {
+            position: absolute;
+            right: 5px;
+            top: 9px;
+        }
+    }
+}
+
+
+// CDSS6.0
+.tab{
+    color: @tabColor;
+    margin-right: 20px;
+    display: inline-block;
+  &:last-child {
+    margin-right: 0;
+  }
+}
+.moduleItem{
+    border: 1px solid #EAEDF1;
+    margin: 0 0 0px 0;
+}
+.longBox,.shortBox{
+    padding: 4px 10px;
+}
+.diag{
+    .longBox,.shortBox{
+        padding: 0 10px;
+    }
+}
+.longBox{
+    display: none;
+}
+.pushItemBox{
+    position: relative;
+    display: inline-block;
+    padding-right: 18px;
+}
+.pushItemName{
+    position: relative;
+    display: inline-block;
+   
+}
+.infoImg{
+    width: 15px;
+    position: absolute;
+    top: 2px;
+    cursor: pointer;
+    display: none;
+    right: 2px;
+}
+.pushItemBox:hover{
+    .infoImg{
+        display: block;
+    }
+}
+.showMore,.showLess{
+    display: inline-block;
+    cursor: pointer;
+    float: right;
+    color: #3B9ED0;
+}
+.moduleTitle{
+    height: 30px;
+    line-height: 30px;
+    font-size: 14px;
+    font-weight: 600;
+    .titleIcon{
+        width: 20px;
+        position: relative;
+        top: 5px;
+        margin: 0 8px;
+    }
+}
+.casewriting .titleIcon{
+    width:14px;
+}
+.iconArrowImg{
+    width: 14px;
+    // position: relative;
+    // top: 2px;
+}
+.moduleBox{
+    padding: 5px 0;
+}
+.moduleBoxTitle{
+    padding: 0 10px;
+    line-height: 27px;
+    font-weight: 600;
+}
+.iconMark{
+    width: 4px;
+    position: absolute;
+    left: 20px;
+    top: 3px;
+}
+.billingPushItem{
+    padding: 0 10px 0 30px;
+    position: relative;
+}
+.moduleItem{
+    border-radius: 4px;
+    .moduleBox{
+        border-bottom: 1px solid #EAEDF1;
+    }
+    .moduleBox:last-child{
+        border-bottom: 0;
+    }
+}
+.tabList{
+    line-height: 39px;
+  margin-bottom: 8px;
+    padding: 0 20px 0 20px;
+    box-sizing: border-box;
+}
+.tab{
+    font-size:14px;
+    color: #777777;
+    position: relative;
+    cursor: pointer;
+}
+.activeTab{
+    color:#3B9ED0;
+    font-weight: 600;
+    font-size:16px;
+    .activeLine{
+        display: inline-block;
+        width: 34%;
+        height: 3px;
+        left: 32%;
+        background: #3B9ED0;
+        position: absolute;
+      bottom: 3px;
+    }
+}
+.moduleWrapper{
+    display: none;
+}
+.recommendWrap{
+    position: absolute;
+    box-sizing: border-box;
+    width: 100%;
+    height: 100%;
+    overflow-y: auto;
+    padding: 0 15px 50px 15px;
+}
+.staticSearchB ul{
+    position: absolute;
+    height: 480px;
+    // width: 100%;
+    /* right: 30px; */
+    left: 0; 
+    overflow: auto;
+}
+.warning{
+    background: #FF8042;
+    color: #fff;
+    padding: 10px 40px;
+}
+.warningTitImg{
+    width: 20px;
+    position: absolute;
+    left: -28px;
+    top: -2px;
+}
+.warningTitle{
+    position: relative;
+    margin-right: 15px;
+}
+.medicalKonwledgeWrap{
+    padding: 0 30px;
+}
+.titleIcon{
+    width: 20px;
+}
+.newIcon{
+    width: 27px;
+    position: relative;
+    top: 2px;
+    display: none;
+}
+.new-icon .newIcon{
+    display: inline-block;
+}
+
+.generalTreatInfo{
+    padding: 0px 10px 0 10px;
+    box-sizing: border-box;
+    position: relative;
+    margin-top: 4px;
+    margin-bottom: 4px;
+    ol li {
+        list-style: decimal;
+        list-style-position:inside;
+    }
+    ul {
+        padding-left: 15px;
+        li {
+            list-style: inside;
+            list-style-position:inside;
+        }
+    }
+}
+.isOverFlow{
+    overflow: hidden;
+    max-height: 38px;
+    p {
+        // height: 20px;
+        // line-height: 20px;
+    }
+}
+.showMoreGeneralTreat{
+    position: absolute;
+    cursor: pointer;
+    color: #3B9ED0;
+    right: 10px;
+    bottom: -1px;
+    background: #fff;
+    width: 44px;
+    box-sizing: border-box;
+    img.more {
+        position: absolute;
+        top: 2px;
+        right: 3px;
+    }
+}
+.showLessGeneralTreat{
+    display: inline-block;
+    cursor: pointer;
+    float: right;
+    color: #3B9ED0;
+}
+.shortStrBox,.longStrBox{
+    position: relative;
+    padding: 4px 0;
+}
+.longStrBox{
+    display: none;
+}
+.showMoreCaseWriting,.showLessCaseWriting{
+    display: inline-block;
+    cursor: pointer;
+    float: right;
+    color: #3B9ED0;
+    img{
+        margin-left: 4px;
+    }
+}
+
+/*******中医********/
+.tcmWarp {
+  box-sizing: border-box;
+  width: 100%;
+  height: 100%;
+  overflow-y: auto;
+}
+.tcm-item {
+  display: none;
+  margin: 0 15px 10px;
+  border: 1px #EEF5FD solid;
+  border-radius: 8px;
+  .title {
+    background: #EEF5FD;
+    height: 30px;
+    line-height: 30px;
+    padding: 0 12px;
+    border-radius: 8px 8px 0px 0px;
+    img {
+      vertical-align: middle;
+      width: 24px;
+      height: 24px;
+    }
+    .h2 {
+      font-weight: bold;
+      font-size: 16px;
+      color: #333;
+    }
+    .go {
+      float: right;
+      margin-right: 10px;
+      font-size: 12px;
+      color: #333;
+      text-decoration: none;
+      cursor: pointer;
+      img {
+        width: 5px;
+        height: 9px;
+        vertical-align: inherit;
+      }
+    }
+  }
+  .infos {
+    padding-top: 10px;
+    li {
+      margin-bottom: 5px;
+      padding-left: 18px;
+      .label {
+        display: inline-block;
+        width: 98px;
+        margin-right: 15px;
+        font-size: 14px;
+        color: #333;
+      }
+      .val {
+        color: #666;
+      }
+    }
+  }
+  .detail {
+    margin: 0 10px;
+    border-top: 1px #E6E6E6 solid;
+    padding-top: 5px;
+    /*max-height: 134px;*/
+    overflow-y: hidden;
+    li {
+      margin: 0 0 6px 10px;
+    }
+    .label {
+      float: left;
+      border-left: 2px solid #267FD7;
+      padding-left: 5px;
+      line-height: 12px;
+      margin-top: 4px;
+    }
+    .val {
+      margin-left: 65px;
+      .name {
+        color: #333;
+      }
+      .desc {
+        color: #666;
+        overflow-x: hidden;
+        white-space: nowrap;
+        width: 100%;
+        text-overflow: ellipsis;
+      }
+
+    }
+  }
+  &.recipe {
+    display: none;
+  }
+  &.knowledge .content {
+    padding: 8px 10px 12px;
+    li {
+      display: inline-block;
+      width: 29%;
+      text-align: center;
+      padding: 0 2%;
+      margin-top: 8px;
+    }
+    .a-link {
+      display: inline-block;
+      width: 100%;
+      border: 1px #3B9ED0 solid;
+      color: #3B9ED0;
+      height: 30px;
+      line-height: 30px;
+      border-radius: 4px;
+      cursor: pointer;
+      background: url("../images/go.png") 95% center no-repeat;
+      text-indent: -8px;
+      text-decoration: none;
+    }
+  }
+}
+.evaluationtitle:hover{
+    text-decoration: underline;
+    color: #0000FF;
+}

+ 621 - 0
src/css/cdssHorizontal.less

@@ -0,0 +1,621 @@
+@import './common.less';
+.bodyWrap{
+    padding: 0 0 0 73px;
+    position: relative;
+    min-height: 244px;
+    border: 1px solid #E6E6E6;
+    min-width: 1127px;
+}
+.versionWrapper{
+    display: inline-block;
+    width: 43px;
+    height: 100%;
+    position: absolute;
+    background:#E6E6E6;
+    color:#9C9C9C;
+    font-size: 12px;
+    left: 0px;
+}
+.versionTop{
+    position: absolute;
+    width: 100%;
+    height: 160px;
+    cursor: pointer;
+}
+.versionBottom{
+    position: absolute;
+    width: 100%;
+    height: 70px;
+    bottom: 0;
+    font-size: 12px;
+    cursor: pointer;
+}
+.pushDisclaimer{
+    display: inline-block;
+    width: 13px;
+    position: absolute;
+    top: 10px;
+    left: 7px;
+    font-size: 12px;
+}
+.logoTxt{
+    display: inline-block;
+    width: 10px;
+    position: absolute;
+    left: 25px;
+    top: 10px;
+    font-size: 12px;
+}
+.versionTxt{
+    display: inline-block;
+    width: 10px;
+    position: absolute;
+    font-size: 12px;
+    left: 7px;
+}
+.tabList{
+    position: absolute;
+    width: 30px;
+    height: 100%;
+    left: 43px;
+    border: 1px solid #3B9ED0;
+    color: #3B9ED0;
+    box-sizing: border-box;
+}
+.tab {
+    display: inline-block;
+    cursor: pointer;
+    width: 100%;
+    border-bottom: 1px solid #3B9ED0;
+}
+.tabName{
+    display:inline-block;
+    width: 16px;
+    position: relative;
+    left: 6px;
+    text-align: center;
+    top: 50%;
+ 
+}
+.activeTab{
+    background: #3B9ED0;
+    color:#fff;
+}
+.contentBox{
+    position: absolute;
+    height: 100%;
+    // overflow-y: auto;
+}
+.moduleWrapper{
+    position: absolute;
+    width: 100%;
+    height: 100%;
+}
+.leftWrapper,.rightWrapper{
+    position: relative;
+    height: 100%;
+    display: inline-block;
+    box-sizing: border-box;
+    overflow-y: auto;
+}
+.leftWrapper{
+    width: 60%;
+    // border-right: 1px solid #E6E6E6;
+    float: left;
+    padding: 0 10px 0 10px;
+    box-sizing: border-box;
+}
+.rightWrapper{
+    width: 40%;
+    padding: 0 20px;
+    display: none;
+}
+.leftBox,.rightBox{
+    position: relative;
+}
+.moduleWrapper{
+    display:none;
+}
+.moduleItem {
+    padding: 0 0 0  110px;
+    box-sizing: border-box;
+    line-height: 27px;
+}
+.moduleItemTitBox{
+    display: inline-block;
+    width: 110px;
+    height: 27px;
+    box-sizing: border-box;
+    position: absolute;
+    left: 0;
+    margin-top: -1px;
+}
+.titleIcon{
+    width: 20px;
+    margin: 0px 5px 0 5px;
+    position: relative;
+    top: 4px;
+}
+.treatIcon{
+    width: 20px;
+    position: relative;
+    top: 6px
+}
+.infoImg{
+    width: 15px;
+}
+.moduleTitle{
+    font-size: 14px;
+    font-weight: 600;
+    color: #157FD5;
+}
+.diag .moduleTitle{
+    color: #FF656B;
+}
+.rightBox .moduleTitle{
+    color: #1E1E1E;
+}
+.warning .moduleTitle{
+    color: #fff;
+    background: #FF7836;
+}
+.pushItemBox{
+    padding-right: 18px;
+    position: relative;
+    display: inline-block;
+}
+.infoImg{
+    width: 15px;
+    position: absolute;
+    top: 7px;
+    cursor: pointer;
+    display: none;
+    right: 2px;
+}
+.pushItemBox:hover{
+    .infoImg{
+        display: block;
+    }
+}
+.searchBox{
+    margin: 30px 0 0 30px;
+}
+.search{
+    color: #3B9ED0;
+    border-bottom: 1px solid #3B9ED0;
+    cursor: pointer;
+}
+.tips-cont{
+    position: relative;
+    background: #FFE8DD;
+  max-height: 81px;
+    overflow: hidden;
+    .moduleTitle{
+        position: absolute;
+        top:0;
+        font-size: 14px;
+        font-weight: 600;
+        color:#FF7836;
+    }
+}
+.moduleItem.crivalue,.moduleItem.rationali,.moduleItem.highrisk,.moduleItem.otherremind{
+    max-height: 81px;
+    overflow-y: hidden;
+    // background: #FFE8DD;
+    position: relative;
+    .moduleTitle{
+        color: #FF7836;
+    }
+    .moduleBox{
+        padding: 0 0 0 80px;
+        position: relative;
+    }
+    .moduleBoxName{
+        position: absolute;
+        left: 0;
+        font-size: 12px;
+        color:#FF7836;
+        display: inline-block;
+        border: 1px solid #FF7836;
+        line-height: 18px;
+        top: 3px;
+        padding: 0 7px;
+        border-radius: 9px;
+    }
+}
+.showMore,.showLess{
+    display: inline-block;
+    cursor: pointer;
+    float: right;
+    line-height: 27px;
+    color: #3B9ED0;
+    position: relative;
+    right: 5px;
+}
+.showMoreNewPage,.showMoreCaseWrite{
+    display: inline-block;
+    cursor: pointer;
+    position: absolute;
+    line-height: 27px;
+    color: #3B9ED0;
+    right: 5px;
+    bottom: 0;
+}
+.longStrBox{
+    position: absolute;
+    width: 100%;
+    left: 0;
+    top: 5px;
+    background: #fff;
+    border: 1px solid #3B9ED0;
+    box-sizing: border-box;
+    border-radius: 1px;
+    padding: 0 0 0 80px;
+    display: none;
+    z-index: 1;
+}
+.longStrBoxTitle{
+    position: absolute;
+    left: 0;
+    display: inline-block;
+    width: 80px;
+    text-align: right;
+    font-weight: 600;
+}
+.diag .moduleBox{
+    padding: 0 0 0 60px;
+    position: relative;
+}
+.diag .moduleBoxName{
+    position: absolute;
+    left: 0;
+    font-size: 12px;
+    color:#1E1E1E;
+    background: #E2EAF2;
+    border: 0px;
+    display: inline-block;
+    line-height: 16px;
+    border-radius: 2px;
+    top: 4px;
+    padding: 2px 5px;
+}
+.rightBoxTitle{
+    height: 36px;
+    line-height: 36px;
+    color: #2FC6C7;
+    border-bottom: 1px solid #E6E6E6;
+    font-weight: 600;
+}
+.versionIcon{
+    width: 12px;
+    position: absolute;
+    left: 25px;
+    bottom: 8px;
+    display: none;
+}
+.new-icon .versionIcon{
+    display: inline-block;
+}
+.iconArrowImg{
+    width: 10px;
+}
+.showLess .iconArrowImg{
+    position: relative;
+    top: -5px;
+}
+
+/*.medicine .titleIcon, .operation .titleIcon, .general .titleIcon, .nurse .titleIcon {
+    width: 13px;
+    position: relative;
+    top: 2px;
+}*/
+.moduleItem.casewriting{
+    padding: 0 0 0 160px;
+    // background: rgba(60,172,228,.17);
+    // filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#333CACE4,endColorstr=#333CACE4);
+    margin-top: 5px;
+    max-height: 81px;
+    overflow-y: hidden;
+    position: relative;
+   
+} 
+.casewriting .moduleItemTitBox{
+    width: 160px;
+}
+.casewriting .moduleTitle{
+    color: #3B9ED0;
+}   
+.casewriting{
+    position: relative;
+    box-sizing: border-box;
+    max-height: 65px;
+    overflow: hidden;
+}
+.isOverFlow{
+    overflow: hidden;
+    max-height: 88px;
+}
+.showMoreGeneralTreat{
+    position: absolute;
+    cursor: pointer;
+    color: #3B9ED0;
+    right: 0px;
+    bottom: 0px;
+    background: #fff;
+}
+.generalTreatInfo{
+    position: relative;
+    padding: 0 40px 0 0;
+    ol li {
+        list-style: decimal;
+        list-style-position:inside;
+        height: 28px;
+        line-height: 28px;
+    }
+    ul {
+        padding-left: 15px;
+        li {
+            list-style: inside;
+            list-style-position:inside;
+            height: 28px;
+            line-height: 28px;
+        }
+    }
+}
+.disName{
+    font-size: 14px;
+    color: #1E1E1E;
+    margin: 10px 0;
+    font-weight: 600;
+}
+.followUpWrap {
+    position: absolute;
+    height: 100%;
+    padding: 0 10px;
+    box-sizing: border-box;
+}
+.operaNameBox {
+    background-color: #EFF1F6;
+    height: 27px;
+    line-height: 27px;
+    color: #777777;
+    padding-left: 10px;
+}
+.operaNameBold {
+    color: #333;
+    font-weight: bold;
+    font-size: 12px;
+}
+.infoWrap {
+    max-height: 217px;
+    overflow: auto;
+    // padding-top: 8px;
+    box-sizing: border-box;
+    .infoBox {
+        padding-left: 10px;
+        padding-top: 8px;
+        box-sizing: border-box;
+        &:hover {
+            background-color: #fff;
+        }
+    }
+    .infoBox p {
+        color: #1E1E1E;
+        font-weight: bold;
+        margin-bottom: 10px;
+    }
+} 
+.readMorePlan {
+    height: 24px;
+    line-height: 20px;
+    padding-left: 10px;
+    a {
+        display: inline-block;
+        cursor: pointer;
+        color: #3B9ED0;
+        text-decoration: underline;
+    }
+}
+.checkFront {
+    position: relative;
+    padding-left: 65px;
+    margin: 5px 0;
+    .lisStrFront,.pacsStrFront {
+        position: absolute;
+        left: 0;
+        top: 0px;
+        width: 38px;
+        height: 18px;
+        line-height: 18px;
+        border-radius: 9px;
+        color: #3B9ED0;
+        border: 1px solid #3B9ED0;
+        text-align: center;
+        font-size: 12px;
+    }
+}
+.circle {
+    display: inline-block;
+    width: 5px;
+    height: 5px;
+    background: #89C5E3;
+    border-radius: 50%;
+    position: absolute;
+    left: -10px;
+    top: 7px;
+}
+.lisBox {
+    // position: absolute;
+    // left: 50px;
+}
+
+/*******中医********/
+.tcm-item {
+    display: none;
+    .title {
+        float: left;
+        height: 30px;
+        padding: 0 12px;
+      margin-top: 9px;
+        border-radius: 8px 8px 0px 0px;
+        img {
+            vertical-align: middle;
+            width: 20px;
+            height: 20px;
+        }
+        .h2 {
+            font-size: 14px;
+            color: #267FD7;
+        }
+        .go {
+            margin-right: 10px;
+            font-size: 14px;
+            color: #409ED1;
+            text-decoration: none;
+            cursor: pointer;
+            img {
+                width: 5px;
+                height: 9px;
+                vertical-align: inherit;
+            }
+        }
+    }
+    .go-btn, .go-push {
+        display: inline-block;
+        width: 80px;
+        height: 25px;
+        line-height: 25px;
+        border-radius: 4px;
+        text-align: center;
+        background: #DEF1FB;
+        text-decoration: none;
+        color: #409ED1;
+    }
+    .content {
+        .infos {
+            .label {
+                color: #333;
+            }
+            .val {
+                color: #666;
+            }
+            li {
+              float: left;
+              overflow: hidden;
+              text-overflow: ellipsis;
+              white-space: nowrap;
+              width: 150px;
+              &:first-child {
+                width: 262px;
+              }
+            }
+        }
+        .infos {
+            height: 24px;
+        }
+        .detail {
+            padding: 0 8px 8px 4px;
+            margin-right: 20px;
+          max-height: 125px;
+            overflow-y: hidden;
+            position: relative;
+            .go-push {
+                cursor: pointer;
+                width: 60px;
+                position: absolute;
+                left: 502px;
+              bottom: 6px;
+            }
+            li {
+                margin-bottom: 6px;
+            }
+            .label {
+                float: left;
+                border-left: 2px solid #267FD7;
+                padding-left: 5px;
+                line-height: 12px;
+                margin-top: 4px;
+            }
+            .val {
+                margin-left: 65px;
+                .name {
+                    color: #333;
+                }
+                .desc {
+                    color: #666;
+                  width: 494px;
+                  overflow: hidden;
+                  text-overflow: ellipsis;
+                  white-space: nowrap;
+                  &:nth-child(2) {
+                    width: 442px;
+                  }
+                }
+
+            }
+        }
+        .a-link {
+            display: inline-block;
+            width: 100%;
+            border: 1px #3B9ED0 solid;
+            color: #3B9ED0;
+            height: 30px;
+            line-height: 30px;
+            border-radius: 4px;
+            cursor: pointer;
+            background: url("../images/go.png") 94% center no-repeat;
+            text-indent: -8px;
+            text-decoration: none;
+        }
+    }
+}
+
+.recipe {
+    .title {
+        width: 124px;
+        margin-top: 0;
+    }
+    .content {
+        margin-left: 146px;
+    }
+}
+
+.idea {
+    .val {
+        border: 1px #3B9ED0 solid;
+        padding: 1px 4px;
+        color: #3B9ED0;
+        border-radius: 2px;
+      cursor: pointer;
+      &.active {
+        background: #3B9ED0;
+        color: #fff;
+      }
+    }
+    .go-text {
+        color: #49A3D2;
+        font-size: 14px;
+        text-decoration: none;
+    }
+  .zhifa {
+    display: inline-block;
+    .val {
+      margin-right: 10px;
+    }
+  }
+    img {
+        vertical-align: middle;
+    }
+}
+
+.knowledge .content p {
+    display: inline-block;
+    width: 88px;
+    margin-top: 8px;
+    margin-right: 10px;
+    text-align: center;
+}
+.evaluationtitle:hover{
+    text-decoration: underline;
+    color: #0000FF;
+}

+ 440 - 0
src/css/cdssPlan.less

@@ -0,0 +1,440 @@
+@import './common.less';
+body{
+    overflow: hidden;
+    position: relative;
+    background: #fff;
+}
+.bodyWrap{
+    position: fixed;
+    width: 100%;
+    height: 100%;
+}
+.operaNameBox {
+    padding: 5px 14px;
+}
+.iframeWrap {
+    margin: 0 auto 50px;
+    // padding: 0 20px 20px 20px;
+    min-width: 340px;
+    overflow-y: hidden;
+}
+.contentWrapper{
+    position: relative;
+    overflow-y: hidden;
+    // overflow-y: auto;
+}
+.responsibility {
+    text-align: center;
+    font-size: 12px;
+    color: #979797;
+    padding-bottom: 5px;
+    position: fixed;
+    left: 0;
+    width: 100%;
+    bottom: 23px;
+    background-color: #fff;
+    z-index: 1;
+}
+.disclaimer {
+    height: 24px;
+    width: 100%;
+    line-height: 24px;
+    position: fixed;
+    bottom: 0;
+    background-color: #EFF1F6;
+    left: 0;
+    z-index: 98;
+    .version-tip{
+        margin-left: 20px;
+        display: inline-block;
+        font-size: 12px;
+        line-height: 12px;
+        padding-right: 34px;
+        cursor: pointer;
+        &.new-icon{
+            // background: url(../images/new.png) 100% 0px no-repeat;
+            // background-size: 27px;
+        }
+    }
+    .version-txt,.disclaimerInfoTxt{
+        font-size: 12px;
+        color: #777;
+    }
+    .version-txt:hover{
+        border-bottom: 1px solid #000;
+        font-size: 12px;
+    }
+    .logo {
+        // float: left;
+        font-size: 12px;
+        margin-left: 15px;
+        color:#333;
+    }
+    .disclaimerInfo {
+        float: right;
+        font-size: 12px;
+        margin-right: 20px;
+    }
+}
+
+
+
+.disclaimerInfo {
+    cursor: pointer;
+    font-size: 12px;
+}
+.disclaimerInfoTxt:hover{
+    border-bottom: 1px solid #000;
+    font-size: 12px;
+}
+.moreInfo {
+    display: inline-block;
+    width:42px;
+    height:20px;
+    border-radius:4px;
+    border:1px solid #267FD7;
+    line-height:20px;
+    color: #267FD7;
+    text-align: center;
+    margin-left: 20px;
+    cursor: pointer;
+}
+
+
+.staticWin {
+    color: #040428;
+    text-decoration: underline;
+    cursor: pointer;
+}
+.line {
+    width: 100%;
+    height: 1px;
+    background: #D1D1D1;
+}
+
+
+.empty{
+    position: relative;
+    top: 100px;
+}
+.emptyImg{
+    width: 120px;
+    position: relative;
+    left: 50%;
+    margin-left: -60px;
+}
+.emptyImgSearch{
+    width: 100px;
+}
+.emptyTxt{
+    text-align: center;
+    color: #AAA;
+    font-size: 12px;
+    margin-top: 15px;
+}
+// .titleIcon{
+//     width: 16px;
+//     margin: 0px 12px 0 12px;
+//     position: relative;
+//     top: 2px;
+// }
+// .warningbox{
+//     .titleIcon{
+//         width: 16px;
+//         margin: 0px 12px 0 -5px;
+//         position: relative;
+//         top: 2px;
+//     }  
+// }
+.loading{
+    position: fixed;
+    width: 100%;
+    height: 100%;
+    left: 0;
+    top: 0;
+    z-index: 100;
+    display: none;
+}
+.loadingMask{
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    background-color: #fff;
+    opacity: 0.5;
+    filter:alpha(opacity=50);
+    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=50);";
+}
+.loadingImg{
+    width: 40px;
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    margin: -20px 0 0 -20px;
+}
+.emergency {
+    position: fixed;
+    right: 20px;
+    top: 0;
+    .disPub {
+        width: 40px;
+        height: 40px;
+        line-height: 40px;
+        position: absolute;
+        left: 0;
+        text-align: center;
+        border-radius: 50%;
+        color: #fff;
+        background-color: #f93333;
+    }
+    .singleDis {
+        left: -25px;
+        display: none;
+    }
+    .allDis {
+        display: none;
+        z-index: 10;
+        moz-user-select: -moz-none;
+        -moz-user-select: none;
+        -o-user-select: none;
+        -webkit-user-select: none;
+        -ms-user-select: none;
+        user-select: none;
+        position: fixed;
+        top: 0;
+        right: 5px;
+        width: auto;
+        height: 40px;
+        line-height: 40px;
+        border-radius: 22px;
+        border: 2px solid #f93333;
+        background-color: #fff;
+        padding-left: 50px;
+        padding-right: 30px;
+        cursor: pointer;
+        .right {
+            position: absolute;
+            right: 5px;
+            top: 9px;
+        }
+    }
+}
+
+
+// CDSS6.0
+.tab{
+    color: @tabColor;
+    margin-right: 20px;
+    display: inline-block;
+}
+.moduleItem{
+    border: 1px solid #EAEDF1;
+    margin: 0 0 0px 0;
+}
+.longBox,.shortBox{
+    padding: 4px 10px;
+}
+.diag{
+    .longBox,.shortBox{
+        padding: 0 10px;
+    }
+}
+.longBox{
+    display: none;
+}
+.pushItemBox{
+    position: relative;
+    display: inline-block;
+    padding-right: 18px;
+}
+.pushItemName{
+    position: relative;
+    display: inline-block;
+   
+}
+.infoImg{
+    width: 15px;
+    position: absolute;
+    top: 2px;
+    cursor: pointer;
+    display: none;
+    right: 2px;
+}
+.pushItemBox:hover{
+    .infoImg{
+        display: block;
+    }
+}
+.showMore,.showLess{
+    display: inline-block;
+    cursor: pointer;
+    float: right;
+    color: #3B9ED0;
+}
+.moduleTitle{
+    height: 30px;
+    line-height: 30px;
+    font-size: 14px;
+    font-weight: 600;
+    .titleIcon{
+        width: 20px;
+        position: relative;
+        top: 5px;
+        margin: 0 8px;
+    }
+}
+.casewriting .titleIcon{
+    width:14px;
+}
+.iconArrowImg{
+    width: 14px;
+}
+.moduleBox{
+    padding: 5px 0;
+}
+.moduleBoxTitle{
+    padding: 0 10px;
+    line-height: 27px;
+    font-weight: 600;
+}
+.iconMark{
+    width: 4px;
+    position: absolute;
+    left: 20px;
+    top: 3px;
+}
+.billingPushItem{
+    padding: 0 10px 0 30px;
+    position: relative;
+}
+.moduleItem{
+    border-radius: 4px;
+    .moduleBox{
+        border-bottom: 1px solid #EAEDF1;
+    }
+    .moduleBox:last-child{
+        border-bottom: 0;
+    }
+}
+.tabList{
+    line-height: 39px;
+    margin-bottom: 4px;
+    padding: 0 20px 0 20px;
+    box-sizing: border-box;
+}
+.tab{
+    font-size:14px;
+    color: #777777;
+    position: relative;
+    cursor: pointer;
+}
+.activeTab{
+    color:#3B9ED0;
+    font-weight: 600;
+    font-size:16px;
+    .activeLine{
+        display: inline-block;
+        width: 34%;
+        height: 3px;
+        left: 32%;
+        background: #3B9ED0;
+        position: absolute;
+        bottom: 0;
+    }
+}
+.recommendWrap{
+    position: absolute;
+    box-sizing: border-box;
+    width: 100%;
+    height: 100%;
+    overflow-y: auto;
+    padding: 0 15px 50px 15px;
+}
+.staticSearchB ul{
+    position: absolute;
+    height: 480px;
+    // width: 100%;
+    /* right: 30px; */
+    left: 0; 
+    overflow: auto;
+}
+.warning{
+    background: #FF8042;
+    color: #fff;
+    padding: 10px 40px;
+}
+.warningTitImg{
+    width: 24px;
+    position: absolute;
+    left: -28px;
+    top: -3px;
+}
+.warningTitle{
+    position: relative;
+    margin-right: 15px;
+}
+.medicalKonwledgeWrap{
+    padding: 0 30px;
+}
+.titleIcon{
+    width: 20px;
+}
+.newIcon{
+    width: 27px;
+    position: relative;
+    top: 2px;
+    display: none;
+}
+.new-icon .newIcon{
+    display: inline-block;
+}
+
+.generalTreatInfo{
+    padding: 4px 10px;
+    box-sizing: border-box;
+    position: relative;
+    ol li {
+        list-style: decimal;
+        list-style-position:inside;
+    }
+    ul {
+        padding-left: 20px;
+        li {
+            list-style-position:inside;
+            list-style: inside;
+        }
+    }
+}
+.isOverFlow{
+    overflow: hidden;
+    max-height: 65px;
+}
+.showMoreGeneralTreat{
+    position: absolute;
+    cursor: pointer;
+    color: #3B9ED0;
+    right: 10px;
+    bottom: 3px;
+    background: #fff;
+}
+.showLessGeneralTreat{
+    display: inline-block;
+    cursor: pointer;
+    float: right;
+    color: #3B9ED0;
+}
+.shortStrBox,.longStrBox{
+    position: relative;
+    padding: 4px 0;
+}
+.longStrBox{
+    display: none;
+}
+.showMoreCaseWriting,.showLessCaseWriting{
+    display: inline-block;
+    cursor: pointer;
+    float: right;
+    color: #3B9ED0;
+    img{
+        margin-left: 4px;
+    }
+}

+ 0 - 0
src/css/check.less


+ 334 - 0
src/css/emergency.less

@@ -0,0 +1,334 @@
+@import './common.less';
+
+.emergencyLis {
+  padding: 20px 15px;
+  .disName{
+    height: 60px;
+    line-height: 60px;
+    position: relative;
+    padding: 0 14px;
+    .name {
+      display: inline-block;
+      font-size: 16px;
+      max-width: 500px;
+      padding-right: 80px;
+      overflow: hidden;
+      text-overflow: ellipsis;
+      white-space: nowrap;
+      float: left;
+      span {
+        font-size: 16px;
+      }
+      img {
+        position: relative;
+        top: 7px;
+        left: 3px;
+      }
+    }
+    .disNameLis {
+      float: right;
+      color: #2a9bd5;
+      font-weight: 700;
+      cursor: pointer;
+    }
+    .disLis {
+      display: none;
+      position: absolute;
+      width: 95%;
+      top: 46px;
+      padding: 10px;
+      box-sizing: border-box;
+      background-color: #fff;
+      box-shadow: 0 10px 20px 0 #989da3;
+      border: 1px solid #dedede;
+      z-index: 1;
+      li {
+        line-height: 18px;
+        float: left;
+        padding: 10px;
+        cursor: pointer;
+      }
+      i {
+        width: 0;
+        height: 0;
+        border-width: 10px;
+        border-style: solid;
+        border-color: transparent transparent #fff transparent;
+        position: absolute;
+        top: -20px;
+        right: 10px;
+      }
+    }
+  }
+  .disFst {
+    border: 1px solid #cfd4dc;
+    border-radius: 5px;
+    overflow: auto;
+    display: block;
+  }
+  .disSec {
+    display: none;
+  }
+  .disTrd {
+    display: none;
+  }
+  .disFou {
+    display: none;
+  }
+  .disFth {
+    display: none;
+  }
+  .step {
+    padding: 10px 14px;
+    border-bottom: 1px solid #cfd4dc;
+    p {
+      color: #606060;
+    }
+    h4 {
+      color: #ff1d1d;
+      font-size: 16px;
+      padding: 10px 0;
+      font-weight: 700;
+      line-height: 20px;
+    }
+  }
+  .inHeart {
+    border: 1px solid #f76601;
+    color: #f76601;
+    margin-right: 10px;
+    padding: 7px 10px;
+    float: right;
+    border-radius: 4px;
+  }
+  .outHeart {
+    border: 1px solid #f76601;
+    color: #f76601;
+    margin-right: 10px;
+    padding: 7px 10px;
+    float: right;
+    border-radius: 4px;
+  }
+  .fullPink {
+    background-color: #feefe5;
+    color: #f76601;
+    width: 100%;
+    height: 40px;
+    line-height: 40px;
+    text-align: center;
+  }
+  .fullBlue {
+    background-color: #e9f5ff;
+    color: #2599ff;
+    width: 100%;
+    height: 40px;
+    line-height: 40px;
+    text-align: center;
+  }
+  .imgDown {
+    background-color: #fff;
+    height: 20px;
+    line-height: 20px;
+    width: 100%;
+    text-align: center;
+  }
+  .emptyMain {
+    width: 100%;
+    height: 40px;
+    line-height: 40px;
+    text-align: center;   
+     border: 1px solid #e9e9e9;
+    border-radius: 4px;
+  }
+  .disBtn {
+    height: 48px;
+    line-height: 48px;
+    border-radius: 4px;
+    padding: 0 20px;
+    color: #fff;
+    font-size: 14px;
+    margin: 10px 0;
+    position: relative;
+    span {
+
+    }
+    i {
+      float: right;
+      height: 32px;
+      line-height: 32px;
+      padding: 0 10px;
+      text-align: center;
+      border: 1px solid #fff;
+      margin-top: 8px;
+      border-radius: 4px;
+      cursor: pointer;
+    }
+    img {
+      float: right;
+      cursor: pointer;
+      margin-top: 6px;
+      position: absolute;
+      right: 5px;
+      top: 0;
+      display: none;
+    }
+  }
+  .disBtnRed,.disBtnTrdRed,.disBtnTreRed,.disBtnRed01 {
+    background-color: #f76601;
+  }
+  .disBtnBlue,.disBtnTrdBlue,.disBtnTreBlue,.disBtnBlue01 {
+    background-color: #2599ff;
+  }
+  .disBtnTrdRed,.disBtnTrdBlue,.disMainRed9,.disMainRed10 {
+    display: none;
+  }
+  .disFst {
+    .stepFst {
+      border-bottom: 1px solid #cfd4dc;
+    }
+  }
+  .disMainRed,.disMainBlue {
+    overflow: hidden;
+    display: none;
+  }
+  .disMainRed h5,.disMainBlue h5 {
+    color: #ff1d1d;
+    font-size: 16px;
+    padding: 10px 0;
+    font-weight: 700;
+    line-height: 20px;
+  }
+  .stepTrd{
+    overflow: hidden;
+    display: none;
+    border-bottom: none;
+    .disBtn img {
+      display: block;
+    }
+    .inHeart {
+      float: none;
+      display: inline-block;
+      margin-bottom: 5px;
+    }
+    p {
+      color: #000;
+    }
+  }
+  .stepTrdWrong {
+    display: none;
+  }
+  .btnBgWhite {
+    height: 46px;
+    line-height: 46px;
+    border: 1px solid #adadad;
+    padding: 0 10px;
+    border-radius: 4px;
+    margin-bottom: 10px;
+    color: #606060;
+  }
+  .lineSpace {
+    border-bottom: 1px solid #cfd4dc;
+    margin: 10px 0;
+  }
+  .spaceBetween {
+    height: 60px;
+    line-height: 60px;
+    border-top: 1px solid #cfd4dc;
+    span,i {
+      display: inline-block;
+    }
+    i {
+      float: right;
+      margin-right: 15px;
+    }
+  }
+}
+.jxgzdm {
+  padding: 7px 15px;
+  background: #eceff3;
+  border-radius: 4px;
+  margin-top: 15px;
+  li {
+    margin: 8px 0;
+    line-height: 20px;
+    span {
+      height: 26px;
+      line-height: 26px;
+      padding: 0 10px;
+      background-color: #fff;
+      margin-right: 5px;
+      margin-bottom: 5px;
+      display: inline-block;
+    }
+  }
+}
+.chengdu {
+  overflow: hidden;
+  li {
+    float: left;
+    height: 26px;
+    line-height: 26px;
+    padding: 0 10px;
+    margin-right: 10px;
+    border: 1px solid #d7d7d7;
+    border-radius: 4px;
+    cursor: default;
+  }
+}
+.doList {
+  padding: 7px 15px;
+  background: #eceff3;
+  border-radius: 4px;
+  margin-top: 15px;
+  li {
+    margin: 8px 0;
+    line-height: 20px;
+    input {
+      height: 16px;
+      width: 16px;
+      position: relative;
+      top: 3px;
+    }
+    i {
+
+    }
+  }
+}
+  .lowDis {
+    margin-top: 20px;
+    background-color: #fff0f0;
+    color: #ff1d1d;
+    border-radius: 20px;
+    font-size: 16px;
+    font-weight: 700;
+    width: 100%;
+    height: 40px;
+    line-height: 40px;
+    text-align: center;
+    font-size: 14px;
+  }
+
+.emergencyLis .inHeart.special {
+  border: 1px solid #2599ff;
+  color: #2599ff;
+  float: right;
+}
+.selectTab {
+  background-color: #f76601;
+  color: #fff;
+}
+.step3 {
+  color: #606060 !important;
+}
+.emergencyLis .stepTrd .disBtnRed01 img,
+.emergencyLis .stepTrd .disBtnBlue01 img,
+.sureResult22,
+.backResult22,
+.disMainRed20,
+.showBtn25,
+.showBtn26,
+.showBtn27,
+.partPool,
+.partPool01,
+.showBtn28{
+  display: none;
+}

+ 106 - 0
src/css/followUpV.less

@@ -0,0 +1,106 @@
+.operaNameBox{
+    background: #EFF1F6;
+    line-height: 22px;
+    padding: 0px 14px;
+    font-size: 12px;
+    color: #777777;
+}
+.operaNameBold{
+    color: #1e1e1e;
+    font-weight: 600;
+    font-size: 12px;
+}
+.btnBox{
+    text-align: center;
+    padding: 15px 0;
+}
+.btnName{
+    display: inline-block;
+    padding: 4px 10px;
+    background:#E7F3F9;
+    font-size: 12px;    
+    color: #3B9ED0;
+    border-radius: 12px;
+    cursor: pointer;
+}
+.infoWrap{
+    overflow-y: auto;
+    padding: 0 15px;
+}
+.infoBoxTitle{
+    line-height: 40px;
+    color: #1E1E1E;
+    font-size: 14px;
+    position: relative;
+    cursor: pointer;
+}
+.historyBox .infoBoxTitle{
+    color: #AAAAAA;
+}
+.historyWrap{
+    display: none;
+}
+.lisBox,.pacsBox{
+    padding-left: 68px;
+    position: relative;
+}
+.circle{
+    display: inline-block;
+    width: 5px;
+    height: 5px;
+    background: #89C5E3;
+    border-radius: 50%;
+    position: absolute;
+    left: 0;
+    top: 6px;
+}
+.lisItem,.pacsItem{
+    padding: 0 10px;
+    position: relative;
+    line-height: 20px;
+}
+.pacsBox{
+    margin-top: 10px;
+}
+
+/*.infoBox:hover{
+    background: #EEEEEE;
+    .title h2 {
+        background: #EEEEEE;
+    }
+}*/
+.itemBoxTitle{
+    position: absolute;
+    left: 0;
+    display: inline-block;
+    width: 38px;
+    height: 18px;
+    border-radius: 10px;
+    border: 1px solid #3B9ED0;
+    color: #3B9ED0;
+    text-align: center;
+    line-height: 18px;
+}
+.toggleInfo{
+    width: 10px;
+    position: absolute;
+    right: 10px;
+    top: 15px;
+}
+.childrenBox{
+    display: none;
+}
+.followUpWrap .emptyBox{
+    margin-top: 80px;
+    text-align: center;
+}
+.followUpWrap .emptyImg{
+    width: 110px;
+    position: relative; 
+    left: 0; 
+    margin-left: 0;
+}
+.followUpWrap .emptyTxt{
+    color: #AAAAAA;
+    font-size: 12px;
+}

+ 14 - 0
src/css/generalTreat.less

@@ -0,0 +1,14 @@
+@import './common.less';
+.preDom {
+  ol li {
+      list-style: decimal;
+      list-style-position:inside;
+    }
+    ul {
+        padding-left: 15px;
+        li {
+            list-style-position:inside;
+            list-style: inside;
+        }
+  }
+}

+ 94 - 0
src/css/homeStatic.less

@@ -0,0 +1,94 @@
+@import './common.less';
+
+.staticWrap {
+  .staticTopCenter {
+    width: 66.6%;
+    max-width: 800px;
+    margin: 0 auto;
+    text-align: center;
+    padding-top: 130px;
+  }
+  .staticTop {
+    height: 450px;
+    background-color: #2A9BD5;
+  }
+  .staticTopLogo {
+    margin-bottom: 40px;
+    img {
+      width: 62.4%;
+      max-width: 800px;
+    }
+  }
+  .staticTopTab {
+    ul {
+      text-align: left;
+    }
+    li {
+      /*display: inline-block;*/
+      float: left;
+      font-size: 16px;
+      color: #fff;
+      margin: 0 2% 10px;
+      cursor: pointer;
+      padding-bottom: 2px;
+      border-bottom: 2px solid #2A9BD5;
+    }
+    .tabFst {
+      border-bottom: 2px solid #fff;
+    }
+  }
+  .staticTopSearch {
+    width: 100%;
+    height: 60px;
+    line-height: 60px;
+    background-color: #fff;
+    border-radius: 8px;
+    padding-right: 100px;
+    box-sizing: border-box;
+    position: relative;
+    input {
+      height: 55px;
+      box-sizing: border-box;
+      float: left;
+      border-radius: 8px;
+      width: 100%;
+      padding: 0 30px;
+    }
+    .searchBtn {
+      width: 88px;
+      height: 100%;
+      line-height: 50px;
+      border-left: 1px solid #979797;
+      position: absolute;
+      right: 0;
+      top: 0;
+      cursor: pointer;
+      color: #666;
+      padding-left: 40px;
+      box-sizing: border-box;
+      img {
+        position: absolute;
+        left: 34px;
+        top: 22px;
+        width: 20px;
+        height: 20px;
+      }
+    }
+  }
+  .foryou {
+    width: 100%;
+    text-align: center;
+    margin:180px 0 50px 0;
+    img{
+      width: 47%;
+      max-width: 647px;
+    }
+  }
+  .staticBg {
+    width: 62.4%;
+    margin: 0 auto;
+    img {
+      width: 100%;
+    }
+  }
+}

+ 536 - 0
src/css/icssIndex.less

@@ -0,0 +1,536 @@
+@import './common.less';
+
+.iframeWrap {
+    margin: 10px auto 50px;
+    padding: 0 20px 20px 20px;
+    min-width: 340px;
+    overflow-y: auto;
+}
+
+.recommendInfoWrapper {
+    border: 1px solid #F2F2F2;
+    margin-bottom: 5px;
+
+    h4 {
+        color: #000;
+        // height: 24px;
+        line-height: 24px;
+        background-color: #FAEBEC;
+        font-size: 16px;
+        font-weight: bold;
+    }
+}
+
+.recommendInfoWrapper h4 i {
+    content: '';
+    width: 18px;
+    height: 18px;
+    float: left;
+    position: relative;
+    top: 3px;
+    margin: 0 12px;
+}
+
+.symptomRecommend,
+.physiExamRecommend,
+.labAndPacsRecommend {
+    h4 {
+        background-color: #ECF4FC;
+    }
+}
+
+.treatRecommend,.knowledgeInfo,.scaleInfo {
+    h4 {
+        background-color: #E3FEFE;
+    }
+}
+.tipsInfo {
+    h4 {
+        background-color: #E3FEFE;
+    }
+}
+
+
+.conditTips {
+    h4 {
+        background-color: #FDF4EE;
+    }
+}
+.warning{
+    background-color: #FF8D54;
+    font-size: 14px;
+    h4 {
+        background-color: #FF8D54;
+        font-size: 14px;
+        color: #fff;
+        line-height: 30px;
+        display: inline-block;
+        margin: 0 20px 0 0;
+        i{
+            margin: 0 12px 0 0;
+        }
+    }
+    .recommendInfoBox{
+        display: inline-block;
+    }
+    .recommendInfoItem{
+        display: inline-block;
+        float: none;
+        color: #fff;
+    }
+}
+
+.recommendInfoBox {
+    padding: 4px 17px;
+}
+
+.treatRecommend h4 i,.knowledgeInfo h4 i,.scaleInfo h4 i {
+    background: url(/images/zhiliao.png) center center no-repeat;
+}
+.tipsInfo h4 i {
+    background: url(/images/zhiliao.png) center center no-repeat;
+}
+
+.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 {
+    padding-right: 15px;
+    float: left;
+    line-height: 21px;
+    position: relative;
+}
+
+.infoMsg,
+.infoMsgOn {
+    position: absolute;
+    top: 4px;
+    right: 0;
+}
+
+.infoMsg,
+.infoMsgOn {
+    display: none;
+    cursor: pointer;
+}
+
+.recommendInfoItemHasInfo:hover,
+.diagNameBox:hover,
+.durgNameBox:hover {
+    color: #267FD7;
+
+    .infoMsg {
+        display: inline-block;
+        width: 14px;
+        height: 14px;
+        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 {
+    position: relative;
+    padding-right: 15px;
+    display: inline-block;
+    .infoMsg, .infoMsgOn {
+        top: 6px;
+    }
+}
+.durgName, .diagName{
+    border-bottom: 1px solid #1E1E1E;
+}
+.sriticalinfo {
+    height:30px;
+    background:#F5F5F5;
+    line-height: 30px;
+    margin: 10px 0;
+}
+.recommendInfoBox p {
+    line-height: 21px;
+}
+
+.commonTreatmentbox {
+    padding-bottom: 10px;
+    border-bottom: 1px solid #D1D1D1;
+}
+
+.drugTreatmentbox {
+    padding-top: 10px;
+}
+
+.illnessTable {
+    color: #267FD7;
+    line-height: 21px;
+    cursor: pointer;
+}
+
+.labAndPacsBox {
+    position: relative;
+    line-height: 21px;
+}
+
+.alertModal {
+    position: relative;
+
+    .mayResult {
+        color: #838383;
+        position: relative;
+    }
+
+    .mayResultSelect {
+        line-height: 21px;
+
+        .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: 21px;
+    overflow: hidden;
+    position: relative;
+}
+
+.commonTreatmentInfoLimit {
+    height: 75px;
+    overflow: hidden;
+    position: relative;
+}
+
+.slideDown {
+    background-color: #fff;
+    position: absolute;
+    bottom: 0px;
+    right: 0px;
+    color: @colorBlue;
+    height: 21px;
+    line-height: 21px;
+    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;
+    height: 21px;
+    line-height: 21px;
+    box-shadow: -2px 0px 15px 0px #fff;
+
+    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;
+    position: fixed;
+    width: 100%;
+    bottom: 30px;
+    background-color: #fff;
+}
+.disclaimer {
+    height: 26px;
+    width: 100%;
+    line-height: 26px;
+    position: fixed;
+    bottom: 0;
+    background-color: #fff;
+    left: 0;
+    z-index: 98;
+    .version-tip{
+        margin-left: 20px;
+        font-size: 12px;
+        padding-right: 34px;
+        cursor: pointer;
+        &.new-icon{
+            background: url(../images/new.png) 100% 0px no-repeat;
+        }
+    }
+    .logo {
+        // float: left;
+        font-size: 12px;
+        margin-left: 15px;
+    }
+    .disclaimerInfo {
+        float: right;
+        font-size: 12px;
+        margin-right: 15px;
+    }
+}
+
+.labAndPacsTitle {
+    border-right: 2px solid #ADADAD;
+    padding-right:5px; 
+    margin-right: 5px;
+}
+.labAndPacsItem {
+    display: inline-block;
+    padding-right: 15px;
+}
+
+.recommendNull,.TipsInfoNull {
+    color: #ADADAD;
+}
+.treatItemTitle {
+    font-weight: bold;
+    padding-bottom: 5px;
+}
+.disclaimerInfo {
+    cursor: pointer;
+}
+.moreInfo {
+    display: inline-block;
+    width:42px;
+    height:20px;
+    border-radius:4px;
+    border:1px solid #267FD7;
+    line-height:20px;
+    color: #267FD7;
+    text-align: center;
+    margin-left: 20px;
+    cursor: pointer;
+}
+.durgNameBox {
+    .medicineWaring {
+        background-color: #f4c051;
+        color: #000;
+        font-size: 12px;
+        border-radius: 4px;
+        border: 1px solid #fff;
+        line-height: 18px;
+      }
+      .medicineWaringDisMsg {
+        background-color: #fff;
+        color: @grayColor;
+        font-size: 12px;
+        border-radius: 4px;
+        line-height: 18px;
+        border: 1px solid @grayColor;
+      }
+      .medicineWaringDisMsg {
+        color: @grayColor;
+      }
+}
+.medicineWaringDis {
+    color: @grayColor;
+    .durgName{
+        border-bottom: 1px solid @grayColor;
+    }
+  }
+.medicineWaringDis:hover {
+    color: @grayColor;
+}
+
+.staticWin {
+    color: #040428;
+    text-decoration: underline;
+    cursor: pointer;
+}
+.line {
+    width: 100%;
+    height: 1px;
+    background: #D1D1D1;
+}
+.diagTitle {
+    color: #3b9ed0;
+    position: relative;
+    margin: 0 0 10px;
+    font-weight: 500;
+    i {
+        position: relative;
+        display: inline-block;
+        width: 4px;
+        height: 4px;
+        background: #3b9ed0;
+        border-radius: 50%;
+        top: -4px;
+        margin-right: 6px;
+    }
+}
+.diagDescription{
+    color: #333;
+    font-weight: 600;
+    margin: 5px 0 10px;
+}
+.treatItemTitle {
+    position: relative;
+    .slideDown {
+        font-weight: normal;
+        bottom: 5px;
+    }
+}
+.empty{
+    position: relative;
+    top: 200px;
+}
+.emptyImg{
+    width: 100px;
+    position: relative;
+    left: 50%;
+    margin-left: -50px;
+}
+.emptyTxt{
+    text-align: center;
+    color: #AAA;
+    font-size: 12px;
+}
+.titleIcon{
+    width: 16px;
+    margin: 0px 12px 0 12px;
+    position: relative;
+    top: 2px;
+}
+.warningbox{
+    .titleIcon{
+        width: 16px;
+        margin: 0px 12px 0 -5px;
+        position: relative;
+        top: 2px;
+    }  
+}
+.loading{
+    position: fixed;
+    width: 100%;
+    height: 100%;
+    left: 0;
+    top: 0;
+    z-index: 100;
+    display: none;
+}
+.loadingMask{
+    position: absolute;
+    width: 100%;
+    height: 100%;
+    background-color: #fff;
+    opacity: 0.5;
+    filter:alpha(opacity=50);
+    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=50);";
+}
+.loadingImg{
+    width: 40px;
+    position: absolute;
+    left: 50%;
+    top: 50%;
+    margin: -20px 0 0 -20px;
+}
+.emergency {
+    position: fixed;
+    right: 20px;
+    top: 0;
+    .disPub {
+        width: 40px;
+        height: 40px;
+        line-height: 40px;
+        position: absolute;
+        left: 0;
+        text-align: center;
+        border-radius: 50%;
+        color: #fff;
+        background-color: #f93333;
+    }
+    .singleDis {
+        left: -25px;
+        display: none;
+    }
+    .allDis {
+        display: none;
+        z-index: 10;
+        moz-user-select: -moz-none;
+        -moz-user-select: none;
+        -o-user-select: none;
+        -webkit-user-select: none;
+        -ms-user-select: none;
+        user-select: none;
+        position: fixed;
+        top: 0;
+        right: 5px;
+        width: auto;
+        height: 40px;
+        line-height: 40px;
+        border-radius: 22px;
+        border: 2px solid #f93333;
+        background-color: #fff;
+        padding-left: 50px;
+        padding-right: 30px;
+        cursor: pointer;
+        .right {
+            position: absolute;
+            right: 5px;
+            top: 9px;
+        }
+    }
+}

+ 318 - 0
src/css/informationOut.less

@@ -0,0 +1,318 @@
+* {
+    margin: 0;
+    padding: 0;
+  }
+
+  ul,
+  li {
+    list-style: none;
+  }
+
+  table {
+    border-collapse: collapse;
+    border-spacing: 0;
+  }
+
+  body {
+    font-size: 14px;
+    overflow-y: hidden;
+    font-family: '微软雅黑', '宋体';
+    background: #dde2ea;
+    height: 100%;
+    color: #1E1E1E;
+    line-height: 21px;
+  }
+
+  h1 {
+    margin: 0 0px 5px 0px !important;
+    font-size: 18px !important;
+    /*line-height: 37px;*/
+    padding: 0 0 0 40px;
+  }
+
+  .titleH2 {
+    font-size: 16px;
+    position: relative;
+    background: #fff;
+    padding-right: 6px;
+    /*line-height: 30px;*/
+  }
+
+  .content {
+    position: relative;
+    height: 550px;
+  }
+  .infoBox {
+    border-left: 1px solid #969C9F;
+    padding: 0 0 0 33px;
+    margin: 0 0 4px 0;
+  }
+  .infoWrapper {
+    padding: 0 0 0 40px;
+  }
+  .circleBox {
+    position: absolute;
+    z-index: 10;
+    background: #fff;
+    left: -38px;
+    height: 32px;
+    top: -1px;
+  }
+  .circle {
+    display: inline-block;
+    *display:inline;
+    *zoom:1;
+    width: 10px;
+    height: 10px;
+    border-radius: 50%;
+    background: #3B9ED0;
+    position: relative;
+    top: 2px;
+  }
+  .infos {
+    height: 100%;
+    overflow-y: auto;
+    padding: 0 60px 0 0;
+  }
+
+  .infos>div {
+    margin-right: 160px;
+  }
+
+  .title {
+    position: relative;
+    line-height: 24px;
+    
+    margin: 0 0 4px;
+  }
+
+  .line {
+    border-bottom: 1px dashed #ccc;
+  }
+
+  .container {
+    width:100%;
+    overflow: hidden;
+    background: #fff;
+    margin: 0 auto;
+    padding: 8px 0 0px 0px;
+    display: none;
+    position: relative;
+    left: 0;
+    right: 0;
+  }
+
+  pre {
+    white-space: pre-wrap;
+    word-wrap: break-word;
+    color: #1E1E1E;
+    ol li {
+        list-style: decimal;
+        list-style-position:inside;
+    }
+    ul {
+        padding-left: 20px;
+        li {
+            list-style-position:inside;
+            list-style: inside;
+        }
+    }
+  }
+  .anchors {
+    width: 200px;
+    position: absolute;
+    right:15px;
+    top: 0;
+    margin-right: 14px;
+    overflow: auto;
+    height: 100%;
+  }
+
+  .anchors ul {
+    padding: 15px 0px 15px 20px;
+    border-radius: 4px;
+    border: 1px solid #F5F6F7;
+    background-color: #F5F6F7;
+    line-height: 19px;
+  }
+
+  .anchors li {
+    position: relative;
+    border-left: 2px solid #E0E2E3;
+  }
+
+  .anchors .anchor-line {
+    height: 20px;
+    width: 0;
+    border-left: 2px solid #E0E2E3;
+  }
+
+  .anchors .anchor-line:last-child {
+    display: none;
+  }
+
+  .anchors i {
+    position: absolute;
+    display: inline-block;
+    width: 8px;
+    height: 8px;
+    border-radius: 5px;
+    border: 1px solid #E0E2E3;
+    background-color: #E0E2E3;
+    left: -6px;
+    top: 5px;
+  }
+
+  .anchors a {
+    display: inline-block;
+    position: relative;
+    top: 0;
+    left: 0;
+    width: 132px;
+    padding: 0 0px 0 20px;
+    text-decoration: none;
+    font-size: 14px;
+    font-weight: 400;
+    color: #777;
+    word-wrap: break-word;
+  }
+
+  .anchors .active a {
+    color: #3B9ED0 !important;
+    font-weight: 700 !important;
+  }
+
+  .anchors .active i {
+    width: 16px;
+    height: 16px;
+    top: 1px;
+    left: -8px;
+    border-radius: 0;
+    border: none;
+    background-color: #F5F6F7;
+    background: url('../images/icon_current.png') center center no-repeat;
+  }
+
+  a:visited {
+    color: #777;
+  }
+  .disCopy {
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+  }
+  .tabBox{
+    position: relative;
+    background: #fff;
+    height: 38px;
+    border-bottom: 1px solid #E6E6E6;
+    padding: 0 40px;
+  }
+  .showWhich {
+    width: 94px;
+    text-align: center;
+    padding-top: 16px;
+    position: absolute;
+    z-index: 20;
+    bottom: -6px;
+    img {
+      width: 8px;
+      position: absolute;
+      top: 29px;
+      left: 76px;
+    }
+    .showWhichSelect {
+      border-radius: 4px 4px 0px 0px;;
+      background: #E2F1F8;
+      height: 30px;
+      line-height: 30px;
+      display: inline-block;
+      width: 100%;
+      padding-right: 20px;
+      padding-left: 10px;
+      box-sizing: border-box;
+      cursor: pointer;
+    }
+    ul {
+      display: none;
+      position: absolute;
+      left: -9px;
+      top: 48px;
+      z-index: 10;
+      background-color: #fff;
+      width: 110px;
+      box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.18);
+      border-radius: 4px;
+      border: 1px solid #E6E6E6;
+      li {
+        height: 35px;
+        line-height: 35px;
+        white-space: nowrap;/*强制在一行显示*/
+        text-overflow:ellipsis;/*设置超出内容显示...*/
+        overflow: hidden;/*一定不能少 超出的内容进行隐藏*/
+        padding:0 20px;
+        cursor: pointer;
+        &:hover {
+          background-color: #E2F1F8;
+        }
+      }
+    }
+  }
+  .tabList{
+    position: absolute;
+    bottom: 0;
+    left: 186px;
+  }
+  .tab{
+    display: inline-block;
+    padding: 4px 18px 5px;
+    margin-right: 5px;
+    background: #EEEEEE;
+    border-radius:6px 6px 0px 0px;
+    cursor: pointer;
+    font-size: 14px;
+    color: #333;
+  }
+  .activeTab{
+    background: #3B9ED0;
+    color: #fff;
+  }
+  .ql-align-right{
+    text-align: right;
+  }
+  .ql-align-center{
+    text-align: center;
+  }
+  
+.ellipsis{
+  white-space: nowrap;/*强制在一行显示*/
+  text-overflow:ellipsis;/*设置超出内容显示...*/
+  overflow: hidden;/*一定不能少 超出的内容进行隐藏*/
+}
+.empty{
+  text-align: center;
+  margin-top: 32vh;
+  img{
+    width: 140px;
+    height: 75px;
+  }
+  p{
+    margin-top: 10px;
+    font-size: 15px;
+    color: #aaa;
+  }
+}
+.open-win{
+  position: absolute;
+  right: 15px;
+  bottom: 8px;
+  cursor: pointer;
+  color: #3B9ED0;
+  font-size: 14px;
+  padding-left: 30px;
+  background: url("../images/link.png") 0 -2px no-repeat;
+  background-size: 25px 25px;
+}

+ 294 - 0
src/css/searchStaticList.less

@@ -0,0 +1,294 @@
+@import './common.less';
+
+.staticListWrap {
+  position: absolute;
+  width: 100%;
+  min-height: 100%;
+  /*height: 100%;
+  min-width: 900px;*/
+  padding: 60px 20px 20px;
+  box-sizing: border-box;
+  background-color: #DDE2E4;
+  /*overflow: auto;*/
+  .staticMainWrap {
+    background-color: #fff;
+    padding: 0 60px 20px 60px;
+  }
+  .staticResult {
+      .loading{
+        text-align: center;
+        img{
+          width: 50px;
+          height: 50px;
+        }
+      }
+  }
+  .staticTopCenter {
+    width: 100%;
+    position: fixed;
+    top: 0;
+    left: 0;
+    z-index: 10;
+    height: 60px;
+    line-height: 60px;
+    background-color: @staticMainColor;
+  }
+  .staticTopLogo {
+      height: 25px;
+      margin-top: 16px;
+      margin-left: 50px;
+  }
+  .staticTopTab {
+    padding-top: 20px;
+    background-color: #fff;
+    ul {
+      text-align: left;
+    }
+    li {
+      display: inline-block;
+      font-size: 16px;
+      color: #333;
+      margin: 0 1.2vw;
+      cursor: pointer;
+      padding-bottom: 2px;
+      margin-bottom: 14px;
+    }
+    .tabFst {
+      color: @staticMainColor;
+    }
+  }
+  .staticTopSearch {
+    width: 95.3%;
+    max-width: 750px;
+    height: 50px;
+    line-height: 50px;
+    background-color: #fff;
+    border-radius: 8px;
+    padding-right: 75px;
+    box-sizing: border-box;
+    position: relative;
+    overflow: hidden;
+    border: 1px solid #979797;
+    margin-top: -4px;
+    input {
+      height: 50px;
+      line-height: 50px;
+      box-sizing: border-box;
+      float: left;
+      width: 100%;
+      padding: 0 30px;
+    }
+    .searchBtn {
+      width: 75px;
+      height: 50px;
+      line-height: 50px;
+      border-left: 1px solid #979797;
+      position: absolute;
+      right: 0;
+      top: 0;
+      cursor: pointer;
+      color: #666;
+      padding-left: 40px;
+      box-sizing: border-box;
+      img {
+        position: absolute;
+        left: 27px;
+        top: 15px;
+        width: 20px;
+        height: 20px;
+      }
+    }
+  }
+  .foryou {
+    width: 100%;
+    text-align: center;
+    margin:80px 0 50px 0;
+    color: #333;
+    font-size: 30px;
+    font-weight: bold;
+  }
+  .staticBg {
+    width: 800px;
+    margin: 0 auto;
+    img {
+      width: 100%;
+    }
+  }
+  .navTab {
+      height: 70px;
+      line-height: 70px;
+      a {
+        text-decoration: none;
+        color: @staticMainColor;
+      }
+  }
+}
+.staticResult {
+    .resultItem {
+      padding: 14px 38px;
+      background-color: #EDFAFF;
+      margin-bottom: 14px;
+        cursor: pointer;
+        div {
+            line-height: 20px;
+            span {
+                display: inline-block;
+            }
+            margin-bottom: 10px;
+        }
+    }
+    .type {
+        border-radius: 3px;
+        color: #fff;
+        padding: 0 5px;
+        background-color: @staticMainColor;
+    }
+    .code{
+      font-size: 14px;
+      color: #999;
+        margin-left: 10px;
+    }
+    .drug{
+        color: @staticMainColor;
+        margin-left: 10px;
+    }
+    .notice{
+        border: 1px solid @staticMainColor;
+        color: @staticMainColor;
+        border-radius: 3px;
+        margin-left: 10px;
+        padding: 0 5px;
+    }
+    .same {
+        color: #666;
+    }
+    .content {
+        word-break: break-all;
+        max-height: 40px;
+        overflow: hidden;
+    }
+    .resultItemEmpty {
+        text-align: center;
+        display: none;
+        img {
+            width: 358px;
+        }
+        p {
+            color: #999;
+        }
+    }
+}
+
+
+.pagination{
+    margin: 35px 0 20px 0  ;
+    text-align: right;
+    .goNum {
+        input::-webkit-outer-spin-button,
+        input::-webkit-inner-spin-button {
+            -webkit-appearance: none;
+        }
+      font-size: 12px;
+        input {
+          width: 25px;
+          height: 22px;
+          line-height: 22px;
+            text-align: center;
+            border-radius: 3px;
+            border: 1px solid @staticMainColor;
+            color: @staticMainColor;
+            box-sizing: border-box;
+        }
+    }
+    .select {
+      font-size: 12px;
+        color: @staticMainColor;
+      height: 22px;
+      line-height: 22px;
+        border: 1px solid @staticMainColor;
+        border-radius: 3px;
+        box-sizing: border-box;
+        position: relative;
+        margin-right: 10px;
+        outline: none;
+      background: none;
+    }
+    .totalSum{
+        display: inline-block;
+        font-size:12px;
+      height: 22px;
+      line-height: 22px;
+        color: @staticMainColor;
+        margin-right: 10px;
+        position: relative;
+    }
+    .pageNum,.prePage,.nextPage, .more{
+      font-size: 12px;
+        display: inline-block;
+        box-sizing: border-box;
+      /*width: 30px;
+      height: 30px;*/
+        line-height: 30px;
+        cursor: pointer;
+        margin: 0 10px 0 0;
+        text-align: center;
+        color: @staticMainColor;
+        border-radius: 3px;
+    }
+  .pageNum {
+    text-decoration: underline;
+  }
+    .prePage,.nextPage{
+        img{
+            position: relative;
+            top: 0px   ;
+        }
+    }
+     .more{
+        cursor: not-allowed;
+    }
+    .arrowPage{
+      width: 10px;
+    }
+    .activePage{
+      color: #FE7D3D;
+      text-decoration: none;
+    }
+    
+    .tipIcon{
+      color: #777;
+      cursor: pointer;
+      display: inline-block;
+      margin-left: 6px;
+      margin-right: 2px;
+    }
+    .toolTipIcon{
+        width: 18px;
+        position: relative;
+        top: 3px;
+    }
+    
+    .tooltip{
+        visibility: hidden;
+        position: relative;
+        padding: 7px 10px;
+        border-radius: 4px;
+        margin: 100px auto;
+        background-color: #4D4D4D;
+        text-align: center;
+        color: #fff;
+        font-size: 14px;
+    }
+    .tooltip:before{
+        content: '';
+        display: block;
+        position: absolute;
+        bottom: 9px;
+        left: -12px;
+        border-bottom: 6px solid transparent;
+        border-top: 6px solid transparent;
+        border-left: 6px solid transparent;
+        border-right: 6px solid #4D4D4D;
+    }
+    
+}

+ 493 - 0
src/css/staticInfo.less

@@ -0,0 +1,493 @@
+@import './common.less';
+
+  ul,
+  li {
+    list-style: none;
+  }
+  div,li,span,i,p,h1,h2,h3,h4,h5,pre{
+    font-family: '微软雅黑', '宋体';
+  }
+  table {
+    border-collapse: collapse;
+    border-spacing: 0;
+  }
+
+  body {
+    font-size: 14px;
+    overflow-y: hidden;
+    font-family: '微软雅黑', '宋体';
+    background: #dde2ea;
+    height: 100%;
+    color: #1E1E1E;
+    line-height: 21px;
+  }
+  .banner{
+    width: 100%;
+    position: fixed;
+    top: 0;
+    left: 0;
+    z-index: 10;
+    height: 60px;
+    line-height: 60px;
+    background-color: @staticMainColor;
+  }
+.staticTopLogo {
+  height: 25px;
+  margin-top: 16px;
+  margin-left: 50px;
+}
+  h1 {
+    margin: 0 0px 15px 0px !important;
+    font-size: 18px !important;
+    /*line-height: 37px;*/
+    padding: 0 0 0 40px;
+  }
+
+  .titleH2 {
+    font-size: 18px;
+    position: relative;
+    background: #fff;
+    padding-right: 6px;
+    padding-left: 15px;
+    font-weight: 600;
+    border-left: 4px solid @staticMainColor;
+    /*line-height: 30px;*/
+  }
+
+  .content {
+    position: relative;
+    height: 550px;
+  }
+  .infoBox {
+    border-bottom: 1px solid #E6E6E6;
+    padding: 0;
+    margin: 0 0 20px 0;
+  }
+  .infoBox:hover {
+    background-color: #fff;
+  }
+  .infoWrapper {
+    padding: 0 0 0 40px;
+  }
+  .circleBox {
+    position: absolute;
+    z-index: 10;
+    background: #fff;
+    left: -38px;
+    height: 32px;
+    top: -1px;
+  }
+  // .circle {
+  //   display: inline-block;
+  //   *display:inline;
+  //   *zoom:1;
+  //   width: 10px;
+  //   height: 10px;
+  //   border-radius: 50%;
+  //   background: #3B9ED0;
+  //   position: relative;
+  //   top: 2px;
+  // }
+  .infos {
+    height: 100%;
+    overflow-y: auto;
+    /*padding: 0 60px 0 0;*/
+    width: calc(100% - 250px);
+  }
+
+  .infos>div {
+    margin-right: 6.5%;
+    .contentWrapper img{
+      max-width: 100%;
+    }
+  }
+
+  .title {
+    position: relative;
+    line-height: 24px;
+    
+    margin: 18px 0 4px;
+  }
+
+  .line {
+    border-bottom: 1px dashed #ccc;
+  }
+
+  .container {
+    /*width:100%;*/
+    overflow: hidden;
+    background: #fff;
+    margin: 0 20px;
+    /*padding: 8px 0 0px 0px;
+    left: 0;
+    right: 0;*/
+    display: none;
+    position: relative;
+  }
+
+  pre {
+    white-space: pre-wrap;
+    word-wrap: break-word;
+    color: #1E1E1E;
+    ol li {
+      list-style: decimal;
+      list-style-position:inside;
+    }
+    ul {
+      padding-left: 20px;
+      li {
+            list-style-position:inside;
+            list-style: inside;
+      }
+    }
+  }
+  .anchors {
+    width: 210px;
+    position: absolute;
+    right:15px;
+    top: 0;
+    margin-right: 14px;
+    overflow-y: auto;
+    background-color: #EDFAFF;
+    padding: 25px 0;
+    height: calc(100% - 50px);
+    overflow-x: hidden;
+  }
+
+  .anchors ul {
+    margin-left: 30px;
+    padding: 15px 0px 15px 20px;
+    border-radius: 4px;
+    border: 1px solid #EDFAFF;
+    /*background-color: #EDFAFF;*/
+    line-height: 19px;
+  }
+
+  .anchors li {
+    position: relative;
+    border-left: 1px solid #8DD1EE;
+  }
+.anchors li:first-child {
+  padding-top:30px
+}
+
+  .anchors .anchor-line {
+    height: 30px;
+    width: 0;
+    border-left: 1px solid #8DD1EE;
+  }
+
+.anchors .a-circle{
+  border:2px #8DD1EE solid;
+  width: 16px;
+  height: 16px;
+  background: #fff;
+  border-radius: 16px;
+  position: absolute;
+  left: 41px;
+  z-index: 1;
+}
+.anchors .a-circle:last-child{
+  position: unset;
+  margin-left: 41px;
+  margin-top: -16px;
+}
+  .anchors i {
+    position: absolute;
+    display: inline-block;
+    width: 16px;
+    height: 16px;
+    border-radius: 8px;
+    border: 1px solid @staticMainColor;
+    background-color: @staticMainColor;
+    left: -10px;
+    top: 5px;
+    z-index: 1;
+  }
+.anchors li:first-child i{
+  top:35px;
+}
+  .anchors a {
+    display: inline-block;
+    position: relative;
+    top: 4px;
+    left: 0;
+    width: 126px;
+    padding: 0 0px 0 20px;
+    text-decoration: none;
+    font-size: 16px;
+    font-weight: 400;
+    word-wrap: break-word;
+  }
+
+  .anchors .active a {
+    /*color: #3B9ED0 !important;
+    font-weight: 700 !important;*/
+  }
+
+  .anchors .active i {
+    width: 26px;
+    height: 16px;
+    top: 6px;
+    left: -14px;
+    border-radius: 0;
+    border: none;
+    background-color: #F5F6F7;
+    background: url('../images/icon_current.svg') center center no-repeat;
+  }
+  .disCopy {
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+  }
+  .tabBox{
+    position: relative;
+    background: #fff;
+    padding: 0 38px;
+    margin: 60px 20px 0;
+    border-bottom: 1px solid #E6E6E6;
+    overflow: hidden;
+  }
+.tabBox .title{
+  display: block;
+  font-size: 20px;
+  font-weight: 500;
+  color: rgba(0, 0, 0, 0.85);
+  line-height: 28px;
+  margin: 26px 0 14px 0;
+}
+  .tabList{
+    display: inline-block;
+  }
+  .tab{
+    display: inline-block;
+    padding: 5px 14px;
+    margin-right: 20px;
+    background: #EEEEEE;
+    cursor: pointer;
+    font-size: 16px;
+    color: #333333;
+    border-radius: 6px 6px 0px 0px;
+  }
+  .activeTab{
+    background: @staticMainColor;
+    color: #fff;
+  }
+  .ql-align-right{
+    text-align: right;
+  }
+  .ql-align-center{
+    text-align: center;
+  }
+.open-win{
+  position: absolute;
+  right: 15px;
+  bottom: 8px;
+  cursor: pointer;
+  color: #3B9ED0;
+  font-size: 14px;
+  padding-left: 30px;
+  background: url("../images/link.png") 0 -2px no-repeat;
+  background-size: 25px 25px;
+  /*img{
+    width: 30px;
+    height: 30px;
+    vertical-align: middle;
+    margin-right: 10px;
+  }*/
+}
+.btmFix {
+  height: 20px;
+  width: calc(100% - 40px);
+  position: fixed;
+  bottom: 0;
+  left: 20px;
+  z-index: 20;
+  background-color: #fff;
+}
+
+.infos::-webkit-scrollbar, .anchors::-webkit-scrollbar {
+  /*滚动条整体样式*/
+  width: 6px;
+  height: 100px;
+  /*高宽分别对应横竖滚动条的尺寸*/
+  background: #ebeef5;
+  -webkit-box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.2);
+}
+
+.infos::-webkit-scrollbar-thumb, .anchors::-webkit-scrollbar-thumb {
+  /*滚动条里面小方块*/
+  width: 6px;
+  border-radius: 5px;
+  background: @staticMainColor;
+  height: 100px;
+}
+
+.infos::-webkit-scrollbar-track, .anchors::-webkit-scrollbar-track {
+  /*滚动条里面轨道*/
+  border-radius: 2px;
+  background: #f0f2f5;
+  opacity: .2;
+}
+.scaletitle{
+  font-size: 20px;
+  font-weight: 500;
+  color: #333333;
+  line-height: 28px;
+  margin: 30px 0 8px 0;
+  text-align: center;
+}
+.scaleBox{
+  border-bottom: none;
+}
+.contentList{
+  max-width: 100%;
+  border-bottom: 1PX solid #F3F3F3;
+  margin-bottom: 6px;
+  .item-list{
+    padding: 0 21px;
+    .item-title{
+      font-size: 14px;
+      font-weight: 400;
+      color: #333333;
+      line-height: 20px;
+      margin-top: 14px;
+    }
+    .item-content{
+      margin: 10px 0;
+      display: flex;
+      flex-flow: wrap;
+      .radio {
+        display: flex;
+        margin: 5px;
+        margin-right: 25px;
+        label{
+          display: flex;
+          align-items: center;
+          font-weight: 400;
+          color: #666666;
+          line-height: 20px;
+          & input{
+            margin-right: 6px;
+          }
+          .num{
+            margin-left: 10px;
+          }
+        }
+        .recommend{
+          width: 18px;
+          height: 18px;
+        }
+      } 
+    }
+  }
+}
+.scalebot{
+  display: flex;
+  align-items: center;
+  justify-content: flex-end;
+  margin-bottom: 44px;
+  .but{
+    width: 94px;
+    height: 34px;
+    background: #FFFFFF;
+    border-radius: 8px;
+    border: 1px solid #2A9BD5;
+    font-size: 16px;
+    font-weight: 400;
+    color: #2A9BD5;
+  }
+  .score{
+    font-size: 16px;
+    font-weight: 400;
+    color: #333333;
+    margin-right: 30px;
+    display: none;
+  }
+}
+.result{
+  height: 72px;
+  background: #EDFAFF;
+  border-radius: 10px;
+  font-size: 14px;
+  font-weight: 500;
+  color: #333333;
+  line-height: 72px;
+  margin-bottom: 40px;
+  text-align: center;
+  display: none;
+  margin: 0 6.5%;
+  .result_box{
+    height: 72px;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    padding:  0 20px;
+    .hel{
+      width: 21px;
+      height: 21px;
+      background: #2C96E5;
+      border-radius: 50%;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      color: #fff;
+      margin-right: 9px;
+      font-size: 12px;
+    }
+  }
+  
+}
+.result_title{
+  overflow: hidden;
+  text-overflow:ellipsis;
+  white-space: nowrap;
+}
+.foot{
+  margin-bottom: 20px;
+  margin-top: 40px;
+  display: none;
+  .foot_box{
+    display: flex;
+    justify-content: center;
+    .printing{
+      display: flex;
+      align-items: center;
+      justify-content: space-around;
+      width: 94px;
+      height: 32px;
+      background: #FFFFFF;
+      border-radius: 4px;
+      border: 1px solid #333333;
+      cursor: pointer;
+    }
+    .printing:hover{
+      background: #2C96E5;
+      color: #fff;
+      border:1px solid #2C96E5;
+    }
+    .copy{
+      width: 132px;
+      height: 32px;
+      background: #FFFFFF;
+      border-radius: 4px;
+      border: 1px solid #333333;
+      text-align: center;
+      line-height: 32px;
+      margin-left: 38px;
+      cursor: pointer;
+    }
+    .copy:hover{
+      background: #2C96E5;
+      color: #fff;
+      border:1px solid #2C96E5;
+    }
+  }
+  
+}
+#inputs{
+  position: absolute;top: 0;left: 0;opacity: 0;z-index: -10;
+}

+ 377 - 0
src/css/staticInfoOut.less

@@ -0,0 +1,377 @@
+@import './common.less';
+  ul,
+  li {
+    list-style: none;
+  }
+
+div,li,span,i,p,h1,h2,h3,h4,h5,pre{
+  font-family: '微软雅黑', '宋体';
+}
+  table {
+    border-collapse: collapse;
+    border-spacing: 0;
+  }
+
+  body {
+    /*min-width: 650px;*/
+    font-size: 14px;
+    overflow-y: hidden;
+    font-family: '微软雅黑', '宋体';
+    background: #dde2ea;
+    height: 100%;
+    color: #1E1E1E;
+    line-height: 21px;
+  }
+
+  h1 {
+    margin: 0 0px 15px 0px !important;
+    font-size: 18px !important;
+    /*line-height: 37px;*/
+    padding: 0 0 0 40px;
+  }
+
+  .titleH2 {
+    font-size: 18px;
+    position: relative;
+    background: #fff;
+    padding-right: 6px;
+    padding-left: 15px;
+    font-weight: bold;
+    border-left: 4px solid @staticMainColor;
+  }
+
+  .content {
+    position: relative;
+    height: 550px;
+  }
+  .infoBox {
+  }
+  .infoWrapper {
+    padding: 0 0 0 40px;
+  }
+  .circleBox {
+    position: absolute;
+    z-index: 10;
+    background: #fff;
+    left: -38px;
+    height: 32px;
+    top: -1px;
+  }
+  .circle {
+    display: inline-block;
+    *display:inline;
+    *zoom:1;
+    width: 10px;
+    height: 10px;
+    border-radius: 50%;
+    background: #3B9ED0;
+    position: relative;
+    top: 2px;
+  }
+  .infos {
+    height: 100%;
+    overflow-y: auto;
+    /*padding: 0 60px 0 0;*/
+    width: calc(100% - 250px);
+  }
+
+  .infos>div {
+    margin-right: 6.5%;
+    .contentWrapper img{
+      max-width: 100%;
+    }
+  }
+
+.infoBox {
+  border-bottom: 1px #E6E6E6 solid;
+  margin-bottom: 10px;
+}
+  .title {
+    position: relative;
+    line-height: 24px;
+    
+    margin: 0 0 4px;
+  }
+
+  .line {
+    border-bottom: 1px dashed #ccc;
+  }
+
+  .container {
+    width:100%;
+    overflow: hidden;
+    background: #fff;
+    margin: 0 auto;
+    padding: 8px 0 0px 0px;
+    display: none;
+    position: relative;
+    left: 0;
+    right: 0;
+  }
+
+  pre {
+    white-space: pre-wrap;
+    word-wrap: break-word;
+    color: #1E1E1E;
+    ol li {
+        list-style: decimal;
+        list-style-position:inside;
+    }
+    ul {
+        padding-left: 20px;
+        li {
+            list-style-position:inside;
+            list-style: inside;
+        }
+    }
+  }
+.anchors {
+  width: 210px;
+  position: absolute;
+  right:15px;
+  top: 0;
+  margin-right: 14px;
+  overflow-y: auto;
+  background-color: #EDFAFF;
+  padding: 25px 0;
+  height: calc(100% - 50px);
+  overflow-x: hidden;
+}
+
+.anchors ul {
+  margin-left: 30px;
+  padding: 15px 0px 15px 20px;
+  border-radius: 4px;
+  border: 1px solid #EDFAFF;
+  /*background-color: #EDFAFF;*/
+  line-height: 19px;
+}
+
+.anchors li {
+  position: relative;
+  border-left: 1px solid #8DD1EE;
+}
+.anchors li:first-child {
+  padding-top:30px
+}
+
+.anchors .anchor-line {
+  height: 30px;
+  width: 0;
+  border-left: 1px solid #8DD1EE;
+}
+
+.anchors .a-circle{
+  border:2px #8DD1EE solid;
+  width: 16px;
+  height: 16px;
+  background: #fff;
+  border-radius: 16px;
+  position: absolute;
+  left: 41px;
+  z-index: 1;
+}
+.anchors .a-circle:last-child{
+  position: unset;
+  margin-left: 41px;
+  margin-top: -16px;
+}
+.anchors i {
+  position: absolute;
+  display: inline-block;
+  width: 16px;
+  height: 16px;
+  border-radius: 8px;
+  border: 1px solid @staticMainColor;
+  background-color: @staticMainColor;
+  left: -10px;
+  top: 5px;
+  z-index: 1;
+}
+.anchors li:first-child i{
+  top:35px;
+}
+.anchors a {
+  display: inline-block;
+  position: relative;
+  top: 4px;
+  left: 0;
+  width: 126px;
+  padding: 0 0px 0 20px;
+  text-decoration: none;
+  font-size: 16px;
+  font-weight: 400;
+  word-wrap: break-word;
+}
+
+.anchors .active a {
+  /*color: #3B9ED0 !important;
+  font-weight: 700 !important;*/
+}
+
+.anchors .active i {
+  width: 26px;
+  height: 16px;
+  top: 6px;
+  left: -14px;
+  border-radius: 0;
+  border: none;
+  background-color: #F5F6F7;
+  background: url('../images/icon_current.svg') center center no-repeat;
+}
+  .disCopy {
+    -webkit-touch-callout: none;
+    -webkit-user-select: none;
+    -khtml-user-select: none;
+    -moz-user-select: none;
+    -ms-user-select: none;
+    user-select: none;
+  }
+  .tabBox{
+    position: relative;
+    background: #fff;
+    padding: 0 40px 0;
+  }
+  .showWhich {
+    width: 187px;
+    text-align: center;
+    padding: 30px 0 20px;
+    position: relative;
+    .showWhichSelect {
+      display: inline-block;
+      color: @staticMainColor;
+      background: url("../images/d1.png") 200px 9px #EAFCFF no-repeat;
+      font-size: 16px;
+      padding:1px 24px 2px 9px;
+      width: 100%;
+      cursor: pointer;
+    }
+    ul {
+      display: none;
+      position: absolute;
+      left: 0;
+      top: 52px;
+      z-index: 10;
+      background-color: #fff;
+      width: 220px;
+      box-shadow: 0px 6px 16px 0px rgba(0, 0, 0, 0.18);
+      border-radius: 4px;
+      border: 1px solid #E6E6E6;
+      li {
+        height: 35px;
+        line-height: 35px;
+        white-space: nowrap;/*强制在一行显示*/
+        text-overflow:ellipsis;/*设置超出内容显示...*/
+        overflow: hidden;/*一定不能少 超出的内容进行隐藏*/
+        padding:0 20px;
+        cursor: pointer;
+        &:hover {
+          background-color: #E2F1F8;
+        }
+      }
+    }
+  }
+  .titleCont{
+    background: #fff;
+    padding-left: 39px;
+    padding-bottom: 20px;
+  }
+.titleCont .title{
+  font-size: 20px;
+  font-weight: bold;
+  margin-right: 23px;
+}
+.tabList{
+  display: inline-block;
+}
+.tab{
+  display: inline-block;
+  padding: 0 5px;
+  margin-right: 20px;
+  background: #fff;
+  border-radius:2px;
+  cursor: pointer;
+  font-size: 11px;
+  color: #2A9BD5;
+  border:1px #2A9BD5 solid;
+  vertical-align: text-bottom;
+}
+.activeTab{
+  background: #2A9BD5;
+  color: #fff;
+}
+  .ql-align-right{
+    text-align: right;
+  }
+  .ql-align-center{
+    text-align: center;
+  }
+  
+.ellipsis{
+  white-space: nowrap;/*强制在一行显示*/
+  text-overflow:ellipsis;/*设置超出内容显示...*/
+  overflow: hidden;/*一定不能少 超出的内容进行隐藏*/
+}
+.empty{
+  text-align: center;
+  padding-top: 32vh;
+  img{
+    width: 140px;
+    height: 75px;
+  }
+  p{
+    margin-top: 10px;
+    font-size: 15px;
+    color: #aaa;
+  }
+}
+.open-win{
+  position: absolute;
+  right: 38px;
+  bottom: 28px;
+  cursor: pointer;
+  color: #3B9ED0;
+  font-size: 14px;
+  padding-left: 30px;
+  background: url("../images/link.png") 0 -2px no-repeat;
+  background-size: 25px 25px;
+}
+.footer{
+  width: 100%;
+  height: 52px;
+  background: #172238;
+  padding-top: 8px;
+  position: absolute;
+  bottom: 0;
+  z-index: 1;
+  p{
+    color:#fff;
+    text-align: center;
+    font-size: 12px;
+    white-space: nowrap;
+  }
+}
+
+.infos::-webkit-scrollbar, .anchors::-webkit-scrollbar {
+  /*滚动条整体样式*/
+  width: 6px;
+  height: 100px;
+  /*高宽分别对应横竖滚动条的尺寸*/
+  background: #ebeef5;
+  -webkit-box-shadow: inset 1px 0 1px rgba(0, 0, 0, 0.2);
+}
+
+.infos::-webkit-scrollbar-thumb, .anchors::-webkit-scrollbar-thumb {
+  /*滚动条里面小方块*/
+  width: 6px;
+  border-radius: 5px;
+  background: @staticMainColor;
+  height: 100px;
+}
+
+.infos::-webkit-scrollbar-track, .anchors::-webkit-scrollbar-track {
+  /*滚动条里面轨道*/
+  border-radius: 2px;
+  background: #f0f2f5;
+  opacity: .2;
+}

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 68 - 0
src/html/caseWriteStandard.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 151 - 0
src/html/cdss.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 116 - 0
src/html/cdssHorizontal.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 31 - 0
src/html/cdssPlan.html


+ 13 - 0
src/html/check.html

@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>Document</title>
+</head>
+<body>
+  <div class="">
+
+  </div>
+</body>
+</html>

+ 541 - 0
src/html/emergency.html

@@ -0,0 +1,541 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>Document</title>
+</head>
+<body>
+  <div class="emergencyLis">
+    <div class="disName">
+      <p class="name"><span id="disName">心包积液</span>救治流程<img src="./images/pic.png" alt=""></p>
+      <div class="disNameLis">其他危重症状</div>
+      <ul class="disLis">
+        <i></i>
+        <li data-val="0">心包积液</li>
+        <li data-val="1">气胸</li>
+        <li data-val="2">肺栓塞</li>
+        <li data-val="3">急性冠脉综合征</li>
+        <li data-val="4">主动脉夹层</li>
+      </ul>
+    </div>
+    <div class="disFst" id="disFst">
+      <div class="step stepFst">
+        <p>步骤1</p>
+        <h4>进行全血细胞计数+血型鉴定、术前免疫、凝血功能、超声心动图等检查</h4>
+      </div>
+      <div class="step stepSec">
+        <p>步骤2</p>
+        <div class="disBtn disBtnRed">
+          <span>心包积液</span>
+          <i id="sureBtn1">确定</i>
+          <img id="backBtn1" src="./images/back.png" alt="">
+        </div>
+        <div class="disBtn disBtnBlue">
+          <span>非心包积液</span>
+          <i id="sureBtn2">确定</i>
+          <img id="backBtn2" src="./images/back.png" alt="">
+        </div>
+        <div class="disMainRed">
+          <div class="outHeart">心外会诊</div>
+          <div class="inHeart">心内会诊</div>
+          <h5>判断是否心包填塞</h5>
+          <div class="fullPink">是</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">心包穿刺</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">穿刺液分析对症治疗</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">抢救室待床!</div>
+          <br><br>
+          <div class="fullBlue">否</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">积液量少查找病因对症治疗</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">病情未控制病情恶化</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">心包穿刺</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">穿刺液分析对症治疗</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">抢救室待床!</div>
+        </div>
+        <div class="disMainBlue">
+            <h4>查找其他原因</h4>
+        </div>
+      </div>
+    </div>
+    <!-- <div class="disFst disSec">
+      <div class="step stepFst">
+        <p>步骤1</p>
+        <h4>听诊呼吸音是否减弱或消失</h4>
+      </div>
+      <div class="step stepSec">
+        <p>步骤2</p>
+        <h4>进行全血细胞计数+血型鉴定、术前免疫、凝血功能、肺部B超、胸部X线或者胸部CT检查</h4>
+        <div class="disBtn disBtnRed">
+          <span>气胸患者</span>
+          <i id="sureBtn3">确定</i>
+          <img id="backBtn3" src="./images/back.png" alt="">
+        </div>
+        <div class="disBtn disBtnBlue">
+          <span>非气胸患者</span>
+          <i id="sureBtn4">确定</i>
+          <img id="backBtn4" src="./images/back.png" alt="">
+        </div>
+        <div class="disMainRed">
+          <h5>结合症状体征是否危机生命是否濒死休克</h5>
+          <div class="inHeart">胸外科会诊</div>
+        </div>
+        <div class="disBtn disBtnTrdRed disBtnTrd">
+          <span>是</span>
+          <i id="sureBtn5">确定</i>
+        </div>
+        <div class="disBtn disBtnTrdBlue disBtnTrd">
+          <span>否</span>
+          <i id="sureBtn6">确定</i>
+        </div>
+        <div class="disMainBlue">
+            <h4>查找其他原因</h4>
+        </div>
+      </div>
+      <div class="step stepTrd stepTrdRight">
+        <p class="step3">步骤3</p>
+        <div class="disBtn disBtnTreRed">
+          <span>是</span>
+          <img id="backBtn7" src="./images/back.png" alt="">
+        </div>
+        <div class="inHeart">急诊胸腔闭式引流</div>
+        <p>抢救室待救</p>
+      </div>
+      <div class="step stepTrd stepTrdWrong">
+        <p class="step3">步骤3</p>
+        <div class="disBtn disBtnTreBlue">
+          <span>否</span>
+          <img id="backBtn8" src="./images/back.png" alt="">
+        </div>
+        <h4>判断肺压缩大于25%或小于25%</h4>
+        <div class="btnBgWhite">肺压缩大于25%</div>
+        <h4>建议保守对症治疗止咳、祛痰、急诊留观</h4>
+        <div class="inHeart">择期胸穿</div>
+        <div class="lineSpace"></div>
+        <div class="btnBgWhite">肺压缩小于25%</div>
+        <h4>建议保守对症治疗止咳、祛痰</h4>
+        <br>
+        <div class="spaceBetween">
+          <span>病情未控制继续恶化</span>
+          <i>择期胸穿</i>
+        </div>
+        <div class="spaceBetween">
+          <span>病情好转</span>
+          <i>胸外科随诊</i>
+        </div>
+      </div>
+    </div>
+    <div class="disFst disTrd">
+      <div class="step stepFst">
+        <p>步骤1</p>
+        <h4>立即进行全血细胞计数+血型鉴定、术前免疫、凝血功能、D-二聚体、床旁超声心动图检查</h4>
+      </div>
+      <div class="step stepSec">
+        <p>步骤2</p>
+        <h4>判断血压是否正常或休克</h4>
+        <div class="disBtn disBtnRed">
+          <span>伴低血压休克</span>
+          <i id="sureBtn9">确定</i>
+          <img id="backBtn9" src="./images/back.png" alt="">
+        </div>
+        <div class="disBtn disBtnBlue">
+          <span>不伴低血压休克</span>
+          <i id="sureBtn10">确定</i>
+          <img id="backBtn10" src="./images/back.png" alt="">
+        </div>
+        <h4 class="disMainRed9">判断右心负荷是否增加</h4>
+        <div class="disBtn disBtnTrdRed disBtnTrd9">
+          <span>右心负荷增加(DDI阳性)</span>
+          <i id="sureBtn11">确定</i>
+        </div>
+        <div class="disBtn disBtnTrdBlue disBtnTrd9">
+          <span>右心负荷不增加(DDI阴性)</span>
+          <i id="sureBtn12">确定</i>
+        </div>
+        <h4 class="disMainRed10">根据临床经验或者PE评分规则评估PE可能性</h4>
+        <div class="disBtn disBtnTrdRed disBtnTrd10">
+          <span>评分高或DDI阳性</span>
+          <i id="sureBtn13">确定</i>
+        </div>
+        <div class="disBtn disBtnTrdBlue disBtnTrd10">
+          <span>评分低且DDI阴性</span>
+          <i id="sureBtn14">确定</i>
+        </div>
+        <div class="disMainBlue">
+            <h4>查找其他原因</h4>
+        </div>
+      </div>
+      <div class="step stepTrd stepTrdRight">
+        <p class="step3">步骤3</p>
+        <div class="disBtn disBtnTreRed">
+          <span>评分高或DDI阳性</span>
+          <img id="backBtn15" src="./images/back.png" alt="">
+        </div>
+        <div class="outHeart">呼吸科会诊</div>
+        <h4>建议检查CTPA(CT肺动脉造影)</h4>
+        <br>
+        <div class="spaceBetween">
+          <span>阳性</span>
+          <i>按肺栓塞治疗</i>
+        </div>
+        <div class="spaceBetween">
+          <span>阴性</span>
+          <i>请相关科室会诊寻找病因</i>
+        </div>
+      </div>
+      <div class="step stepTrd stepTrdRight01">
+        <p class="step3">步骤3</p>
+        <div class="disBtn disBtnTreRed">
+          <span>右心负荷增加(DDI阳性)</span>
+          <img id="backBtn17" src="./images/back.png" alt="">
+        </div>
+        <div class="outHeart">呼吸科会诊</div>
+        <h4>生命体征不稳定</h4>
+        <div class="emptyMain">根据病史、体征、Well、Geneva肺栓塞评分判断病情</div>
+        <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+        <div class="emptyMain">考虑溶栓或者血栓切除</div>
+        <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+        <div class="emptyMain">ACLS(高级心脏生命支持)</div>
+        <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+        <div class="emptyMain">收入ICU</div>
+        <h4>生命体征稳定建议检查CTPA(CT肺动脉造影)</h4>
+        <div class="spaceBetween">
+          <span>阳性</span>
+          <i>按肺栓塞治疗</i>
+        </div>
+        <div class="spaceBetween">
+          <span>阴性</span>
+          <i>请相关科室会诊寻找病因</i>
+        </div>
+      </div>
+      <div class="step stepTrd stepTrdWrong">
+        <p class="step3">步骤3</p>
+        <div class="disBtn disBtnTreBlue">
+          <span>评分低且DDI阴性</span>
+          <img id="backBtn16" src="./images/back.png" alt="">
+        </div>
+        <h4>请相关科室会诊寻找病因</h4>
+      </div>
+      <div class="step stepTrd stepTrdWrong01">
+        <p class="step3">步骤3</p>
+        <div class="disBtn disBtnTreBlue">
+          <span>右心负荷不增加(DDI阴性)</span>
+          <img id="backBtn18" src="./images/back.png" alt="">
+        </div>
+        <h4>建议ACLS(高级心脏生命支持)</h4>
+        <h4>请相关科室会诊寻找病因</h4>
+      </div>
+    </div>
+    <div class="disFst disFou">
+      <div class="step stepFst">
+        <p>步骤1</p>
+        <h4>立即检查12导联或18导联心电图</h4>
+      </div>
+      <div class="step stepSec">
+        <p>步骤2</p>
+        <h4>判断心电图ST段是否有异常!</h4>
+        <p>(如果不能明确5-10min重复一次)</p>
+        <div class="disBtn disBtnRed">
+          <span>ST段抬高或新发LBBB</span>
+          <i id="sureBtn23">确定</i>
+          <img id="backBtn23" src="./images/back.png" alt="">
+        </div>
+        <div class="disBtn disBtnBlue">
+          <span>ST段压低或无特征性改变</span>
+          <i id="sureBtn24">确定</i>
+          <img id="backBtn24" src="./images/back.png" alt="">
+        </div>
+      </div>
+      <div class="step stepTrd stepTrdRight">
+        <p class="step3">步骤3</p>
+        <div class="outHeart">紧急心内会诊</div>
+        <h4>进一步诊疗</h4>
+        <p>(STEMI处置时间&lt;10min)</p>
+        <h4>询问并立即服用负荷剂量的双抗药物(若未服用)</h4>
+        <p>阿司匹林0.3g+氯吡格雷300mg/600mg(急需手术)或 阿司匹林0.3g+替格瑞洛180mg( "心拯救")</p>
+        <h4>患者发病时间!</h4>
+        <ul class="jxgzdm">
+          <li>1、发病大于12小时</li>
+          <li>2、监测生命体征,持续心电监护,建立静脉通道(左侧肢体,1-2路) ;</li>
+          <li>3、必要时给氧,保持血氧饱和度95%以上 ;</li>
+          <li>4、取血化验 : <span>血常规</span><span>急诊生化</span><span>心肌酶谱</span><span>Troponinl</span><span>凝血功能</span><span>术前免疫</span></li>
+          <li>5、床边心超检查 ;</li>
+          <li>6、询问相关病史和体格检查 ;</li>
+        </ul>
+        <div class="disBtn disBtnRed01">
+          <span>发病小于12小时</span>
+          <i id="sureBtn25">确定</i>
+          <img id="backBtn25" src="./images/back.png" alt="">
+        </div>
+        <div class="disBtn disBtnBlue01">
+          <span>发病大于12小时</span>
+          <i id="sureBtn26">确定</i>
+          <img id="backBtn26" src="./images/back.png" alt="">
+        </div>
+        <div class="showBtn25">
+          <br>
+          <div class="emptyMain">启动导管室、获取知情同意联系床位</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">家属同意-导管室直接运转</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">控制D-B时间&lt;90min</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">家属不同意或者导管室到达&gt;60min</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">排除禁忌后考虑立即溶栓(D-B &lt;30min)</div>
+        </div>
+        <div class="showBtn26">
+          <h4>判断患者是否有急诊PCI指征</h4>
+          <div class="fullPink">是,有急诊PCI指征</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">启动导管室、获取知情同意联系床位</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">家属同意-导管室直接运转</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">控制D-B时间&lt;90min</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">家属不同意或者导管室到达&gt;60min</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">排除禁忌后考虑立即溶栓(D-B &lt;30min)</div>
+          <br><br>
+          <div class="fullBlue">否,没有急诊PCI指征</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">收住ICU/CCU</div>
+        </div>
+      </div>
+      <div class="step stepTrd stepTrdWrong">
+        <p class="step3">步骤3</p>
+        <h4>进一步诊疗</h4>
+        <p>(STEMI处置时间&lt;10min)</p>
+        <h4>查血:检查心肌酶谱+Troponinl</h4>
+        <p>必要时可 Q4-6h 复查</p>
+        <div class="inHeart special">普通心内科会诊</div>
+        <h4>判断检查结果是否异常</h4>
+        <div class="disBtn disBtnRed01">
+          <span>诊断NSTEMI-ACS</span>
+          <i id="sureBtn27">确定</i>
+          <img id="backBtn27" src="./images/back.png" alt="">
+        </div>
+        <div class="disBtn disBtnBlue01">
+          <span>排除NSTEMI-ACS</span>
+          <i id="sureBtn28">确定</i>
+          <img id="backBtn28" src="./images/back.png" alt="">
+        </div>
+        <h4 class="showBtn28">已排除NSTEMI-ACS ,请其他诊室会诊!</h4>
+        <div class="showBtn27">
+          <h4>立即服用负荷剂量的双抗药物(若未服用)</h4>
+          <div>阿司匹林0.3g+氯吡格雷300mg/600mg(急需手术)或 阿司匹林0.3g+替格瑞洛180mg("心拯救")</div>
+          <h4>判断患者危重程度</h4>
+          <ul class="chengdu">
+            <li class="selectTab">极高危患者</li>
+            <li>高危患者</li>
+            <li>中危患者</li>
+            <li>低危患者</li>
+          </ul>
+          <h4>判断依据</h4>
+          <ul class="doList">
+            <li>
+              <input type="checkbox" data-val="0">
+              <i> 1、血流动力学不稳定或心源性休克</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="1">
+              <i> 2、再发性或药物治疗难以缓解的持续性胸痛</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="2">
+              <i> 3、危及生命的心律失常或心跳骤停</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="3">
+              <i> 4、心肌梗死的机械性并发症</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="4">
+              <i> 5、急性心衰</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="5">
+              <i> 6、ST-T动态改变,特别是间歇性ST段抬高</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="-1">
+              <i> 7、以上依据都不符合</i>
+            </li>
+          </ul>
+          <ul class="doList" style="display: none;">
+            <li>
+              <input type="checkbox" data-val="0">
+              <i> 1、肌钙蛋白水平升高或降低与心梗一致</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="1">
+              <i> 2、动态ST或T波改变(有或无症状)</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="2">
+              <i> 3、GRACE评分&gt;140</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="-1">
+              <i> 4、以上依据都不符合</i>
+            </li>
+          </ul>
+          <ul class="doList" style="display: none;">
+            <li>
+              <input type="checkbox" data-val="0">
+              <i> 1、糖尿病</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="1">
+              <i> 2、肾功能不全(eGFR&lt;60ml/min/1.73m2)</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="2">
+              <i> 3、LVEF&lt;40%或充血性心力衰竭</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="3">
+              <i> 4、梗死后早起心绞痛</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="4">
+              <i> 5、近期PCI史</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="5">
+              <i> 6、之前CABG史</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="6">
+              <i> 7、GRACE评分&gt;109且&lt;140</i>
+            </li>
+            <li>
+              <input type="checkbox" data-val="-1">
+              <i> 8、以上依据都不符合</i>
+            </li>
+          </ul>
+          <div class="lastResult" style="display: none;">
+            <div class="lowDis">低危患者</div>
+            <h4>留观或收住心内科</h4>
+          </div>
+        </div>
+        <div class="partPool">
+          <div class="lowDis">极高危患者</div>
+          <h4>治疗方案</h4>
+          <div class="emptyMain">启动导管室、获取知情同意联系床位</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">家属同意-导管室直接运转</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">控制D-B时间&lt;90min</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">家属不同意或者导管室到达>60min</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">排除禁忌后考虑立即溶栓(D-B &lt;30min)</div>
+        </div>
+        <div class="partPool01">
+          <div class="lowDis"></div>
+          <h4>治疗方案</h4>
+          <div class="emptyMain">推荐早期侵入治疗(&lt;24h)</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">收住ICU/CCU</div>
+          <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+          <div class="emptyMain">限期冠脉造影、继续监测生命体征、心电图(q6h)、心肌酶谱变化(q6h)、若有变化随时心内科会诊</div>
+        </div>
+      </div>
+    </div>
+    <div class="disFst disFth">
+      <div class="step stepFst">
+        <p>步骤1</p>
+        <h4>立即进行全血细胞计数+血型鉴定、术前免疫、凝血功能、D-二聚体、床旁超声心动图检查</h4>
+      </div>
+      <div class="step stepSec">
+        <p>步骤2</p>
+        <h4>判断DDI和TTE阴性或阳性!</h4>
+        <div class="disBtn disBtnRed">
+          <span>DDI阳性或TTE阳性(疑似AD)</span>
+          <i id="sureBtn19">确定</i>
+          <img id="backBtn19" src="./images/back.png" alt="">
+        </div>
+        <div class="disBtn disBtnBlue">
+          <span>DDI阴性或TTE阴性</span>
+          <i id="sureBtn20">确定</i>
+          <img id="backBtn20" src="./images/back.png" alt="">
+        </div>
+        <h4 class="disMainRed20">再次详细询问病史、查体,必要时行主动脉CTA</h4>
+        <h4 class="disMainRed20">请相关科室会诊寻找病因</h4>
+      </div>
+      <div class="step stepTrd stepTrdRight">
+        <p class="step3">步骤3</p>
+        <div class="disBtn disBtnTreRed">
+          <span>立即检查主动脉CTA</span>
+        </div>
+        <div class="outHeart">血管外科内会诊</div>
+        <div class="outHeart">心外会诊</div>
+        <h4>判断检查结果数据</h4>
+        <div class="disBtn disBtnRed01">
+          <span>确诊AD(A型或B型)</span>
+          <i id="sureBtn21">确定</i>
+          <img id="backBtn21" src="./images/back.png" alt="">
+        </div>
+        <div class="disBtn disBtnBlue01">
+          <span>排除AD</span>
+          <i id="sureBtn22">确定</i>
+          <img id="backBtn22" src="./images/back.png" alt="">
+        </div>
+        <h4 class="sureResult22">抢救室待床</h4>
+        <h4 class="backResult22">请相关科室会诊寻找病因</h4>
+      </div>
+      <div class="step stepTrd stepTrdRight01">
+        <p class="step3">步骤3</p>
+        <div class="disBtn disBtnTreRed">
+          <span>右心负荷增加(DDI阳性)</span>
+          <img id="backBtn17" src="./images/back.png" alt="">
+        </div>
+        <div class="outHeart">呼吸科会诊</div>
+        <h4>生命体征不稳定</h4>
+        <div class="emptyMain">根据病史、体征、Well、Geneva肺栓塞评分判断病情</div>
+        <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+        <div class="emptyMain">考虑溶栓或者血栓切除</div>
+        <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+        <div class="emptyMain">ACLS(高级心脏生命支持)</div>
+        <div class="imgDown"><img src="./images/down2.png" alt=""></div>
+        <div class="emptyMain">收入ICU</div>
+        <h4>生命体征稳定建议检查CTPA(CT肺动脉造影)</h4>
+        <div class="spaceBetween">
+          <span>阳性</span>
+          <i>按肺栓塞治疗</i>
+        </div>
+        <div class="spaceBetween">
+          <span>阴性</span>
+          <i>请相关科室会诊寻找病因</i>
+        </div>
+      </div>
+      <div class="step stepTrd stepTrdWrong">
+        <p  class="step3">步骤3</p>
+        <div class="disBtn disBtnTreBlue">
+          <span>评分低且DDI阴性</span>
+          <img id="backBtn16" src="./images/back.png" alt="">
+        </div>
+        <h4>请相关科室会诊寻找病因</h4>
+      </div>
+      <div class="step stepTrd stepTrdWrong01">
+        <p class="step3">步骤3</p>
+        <div class="disBtn disBtnTreBlue">
+          <span>右心负荷不增加(DDI阴性)</span>
+          <img id="backBtn18" src="./images/back.png" alt="">
+        </div>
+        <h4>建议ACLS(高级心脏生命支持)</h4>
+        <h4>请相关科室会诊寻找病因</h4>
+      </div>
+    </div> -->
+  </div>
+</body>
+</html>

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 67 - 0
src/html/generalTreat.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 57 - 0
src/html/homeStatic.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 51 - 0
src/html/icssIndex.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 66 - 0
src/html/informationOut.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 66 - 0
src/html/searchStaticList.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 75 - 0
src/html/smartAlert.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 73 - 0
src/html/staticInfo.html


Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 66 - 0
src/html/staticInfoOut.html


+ 23 - 0
src/html/view.html

@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+  <meta charset="UTF-8">
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <title>Document</title>
+  <style>
+    * {
+      margin: 0;
+      padding: 0;
+      overflow: auto;
+    }
+    img {
+      width: 900px;
+    }
+  </style>
+</head>
+<body>
+  <div id="imgView">
+
+  </div>
+</body>
+</html>

BIN
src/images/back.png


BIN
src/images/collapse2.png


BIN
src/images/d.png


BIN
src/images/d1.png


+ 15 - 0
src/images/d1.svg

@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="10px" height="7px" viewBox="0 0 10 7" version="1.1" xmlns="http://www.w3.org/2000/svg"
+     xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 61 (89581) - https://sketch.com -->
+    <title>向下</title>
+    <desc>Created with Sketch.</desc>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="辅检详情对接页" transform="translate(-139.000000, -37.000000)" fill="#2A9BD5" fill-rule="nonzero">
+            <g id="向下" transform="translate(139.000000, 37.000000)">
+                <path d="M0.617841012,0 C0.108021168,0 -0.218083867,0.753229533 0.172524759,1.18540835 L4.56116968,6.04118247 C4.81296271,6.31960584 5.18729092,6.31960584 5.43897029,6.04118247 L9.82781761,1.18552892 C10.2085166,0.76421551 9.91163569,0.000137215503 9.38886126,0.000137215503 L0.617830114,0 L0.617841012,0 Z"
+                      id="路径"></path>
+            </g>
+        </g>
+    </g>
+</svg>

BIN
src/images/dn.png


BIN
src/images/down2.png


BIN
src/images/empty.png


BIN
src/images/empty2.png


BIN
src/images/empty3.png


BIN
src/images/g1.png


BIN
src/images/go.png


BIN
src/images/icon_arrow_down.png


BIN
src/images/icon_arrow_up.png


BIN
src/images/icon_case_write.png


BIN
src/images/icon_checkup_push.png


BIN
src/images/icon_common_treat_push.png


+ 13 - 0
src/images/icon_current.svg

@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<svg width="26px" height="16px" viewBox="0 0 26 16" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
+    <!-- Generator: Sketch 61 (89581) - https://sketch.com -->
+    <title>矩形</title>
+    <desc>Created with Sketch.</desc>
+    <g id="页面-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
+        <g id="疾病详情-临床路径页" transform="translate(-1121.000000, -304.000000)" fill="#2A9BD5">
+            <g id="编组-3" transform="translate(1079.000000, 126.000000)">
+                <polygon id="矩形" points="42 178 63.6239567 178 68 186.189897 63.6239567 194 42 194"></polygon>
+            </g>
+        </g>
+    </g>
+</svg>

BIN
src/images/icon_diag_push.png


BIN
src/images/icon_diag_push2.png


BIN
src/images/icon_drug_push.png


BIN
src/images/icon_info.png


BIN
src/images/icon_info_on.png


BIN
src/images/icon_lis_push.png


BIN
src/images/icon_mark.png


BIN
src/images/icon_nurse_push.png


BIN
src/images/icon_operation_push.png


BIN
src/images/icon_pacs_push.png


BIN
src/images/icon_scale_push.png


BIN
src/images/icon_symptom_push.png


BIN
src/images/icon_waring_white.png


BIN
src/images/icon_warning.png


BIN
src/images/jianb.png


BIN
src/images/left.png


BIN
src/images/leftpage.png


BIN
src/images/link.png


BIN
src/images/loading.gif


BIN
src/images/new2.png


BIN
src/images/nolis.png


BIN
src/images/pic.png


BIN
src/images/pic1.png


BIN
src/images/pic2.png


BIN
src/images/pic3.png


BIN
src/images/pic4.png


BIN
src/images/pic5.png


BIN
src/images/printing.png


BIN
src/images/printing2.png


BIN
src/images/rightpage.png


BIN
src/images/staticBg.png


BIN
src/images/staticBgS.png


BIN
src/images/staticLogo.png


BIN
src/images/t1.png


BIN
src/images/t2.png


BIN
src/images/t3.png


BIN
src/images/treat_icon.png


BIN
src/images/warn.png


BIN
src/images/word.png


+ 14 - 0
src/js/caseWriteStandard.js

@@ -0,0 +1,14 @@
+const $ = require("jquery");
+const {getUrlArgObject} = require('./promise.js');
+
+$(function(){
+  let caseWriteStandradList = JSON.parse(getUrlArgObject("caseWriteStandradList")) || {}
+  renderCaseWriteStandrad(caseWriteStandradList)
+  function renderCaseWriteStandrad(list){
+    let str = ``
+    for(let i = 0; i < list.length; i++){
+        str+= `<div>${list[i]}</div>`
+      }
+      $(".content").append(str)
+  }
+})

+ 807 - 0
src/js/cdss.js

@@ -0,0 +1,807 @@
+if(!Promise){
+  var Promise = require("bluebird");
+// Configure
+  Promise.config({
+    longStackTraces: true,
+    warnings: true // note, run node with --trace-warnings to see full stack traces for warnings
+  })
+}
+require('./../css/reset.css');
+require('./../css/cdss.less');
+require('./../css/popup.css');
+require('./../css/followUpV.less');
+require('./../css/staticSearch.css')
+require('./../js/staticSearch.js')
+require('./../images/empty.png').replace(/^undefined/g, '')
+require('./../images/empty2.png').replace(/^undefined/g, '')
+require('./../images/empty3.png').replace(/^undefined/g, '')
+require('./../images/loading.gif').replace(/^undefined/g, '')
+require('./../images/right.png').replace(/^undefined/g, '')
+require('./../images/new.png').replace(/^undefined/g, '')
+require('./../images/t1.png').replace(/^undefined/g, '')
+require('./../images/t2.png').replace(/^undefined/g, '')
+require('./../images/t3.png').replace(/^undefined/g, '')
+require('./../images/go.png').replace(/^undefined/g, '')
+require('./../images/g1.png').replace(/^undefined/g, '')
+// require('./popupEdit.js');
+
+let infoImg = require('./../images/icon_info.png').replace(/^undefined/g, '')
+let infoImgOn = require('./../images/icon_info_on.png').replace(/^undefined/g, '')
+let iconArrowUp = require('./../images/icon_arrow_up.png').replace(/^undefined/g, '')
+let iconArrowDown = require('./../images/icon_arrow_down.png').replace(/^undefined/g, '')
+let iconMark = require('./../images/icon_mark.png').replace(/^undefined/g, '')
+let warnImg = require('./../images/icon_warning.png').replace(/^undefined/g, '')
+let warnImgWhite = require('./../images/icon_waring_white.png').replace(/^undefined/g, '')
+
+
+const $ = require("jquery");
+const { post,config,getUrlArgObject,openNewWin,titleConfig } = require('./promise.js');
+const { renderFollowUp, followEmpty } = require('./followUp.js');
+const {getTcmMr} = require('./tcmiss.js');
+
+const { transConf } = require('./util.js');
+
+
+//静态知识类型: 1:诊断 2.药品 3.化验套餐 4.化验明细 5.辅检 6.手术和操作
+
+let moduleConfig={
+  auxiliary:"recommendWrap",
+  qc:"qcWrap",
+  medical:"medicalKonwledgeWrap",
+    followup: "followUpWrap",
+    tcmiss: 'tcmWarp',
+}
+let allInterface = 0
+let hasCompleteTnterface = 0
+let moduleNum = 0
+let mrId = getUrlArgObject('mrId')
+let isTcm = getUrlArgObject('isTcm')
+let pushMrId = getUrlArgObject('pushMrId')
+const tipsMode = getUrlArgObject('tipsMode') || 1
+let planCode = getUrlArgObject('planCode') || 'all'
+let hospitalIdUrl = getUrlArgObject('hospitalId') || ''
+let msg;
+let treatDisName;
+
+function getMRInfo() {
+   return post(config.getMr2,{mrId:mrId})
+}
+$('.empty').css("display","none")
+if(mrId){
+  Promise.all([getConf(),getMRInfo()]).then(([res1,res2])=>{
+    const data = res1.data.data&&res1.data.data[0]
+    msg = res2.data.data ||{}
+    if(!(msg&&msg.diseaseName&&msg.diseaseName.name)){
+      msg.diseaseName={}
+    }
+      window.msg = msg;
+    renderPage(data)
+  })
+} else{
+  getConf().then(res =>{
+    if(res.data.code == '0'){
+      // const configArr = res.data.data.pushSetList || []
+      // getPageInfo(configArr)
+      const data = res.data.data&&res.data.data[0]
+      renderPage(data)
+    }
+  })
+  followEmpty()
+}
+
+
+
+function getConf() {
+  var msg = window.msg 
+  return post(config.getPushSet,{hospitalId:hospitalIdUrl||msg.hospitalId||1,planCode: planCode})
+}
+
+function getPushInfo() {
+    return post(config.pushInner, Object.assign({}, msg, {
+        featureType: '1,4,5,6,7,8,9,10,12,13',
+        hospitalId: hospitalIdUrl || msg.hospitalId,
+        ruleType: config.ruleTypeMap['22']
+    }))
+  
+}
+function getPusgWarning(){
+    const indPush = pushMrId ? config.indicationPushCache : config.indicationPush;
+    return post(indPush, Object.assign({}, msg, {ruleType: '1,2,3,4', mrId: pushMrId || mrId}))
+}
+
+function getWriteStandardPush(){
+  return  post(config.caseWritingPrompt,Object.assign({},msg,{hospitalId:2||msg.hospitalId}))
+}
+
+function getHosptDeptUsal(){
+  var msg = window.msg
+  const param ={ 
+    age: msg.age, 
+    deptName: msg.deptName,
+    hospitalCode: msg.hosCode,
+    sexType: msg.sex,
+    type: 1,
+  }
+  return  post(config.getHosptDeptUsal,param)
+}
+
+
+
+
+function getPushData(res){
+  if(res&&res.data&&res.data.data&&res.data.data.dis&&res.data.data.dis){
+    let dis = res.data.data.dis;
+    //急诊显示规则,主诊断有急诊优先显示,没有则显示推送的,推送也没有就不显示
+    if(dis&&dis['页面急诊']&&(dis['页面急诊'].length>0)){
+      let name = dis['页面急诊'][0].name || ''
+      $(".allDis .disName").html(name)
+      disName = name
+      if(name){
+        $(".singleDis").css("display","block")
+      }
+    }else if(dis&&dis['急诊']&&dis['急诊'].length>0){
+      let name = dis['急诊'][0].name || ''
+      $(".allDis .disName").html(name)
+      disName = name
+      if(name){
+        $(".singleDis").css("display","block")
+      }
+    }
+  }
+}
+let disName=""
+function handleShow(){
+  const newinConf = {
+    width: '600',   //窗口的文档显示区的宽度。以像素计。
+    height: '826',  //窗口文档显示区的高度。以像素计。
+    left: '0',  //窗口的 x 坐标。以像素计。
+    top: '0',    //窗口的 y 坐标。以像素计。
+    openMode: "_blank"  //每次都是新窗口打开为_blank,打开同一窗口填写任意字符串
+  }
+  const newWindowLocation = `width=${newinConf.width}, height=${newinConf.height}, left=${newinConf.left}, top=${newinConf.top} scrollbars=yes`
+  window.open('./emergency.html?disName='+disName, newinConf.openMode, newWindowLocation)
+}
+$(document).on('click',".allDis .allName",function(){
+  handleShow()
+})
+$(document).on('click',".singleDis",function(){
+  $(this).next().css("display","block")
+  $(this).css("display","none")
+})
+$(document).on('click',".allDis .right,.allDis .secDis",function(){
+  $(".allDis").css("display","none")
+  $(".singleDis").css("display","block")
+})
+
+
+
+function moreInfo() {
+  $('.infoImg').off("click").click(function(){
+    const name = $(this).parent().attr('data-name')
+    const type = $(this).parent().attr('data-type')
+    openNewWin(`staticInfo.html?type=${encodeURIComponent(type)}&position=0&name=${encodeURIComponent(name)}`)
+  })
+  $('.pushItemName').off("click").click(function () {
+    console.log(11)
+    const name = $(this).parent().attr('data-name')
+    const type = $(this).parent().attr('data-type')
+    console.log(name)
+    openNewWin(`staticInfo.html?type=${encodeURIComponent(type)}&position=0&name=${encodeURIComponent(name)}&page=1`)
+  })
+}
+
+function getVersion() {
+  return post(config.getVersion, 'confArr').then((res) => {
+    const data = res.data.data;
+    const ver = localStorage.getItem('versionTime');
+    const time = data.refreshTime;
+    if(!ver||ver===time+"=new"||time!==ver.replace("=new","")){       //判断版本是否更新
+      $(".version-tip").addClass('new-icon');
+      localStorage.setItem('versionTime',time+"=new");     //保存版本更新时间
+    }else{
+      $(".version-tip").removeClass("new-icon");
+    }
+  })
+}
+function getDisclaimer() {
+    return post(config.disclaimer, {}).then((res) => {
+        const data = res.data.data.filter(item => item.disclaimerCode == "2");
+        $(".responsibility").html((data[0] || {}).description);
+        // $(".iframeWrap").css({height: $(window).height()-115-$(".responsibility").height()+"px"})
+
+    })
+}
+
+function renderPage(pageSet){
+  if(!pageSet || !pageSet.sysSetInfo){
+    return
+  }
+  renderTab(pageSet.sysSetInfo)
+  adjustHei()
+  const hasAuxiliary = hasTab("辅助信息",pageSet.sysSetInfo)
+  const hasMedical = hasTab("医学知识",pageSet.sysSetInfo)
+  const hasFollowUp = hasTab("随访计划",pageSet.sysSetInfo)
+  const hasTcm = hasTab("中医辅助", pageSet.sysSetInfo);
+
+  if (hasTcm) {
+      getTcmMr(mrId, hasTcm);
+  }
+  if(!mrId){
+    empty()
+    return
+  }
+  if(hasAuxiliary){
+    renderModuleWrapper(hasAuxiliary.planDetails)
+    let needPush = isNeedPush(hasAuxiliary.planDetails)
+    let needPushWarning = isNeedPushWarning(hasAuxiliary.planDetails)
+    let needWriteStandardPush = isNeedwriteStandardPush(hasAuxiliary.planDetails)
+    if(needPush || needPushWarning){
+      renderPushData()
+      allInterface++
+    }
+    if(needPushWarning){
+      renderPushWarning()
+      allInterface++
+    }
+    if(needWriteStandardPush){
+      renderWriteStandard()
+      allInterface++
+    }
+  }
+  if(hasFollowUp){
+    renderFollowUp(msg)
+  }
+}
+
+function renderPushData(){
+  return getPushInfo().then(res =>{
+    hasCompleteTnterface++
+    if(res.data.code == "0"){
+      console.log(1)
+      const result = res.data.data
+      let diagPush = result.dis ||{}
+      let lisPush = result.lis || []
+      let scalePush = result.scale || []
+      let pacsPush = result.pacs || []
+      let symptomPush = result.symptom ||[]
+      let checkupPush = result.vital ||[]
+      let medicinesPush = result.medicines || []
+      let operationsPush = result.operations ||[]
+      let treatPush = result.treat&&result.treat[0] ||{}
+        let nursePush = result.nurse || []
+      treatDisName = treatPush&&treatPush["name"]
+      let generaTreatPush = treatPush&&treatPush["generaTreat"]
+      // let lisPush =[{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
+      // let pacsPush = [{name:"胸部x射线",hisNameList:null},{name:"心电图",hisNameList:null}]
+      // let checkupPush = [{name:"神志表情",hisNameList:null},{name:"面部表情",hisNameList:null}]
+      let lisNum = $(".moduleItem.lis").attr("data-num") || 5
+      let scaleNum = $(".moduleItem.evaluation").attr("data-num") || 5
+      let pacsNum = $(".moduleItem.pacs").attr("data-num") || 5
+      let checkupNum = $(".moduleItem.vital").attr("data-num") || 5
+      let symptomNum = $(".moduleItem.symptom").attr("data-num") || 5
+      let medicinesNum = $(".moduleItem.medicine").attr("data-num") || 5
+      let operationsNum = $(".moduleItem.operation").attr("data-num") || 5
+        let nurseNum = $(".moduleItem.nurse").attr("data-num") || 5
+     
+
+      renderLis(lisPush,lisNum,3,true)
+      renderScale(scalePush,scaleNum,8,true)
+      renderPacs(pacsPush,pacsNum,5,true)
+      renderCheckup(checkupPush,checkupNum,null,true)
+      renderSymptomPush(symptomPush,symptomNum,null,true)
+      renderDiag(diagPush)
+      renderMedicinesPush(medicinesPush,medicinesNum,2,true)
+      renderOperationPush(operationsPush,operationsNum,6,true)
+      rendergeneraTreatPush(generaTreatPush)
+        renderNurse(nursePush, nurseNum, 9, true)
+      if(hasCompleteTnterface === allInterface){
+        $('.loading').css("display","none")
+        if(moduleNum === 0){
+          empty()
+        }
+      }
+      bindOpenInfo()
+      moreInfo()
+      bindSlide()
+    }
+  })
+}
+function adjustHei(){
+  const iframeHei = $(".bodyWrap").height()
+  const tabHei = $(".tabList").height()
+  $(".contentWrapper").css("height",iframeHei-tabHei-20-30+3+19+'px')
+}
+function isNeedPush(list){
+  let pushCode = ["diag","lis","pacs","symptom","vital","treat","medicines"]
+  for(let i = 0; i < list.length; i++){
+    if(pushCode.indexOf(list[i].code)>-1){
+      if(list[i].status == "1"){
+        return true
+      }
+    }
+  }
+  return false
+}
+function isNeedwriteStandardPush(list){
+  let pushCode = ["casewriting"]
+  for(let i = 0; i < list.length; i++){
+    if(pushCode.indexOf(list[i].code)>-1){
+      if(list[i].status == "1"){
+        return true
+      }
+    }
+  }
+  return false
+}
+function isNeedPushWarning(list){
+    let pushCode = ["crivalue", "rationali", "highrisk", "otherremind"]
+  for(let i = 0; i < list.length; i++){
+    if(pushCode.indexOf(list[i].code)>-1){
+      if(list[i].status == "1"){
+        return true
+      }
+    }
+  }
+  return false
+}
+
+function renderPushWarning(){
+  return getPusgWarning().then(res =>{
+    hasCompleteTnterface++
+    if(res.data.code == '0'){
+      const result = res.data.data
+      let billMsgList = result.billMsgList || []  //开单合理性提醒
+      let highRiskList = result.highRiskList || []  //高危药品、手术
+      let criticalValList = result.criticalValList || []  //危急值提醒
+      let noteList = result.noteList || []  //检查内容注意事项
+      let dubugStr = result.dubugStr || []  //注意调试信息
+      let otherList = result.otherList || []  //其他提醒
+        //$('.moduleItem.crivalue').append(titleStr('warning'))
+      renderBillingPush(billMsgList,'开单合理性提醒','rationali')
+      renderBillingPush(highRiskList,'高风险提示','highrisk')
+      renderBillingPush(criticalValList,'危急值提醒','crivalue')
+      //renderBillingPush(noteList,'检查内容注意事项')
+      renderBillingPush(otherList,'其他提醒','otherremind')
+      //moreInfo()
+      $(".moduleItem.tips").wrapAll("<div class='tips-cont'></div>");
+      $(titleStr('warning')).insertBefore('.tips-cont .moduleItem:first-child')
+      // renderBillingPush(dubugStr,'注意调试信息')
+     
+    }
+    if(hasCompleteTnterface === allInterface){
+      $('.loading').css("display","none")
+      if(moduleNum === 0){
+        empty()
+      }
+    }
+    
+  })
+}
+function renderWriteStandard(){
+  return getWriteStandardPush().then(res =>{
+    hasCompleteTnterface++
+    if(res.data.code == '0'){
+      const list = res.data.data || {}
+      let casewritingNum = $(".moduleItem.casewriting").attr("data-num") || 5
+      renderwriteStandardPage(list,casewritingNum)
+    }
+    if(hasCompleteTnterface === allInterface){
+      $('.loading').css("display","none")
+      if(moduleNum === 0){
+        empty()
+      }
+    }
+  })
+}
+function  renderwriteStandardPage(list,casewritingNum){
+  let arr = Object.keys(list)
+  if(arr.length > 0 &&  $(".moduleItem.casewriting").length > 0){
+    moduleNum++
+    $(".moduleItem.casewriting").append(titleStr("casewritingPush"))
+    let longStr = ``
+    let shortStr = ``
+    for(let i = 0; i < arr.length; i++){
+      if( i < casewritingNum){
+        shortStr += `<div class="billingPushItem"><img class="iconMark" src=${iconMark}>${arr[i]}</div>`
+      }
+      longStr += `<div class="billingPushItem"><img class="iconMark" src=${iconMark}>${arr[i]}</div>`
+    }
+    let shortStrBox = `<div class="shortStrBox">${shortStr}</div>`
+    let longStrBox = `<div class="longStrBox">${longStr}</div>`
+    let allStr = `<div class="casewritingWrapper"></div>`
+    $(".moduleItem.casewriting").append(allStr)
+    $(".casewritingWrapper").append(shortStrBox)
+    if( arr.length>casewritingNum){
+      $(".shortStrBox .billingPushItem").eq( $(".shortStrBox .billingPushItem").length -1).append(`<span class="showMoreCaseWriting">更多<img class="iconArrowImg" src="${iconArrowDown}"></span>`)
+      
+      // $(".moduleItem .generalTreatInfo").append(`<span class="showLessGeneralTreat">收起<img class="iconArrowImg" src="${iconArrowUp}"></span>`)
+      $(".casewritingWrapper").append(longStrBox)
+      $(".longStrBox .billingPushItem").eq( $(".longStrBox .billingPushItem").length -1).append(`<span class="showLessCaseWriting">收起<img class="iconArrowImg" src="${iconArrowUp}"></span>`)
+    }
+    $('.moduleItem.casewriting').css("display","block")
+    bindSlideCaseWriting()
+  }
+}
+function renderBillingPush(list,name,code){
+  if(list.length === 0){
+    return
+  }
+  moduleNum++
+  let str = ``
+  for(let i = 0; i < list.length; i++){
+    str += `<div class="billingPushItem"><img class="iconMark" src=${iconMark}>${list[i].msg}</div>`
+  }
+  let titleStr = titleStr2(name)
+  let boxStr = `<div class="moduleBox">
+        ${titleStr}
+        ${str}
+      </div>`
+    $("."+code).append(boxStr)
+    $('.moduleItem.'+code).addClass("tips").css("display", "block")
+}
+
+
+function renderDiag(diagPush){
+  let possibleDiagPush = diagPush["可能诊断"] || []
+  let previousDiagPush = diagPush["既往诊断"] || []
+  let firstDiagPush = diagPush["初步诊断"] || []
+  let identifyDiagPush = diagPush["鉴别诊断"] || []
+  let warningDiagPush = diagPush["警惕"] || []
+  let number =  $('.moduleItem.diag').attr("data-num") || 5
+  let warnNumber =  $('.moduleItem.warning').attr("data-num") || 5
+  
+  $('.moduleItem.diag').append(titleStr("diagPush"))
+  // let warningDiagPush = [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
+  // let firstDiagPush =  [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
+  // let identifyDiagPush = diagPush["鉴别诊断"] ||  [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
+  renderDiagItem(possibleDiagPush,"可能诊断",number)
+  renderDiagItem(previousDiagPush, "既往诊断", number)
+  renderDiagItem(firstDiagPush,"初步诊断",number)
+  renderDiagItem(identifyDiagPush,"鉴别诊断",number)
+  renderWarningDiag(warningDiagPush,"警惕",warnNumber)
+  moreInfo()
+}
+
+function renderDiagItem(list,name,number){
+  if(list.length === 0){
+    return
+  }
+  moduleNum++
+  let titleStr = titleStr2(name)
+  let {shortStr, longStr} = renderItemWrapper(list,number,1,true)
+  let boxStr = `<div class="moduleBox">
+        ${titleStr}
+        ${shortStr}
+        ${longStr}
+      </div>`
+  $(".diag").append(boxStr)
+  $('.moduleItem.diag').css("display","block")
+}
+function renderWarningDiag(list,name,number){
+  if(list.length > 0 &&  $(".moduleItem.warning").length > 0){
+    moduleNum++
+    $('.moduleItem.warning').append()
+    let str = `<span class="warningTitle"><img class="warningTitImg" src=${warnImgWhite}>警惕</span>`
+    for(let i = 0; i < list.length; i++){
+      str+= renderPushItem(list[i],1)
+    }
+    $('.moduleItem.warning').append(str)
+    $('.moduleItem.warning').css("display","block")
+  }
+}
+
+function renderLis(list,showNum,type,hasInfo){
+  if(list.length > 0 &&  $(".moduleItem.lis").length > 0){
+    moduleNum++
+    $('.moduleItem.lis').append(titleStr("lisPush"))
+    let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
+    $('.moduleItem.lis').append(shortStr).append(longStr)
+    $('.moduleItem.lis').css("display","block")
+  }
+ 
+}
+function renderScale(list,showNum,type,hasInfo){
+  if(list.length > 0 &&  $(".moduleItem.evaluation").length > 0){
+    moduleNum++
+    $('.moduleItem.evaluation').append(titleStr("scalePush"))
+    let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
+    $('.moduleItem.evaluation').append(shortStr).append(longStr)
+    $('.moduleItem.evaluation').css("display","block")
+    $('.moduleItem.evaluation').children(".shortBox").children(".pushItemBox").children(".pushItemName").addClass("evaluationtitle")
+  }
+}
+
+function renderNurse(list, showNum, type, hasInfo) {
+    if (list.length > 0 && $(".moduleItem.nurse").length > 0) {
+        moduleNum++
+        $('.moduleItem.nurse').append(titleStr("nursePush"))
+        let {shortStr, longStr} = renderItemWrapper(list, showNum, type, hasInfo)
+        $('.moduleItem.nurse').append(shortStr).append(longStr);
+        $('.moduleItem.nurse').css("display", "block")
+    }
+}
+function renderPacs(list,showNum,type,hasInfo){
+  if(list.length > 0 &&  $(".moduleItem.pacs").length > 0){
+    moduleNum++
+    $(".moduleItem.pacs").append(titleStr("pacsPush"))
+    let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
+    $(".moduleItem.pacs").append(shortStr).append(longStr)
+    $('.moduleItem.pacs').css("display","block")
+  }
+ 
+}
+function renderCheckup(list,showNum,type,hasInfo){
+  if(list.length > 0 &&  $(".moduleItem.vital").length > 0){
+    moduleNum++
+    $(".moduleItem.vital").append(titleStr("checkupPush"))
+    let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
+    $(".moduleItem.vital").append(shortStr).append(longStr)
+    $('.moduleItem.vital').css("display","block")
+  }
+}
+function renderSymptomPush(list,showNum,type,hasInfo){
+  $(".moduleItem.symptom").append(titleStr('symptomPush'))
+
+  if(list.length > 0 &&  $(".moduleItem.symptom").length > 0){
+    moduleNum++
+    let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
+    $(".moduleItem.symptom").append(shortStr).append(longStr)
+    $(".moduleItem.symptom").css("display","block")
+  }
+ 
+}
+function rendergeneraTreatPush(list){
+  if(list&&  $(".moduleItem.general").length > 0){
+    $(".moduleItem.general").append(titleStr('generaTreatPush'))
+    moduleNum++
+    let str = `<div class="generalTreatInfo clearfix isOverFlow">${list}</div>`
+    $(".moduleItem.general").append(str)
+    $(".moduleItem.general").css("display","block")
+    let generaTreatHei = $(".moduleItem .generalTreatInfo")[0].scrollHeight
+    if(generaTreatHei > 50){
+      $(".moduleItem .generalTreatInfo").append(`<span class="showMoreGeneralTreat">更多<img class="iconArrowImg more" src="${iconArrowDown}"></span>`)
+      $(".moduleItem .generalTreatInfo").append(`<span class="showLessGeneralTreat">收起<img class="iconArrowImg" src="${iconArrowUp}"></span>`)
+      bindGeneralSlide()
+    }
+  }
+}
+function renderMedicinesPush(list,showNum,type,hasInfo){
+  $(".moduleItem.medicine").append(titleStr('drugPush'))
+
+  if(list.length > 0 &&  $(".moduleItem.medicine").length > 0){
+    moduleNum++
+    let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
+    $(".moduleItem.medicine").append(shortStr).append(longStr)
+    $(".moduleItem.medicine").css("display","block")
+  }
+ 
+}
+function renderOperationPush(list,showNum,type,hasInfo){
+  $(".moduleItem.operation").append(titleStr('operationPush'))
+
+  if(list.length > 0 &&  $(".moduleItem.operation").length > 0){
+    moduleNum++
+    let {shortStr, longStr} = renderItemWrapper(list,showNum,type,hasInfo)
+    $(".moduleItem.operation").append(shortStr).append(longStr)
+    $(".moduleItem.operation").css("display","block")
+  }
+ 
+}
+
+
+function renderItemWrapper(list, showNum, type, hasInfo) {
+    //console.log(33, type)
+  let showNum1 = showNum || 5
+  let shortStr = '', longStr = ''
+
+  for(let i = 0; i < list.length; i++){
+    if(i <= showNum1-1){
+      shortStr += renderPushItem(list[i],type)
+    }
+    longStr += renderPushItem(list[i],type)
+  }
+
+  if(showNum1 >= list.length){
+    return {
+      shortStr:`<div class="shortBox">${shortStr}</div>`,
+      longStr:''
+    }
+  }else{
+    shortStr += `<span class="showMore">更多 <img class="iconArrowImg" src="${iconArrowDown}"></span>`
+    longStr += `<span class="showLess">收起 <img class="iconArrowImg"  src="${iconArrowUp}"></span>`
+    return {
+      shortStr:`<div class="shortBox clearfix">${shortStr}</div>`,
+      longStr:`<div class="longBox clearfix">${longStr}</div>`
+    }
+  }
+}
+
+function renderPushItem(item,type){
+    str= `<span class="pushItemBox" data-name="${item.name}" data-type="${type}"><span class="pushItemName">${type==8?('【'+item.name+'】'):item.name}</span>${item.hasInfo=="1"?`<img class="infoImg" src="${infoImg}">`:""}</span>`
+  return str
+}
+
+function bindOpenInfo(){
+  $(".infoImg").on("mouseenter", function(){
+    $(this).attr("src", infoImgOn)
+  }).on("mouseleave", function(){
+    $(this).attr("src", infoImg)
+  })
+}
+
+function bindSlide(){
+  $(".showMore").on("click", function(){
+    $(this).parent().parent().find(".longBox").css("display","block")
+    $(this).parent().parent().find(".shortBox").css("display","none")
+  })
+  $(".showLess").on("click", function(){
+    $(this).parent().parent().find(".longBox").css("display","none")
+    $(this).parent().parent().find(".shortBox").css("display","block")
+  })
+}
+
+function renderModuleWrapper(moduleList){
+  if(!moduleList){
+    return
+  }
+  let moduleStr = ''
+  for(let i = 0; i < moduleList.length; i++){
+    if(moduleList[i].status !='0'){
+     if(moduleList[i].code == 'critical'){
+        moduleStr += `<div class="moduleItem warning"  data-num="${moduleList[i].number}" style="display:none"></div>`
+        // moduleStr += `<div class="moduleItem tips"  data-num="${moduleList[i].number}" style="display:none"></div>`
+      }else{
+        moduleStr += `<div class="moduleItem ${moduleList[i].code }"  data-num="${moduleList[i].number}" style="display:none"></div>`
+      }
+    }
+   
+  }
+  // console.log(moduleList,moduleStr)
+
+  $(".recommendWrap").append(moduleStr)
+}
+
+function hasTab(tabName,tabList){
+  if(!tabList){
+    return
+  }
+  for(let i = 0; i < tabList.length; i++){
+    if(tabList[i].name == tabName){
+      return tabList[i]
+    }
+  }
+  return false
+}
+function renderTab(tabList){
+    let tabStr = ''
+    for(let i = 0; i < tabList.length; i++){
+      if(tabList[i].status == '1'){
+        tabStr += `<span class="tab" data-name="${tabList[i].code}" >${tabList[i].name}<span class="activeLine"></span></span>`
+      }
+      
+    }
+    $(".tabList").append(tabStr)
+    let tabNum = 0;
+    if(isTcm=='true'){
+        tabNum = $(".tabList .tab").length-1;
+    }
+    $(".tabList .tab").eq(tabNum).addClass("activeTab")
+    let showModuleName =  $(".tabList .tab").eq(tabNum).attr("data-name")
+    getModuleShow(moduleConfig[showModuleName])
+    bindTabClick()
+}
+
+function titleStr(type){
+  let titleStr = ''
+  titleStr += `<h4 class="moduleTitle" style="background:${titleConfig[type].background}"><img class="titleIcon" src=${titleConfig[type].icon}>${titleConfig[type].name}</h4>`
+  return titleStr
+}
+function titleStr2(name){
+  let titleStr = ''
+  titleStr += `<p class="moduleBoxTitle">${name}:</p>`
+  return titleStr
+}
+
+function bindTabClick(){
+  $(".tabList .tab").on("click", function(){
+    $(".activeTab").removeClass("activeTab")
+    $(this).addClass("activeTab")
+    const moduleName = $(this).attr("data-name")
+    getModuleShow(moduleConfig[moduleName])
+    if(moduleName == "medical"){
+      $(".staticSearchT .ipt").find("input").focus()
+      $(".contentWrapper").css("overflowY","hidden")
+    }else if(moduleName == 'followup'){
+      
+      // $(".contentWrapper").css("overflowY","auto")
+    }
+  })
+}
+
+function getModuleShow(moduleClassName){
+  if( $(`.${moduleClassName}`).css("display") =="none"){
+    $(".moduleWrapper").css("display","none")
+    $(`.${moduleClassName}`).css("display","block")
+  }
+}
+function bindGeneralSlide(){
+  $(".showMoreGeneralTreat").on("click",function(){
+    $(".generalTreatInfo").toggleClass("isOverFlow")
+    $(".showMoreGeneralTreat").toggle()
+  })
+  $(".showLessGeneralTreat").on("click",function(){
+    $(".generalTreatInfo").toggleClass("isOverFlow")
+    $(".showMoreGeneralTreat").toggle()
+  })
+  
+}
+ function bindSlideCaseWriting(){
+  $(".showMoreCaseWriting").on("click",function(){
+    $(this).parents(".casewritingWrapper ").find(".shortStrBox").css("display","none")
+    $(this).parents(".casewritingWrapper ").find(".longStrBox").css("display","block")
+  })
+  $(".showLessCaseWriting").on("click",function(){
+    $(this).parents(".casewritingWrapper ").find(".shortStrBox").css("display","block")
+    $(this).parents(".casewritingWrapper ").find(".longStrBox").css("display","none")
+  })
+ 
+ }
+
+function empty(){
+  // $(".responsibility").css("display","none")
+  $('.recommendWrap .empty').css("display","block")
+}
+
+
+
+
+
+
+
+
+$(function(){
+  getDisclaimer(); //获取免责声明
+  getVersion();   //获取版本信息
+  $(".disclaimerInfo").on("click", function(){
+    openNewWin("disclaimer.html")
+  });
+  $(".version-tip").on("click", function(){
+    const ver = localStorage.getItem('versionTime');
+    $(".version-tip").removeClass('new-icon');
+    localStorage.setItem('versionTime',ver.replace("=new",""));
+    openNewWin("version.html");
+  });
+  $.fn.extend({  
+    "preventScroll":function(){  
+        $(this).each(function(){  
+            var _this = this;  
+            if(navigator.userAgent.indexOf('Firefox') >= 0){   //firefox  
+                _this.addEventListener('DOMMouseScroll',function(e){  
+                    _this.scrollTop += e.detail > 0 ? 60 : -60;     
+                    e.preventDefault();  
+                },false);   
+            }else{  
+                _this.onmousewheel = function(e){   
+                    e = e || window.event;    
+                    _this.scrollTop += e.wheelDelta > 0 ? -60 : 60;     
+                    return false;  
+                };  
+            }  
+        })    
+    }  
+  });  
+  // $(".iframeWrap").preventScroll();  
+    $(".iframeWrap").preventScroll();
+    $(".recommendWrap").preventScroll();
+    $(".tcmWarp").preventScroll();
+    $(".infoWrap").preventScroll();
+  $(".medicalKonwledgeWrap .staticSearchB ul").preventScroll();  
+  $(window).on("resize", function(){
+    $(".iframeWrap").preventScroll();  
+    $(".recommendWrap").preventScroll();
+      $(".tcmWarp").preventScroll();
+ 
+    $(".medicalKonwledgeWrap .staticSearchB ul").preventScroll(); 
+    adjustHei() 
+  })
+});

+ 731 - 0
src/js/cdssHorizontal.js

@@ -0,0 +1,731 @@
+if (!Promise) {
+  var Promise = require("bluebird");
+  // Configure
+  Promise.config({
+    longStackTraces: true,
+    warnings: true // note, run node with --trace-warnings to see full stack traces for warnings
+  })
+}
+const $ = require("jquery");
+require('./../css/reset.css');
+require('./../css/cdssHorizontal.less');
+require('./../css/popup.css');
+require('./../css/staticSearch.css')
+require('./../js/staticSearch.js')
+require('./../images/empty2.png').replace(/^undefined/g, '')
+require('./../images/dn.png').replace(/^undefined/g, '')
+require('./../images/loading.gif').replace(/^undefined/g, '')
+let emptyImg = require('./../images/empty3.png').replace(/^undefined/g, '')
+require('./../images/new2.png').replace(/^undefined/g, '')
+const { post, config, getUrlArgObject, openNewWin, titleConfigH, throttle, } = require('./promise.js');
+let infoImg = require('./../images/icon_info.png').replace(/^undefined/g, '')
+let infoImgOn = require('./../images/icon_info_on.png').replace(/^undefined/g, '')
+let iconArrowUp = require('./../images/icon_arrow_up.png').replace(/^undefined/g, '')
+let iconArrowDown = require('./../images/icon_arrow_down.png').replace(/^undefined/g, '')
+let showImg = require('./../images/show2.png').replace(/^undefined/g, '')
+let collapseImg = require('./../images/collapse2.png').replace(/^undefined/g, '')
+let treatDisName, treatUniqueName
+let generalTreatInfo
+const { renderFollowUp } = require('./followUp.js');
+const { getTcmMr } = require('./tcmiss.js');
+
+setWidth()
+let moduleConfig = {
+  auxiliary: "recommendWrap",
+  qc: "qcWrap",
+  medical: "medicalKonwledgeWrap",
+  followup: 'followUpWrap',
+  tcmiss: 'tcmWarp',
+}
+let allInterface = 0
+let hasCompleteTnterface = 0
+let moduleNum = 0
+let mrId = getUrlArgObject('mrId')
+let pushMrId = getUrlArgObject('pushMrId')
+const tipsMode = getUrlArgObject('tipsMode') || 1
+let planCode = getUrlArgObject('planCode') || 'all'
+let hospitalIdUrl = getUrlArgObject('hospitalId') || ''
+let msg;
+let tipsMsg;
+let caseWriteStandradList;
+
+function getMRInfo() {
+  return post(config.getMr2, { mrId: mrId })
+}
+function getConf() {
+  var msg = window.msg
+  return post(config.getPushSet, { hospitalId: hospitalIdUrl || msg.hospitalId || 1, planCode: planCode })
+}
+function getPushInfo() {
+  return post(config.pushInner, Object.assign({}, msg, {
+    featureType: '1,4,5,6,7,8,9,10,12,13',
+    hospitalId: hospitalIdUrl || msg.hospitalId,
+    ruleType: config.ruleTypeMap['22']
+  }))
+
+}
+function getPusgWarning() {
+  const indPush = pushMrId ? config.indicationPushCache : config.indicationPush;
+  return post(indPush, Object.assign({}, msg, { ruleType: '1,2,3,4', mrId: pushMrId || mrId }))
+}
+function getWriteStandardPush() {
+  return post(config.caseWritingPrompt, Object.assign({}, msg, { hospitalId: 2 || msg.hospitalId }))
+}
+
+if (mrId) {
+  Promise.all([getConf(), getMRInfo()]).then(([res1, res2]) => {
+    const data = res1.data.data && res1.data.data[0]
+    msg = res2.data.data || {}
+    if (!(msg && msg.diseaseName && msg.diseaseName.name)) {
+      msg.diseaseName = {}
+    }
+    window.msg = msg
+    renderPage(data)
+  })
+} else {
+  getConf().then(res => {
+    if (res.data.code == '0') {
+      // const configArr = res.data.data.pushSetList || []
+      // getPageInfo(configArr)
+      const data = res.data.data && res.data.data[0]
+      renderPage(data)
+    }
+  })
+}
+
+function renderPage(pageSet) {
+  if (!pageSet || !pageSet.sysSetInfo) {
+    return
+  }
+  renderTab(pageSet.sysSetInfo)
+  const iframeHei = $(".bodyWrap").height()
+  const tabHei = $(".tabList").height()
+  $(".contentWrapper").css("height", iframeHei - tabHei - 10 - 20 - 30 + 'px')
+  const hasAuxiliary = hasTab("辅助信息", pageSet.sysSetInfo)
+  const hasMedical = hasTab("医学知识", pageSet.sysSetInfo)
+  const hasFollowUp = hasTab("随访计划", pageSet.sysSetInfo)
+  const hasTcm = hasTab("中医辅助", pageSet.sysSetInfo)
+
+  if (hasTcm) {
+    getTcmMr(mrId, hasTcm);
+  }
+  if (hasAuxiliary) {
+    renderModuleWrapper(hasAuxiliary.planDetails)
+    let needPush = isNeedPush(hasAuxiliary.planDetails)
+    let needPushWarning = isNeedPushWarning(hasAuxiliary.planDetails)
+    let needWriteStandardPush = isNeedwriteStandardPush(hasAuxiliary.planDetails)
+    if (needPush || needPushWarning) {
+      renderPushData()
+      allInterface++
+    }
+    if (needPushWarning) {
+      renderPushWarning()
+      allInterface++
+    }
+    if (needWriteStandardPush) {
+      renderCaseWrite()
+      allInterface++
+    }
+    if (hasFollowUp) {
+      renderFollowUp(msg, 1)
+    }
+  }
+}
+function renderTab(tabList) {
+  if (!tabList) {
+    return
+  }
+  let tabStr = ''
+  let TabNum = 0
+  for (let i = 0; i < tabList.length; i++) {
+    if (tabList[i].status == '1') {
+      TabNum++
+      tabStr += `<span class="tab" style="border-bottom:${tabList.length == i + 1 ? '0' : '1px solid #3B9ED0'}" data-name="${tabList[i].code}" ><span class="tabName">${tabList[i].name}</span><span class="activeLine"></span></span>`
+    }
+
+  }
+  $(".tabList").append(tabStr)
+  $(".tabList .tab").eq(0).addClass("activeTab")
+  $(".tabList .tab").css("height", 1 / TabNum * 100 + '%')
+  let showModuleName = $(".tabList .tab").eq(0).attr("data-name")
+  getModuleShow(moduleConfig[showModuleName])
+  bindTabClick()
+  setTabNameTop()
+}
+function hasTab(tabName, tabList) {
+  for (let i = 0; i < tabList.length; i++) {
+    if (tabList[i].name == tabName) {
+      return tabList[i]
+    }
+  }
+  return false
+}
+
+function renderModuleWrapper(moduleList) {
+  if (!moduleList) {
+    return
+  }
+  let moduleStr = '', treatStr = ""
+  for (let i = 0; i < moduleList.length; i++) {
+    if (moduleList[i].status != '0') {
+      if (moduleList[i].code == 'general' || moduleList[i].code == 'medicine' || moduleList[i].code == 'operation' || moduleList[i].code == 'nurse') {
+        treatStr += `<div class="moduleItem ${moduleList[i].code}"  data-num="${moduleList[i].number}" style="display:none"><span class="moduleItemTitBox"></span></div>`
+      } else if (moduleList[i].code == 'critical') {
+        moduleStr += `<div class="moduleItem warning"  data-num="${moduleList[i].number}" style="display:none"><span class="moduleItemTitBox"></span></div>`
+        // moduleStr += `<div class="moduleItem tips"  data-num="${moduleList[i].number}" style="display:none"><span class="moduleItemTitBox"></span></div>`
+      } else {
+        moduleStr += `<div class="moduleItem ${moduleList[i].code}"  data-num="${moduleList[i].number}" style="display:none"><span class="moduleItemTitBox"></span></div>`
+      }
+    }
+
+  }
+  $(".recommendWrap .leftBox").append(moduleStr)
+  $(".recommendWrap .rightBox").append(treatStr)
+}
+function isNeedPush(list) {
+  let pushCode = ["diag", "lis", "pacs", "symptom", "vital"]
+  for (let i = 0; i < list.length; i++) {
+    if (pushCode.indexOf(list[i].code) > -1) {
+      if (list[i].status == "1") {
+        return true
+      }
+    }
+  }
+  return false
+}
+function isNeedPushWarning(list) {
+  let pushCode = ["crivalue", "rationali", "highrisk", "otherremind"]
+  for (let i = 0; i < list.length; i++) {
+    if (pushCode.indexOf(list[i].code) > -1) {
+      if (list[i].status == "1") {
+        return true
+      }
+    }
+  }
+  return false
+}
+function isNeedwriteStandardPush(list) {
+  let pushCode = ["casewriting"]
+  for (let i = 0; i < list.length; i++) {
+    if (pushCode.indexOf(list[i].code) > -1) {
+      if (list[i].status == "1") {
+        return true
+      }
+    }
+  }
+  return false
+}
+function bindTabClick() {
+  $(".tabList .tab").on("click", function () {
+    $(".activeTab").removeClass("activeTab")
+    $(this).addClass("activeTab")
+    const moduleName = $(this).attr("data-name")
+    getModuleShow(moduleConfig[moduleName])
+  })
+}
+function getModuleShow(moduleClassName) {
+  if ($(`.${moduleClassName}`).css("display") == "none") {
+    $(".moduleWrapper").css("display", "none")
+    $(`.${moduleClassName}`).css("display", "block")
+  }
+}
+function setTabNameTop() {
+  tabNameList = $(".tabList .tab .tabName")
+  for (let i = 0; i < tabNameList.length; i++) {
+    let tabNameHei = $(".tabList .tab .tabName").eq(i).height()
+    $(".tabList .tab .tabName").eq(i).css("marginTop", -tabNameHei / 2 + "px")
+  }
+}
+function renderCaseWrite() {
+  getWriteStandardPush().then(res => {
+    hasCompleteTnterface++
+    if (res.data.code == '0') {
+      const caseWriteList = res.data.data || {}
+      let caseWritePush = Object.keys(caseWriteList) || []
+
+      renderwriteStandardPage(caseWritePush)
+      if ($(".moduleItem.casewriting")) {
+        let casewritingHei = $(".moduleItem.casewriting")[0].scrollHeight
+        if (casewritingHei > 81) {
+          $(".casewriting").append(`<span class="showMoreCaseWrite">更多</span>`)
+          caseWriteStandradList = caseWritePush
+          showMoreCaseWrite()
+        }
+      }
+    }
+  })
+}
+function renderPushData() {
+  return getPushInfo().then(res => {
+    hasCompleteTnterface++
+    if (res.data.code == "0") {
+      const result = res.data.data
+      let diagPush = result.dis || {}
+      let lisPush = result.lis || []
+      let scalePush = result.scale || []
+      let pacsPush = result.pacs || []
+      let symptomPush = result.symptom || []
+      let checkupPush = result.vital || []
+      let medicinesPush = result.medicines || []
+      let operationsPush = result.operations || []
+      let nursePush = result.nurse || []
+      let treatPush = result.treat && result.treat[0] || {}
+      treatDisName = treatPush && treatPush["name"]
+      treatUniqueName = treatPush && treatPush["uniqueName"]
+      let generaTreatPush = treatPush && treatPush["generaTreat"]
+      generalTreatInfo = generaTreatPush
+      // let lisPush =[{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
+      // let pacsPush = [{name:"胸部x射线",hisNameList:null},{name:"心电图",hisNameList:null}]
+      // let checkupPush = [{name:"神志表情",hisNameList:null},{name:"面部表情",hisNameList:null}]
+      let lisNum = $(".moduleItem.lis").attr("data-num") || 5
+      let scaleNum = $(".moduleItem.evaluation").attr("data-num") || 5
+      let pacsNum = $(".moduleItem.pacs").attr("data-num") || 5
+      let checkupNum = $(".moduleItem.vital").attr("data-num") || 5
+      let symptomNum = $(".moduleItem.symptom").attr("data-num") || 5
+      let medicinesNum = $(".moduleItem.medicine").attr("data-num") || 5
+      let operationsNum = $(".moduleItem.operation").attr("data-num") || 5
+      let nurseNum = $(".moduleItem.nurse").attr("data-num") || 5
+
+      renderLis(lisPush, lisNum, 3, true)
+      renderScale(scalePush, scaleNum, 8, true)
+      renderPacs(pacsPush, pacsNum, 5, true)
+      renderCheckup(checkupPush, checkupNum, null, true)
+      renderSymptomPush(symptomPush, symptomNum, null, true)
+      renderDiag(diagPush)
+      if (medicinesPush.length > 0 || operationsPush.length > 0 || generaTreatPush || nursePush.length > 0) {
+        let str = `<img class="treatIcon" src = ${titleConfigH["treat"].icon} /><span>${titleConfigH["treat"].name}</span>`
+        $(".rightBoxTitle").append(str)
+        renderDisName()
+        $(".rightWrapper").css("display", "inline-block")
+        $(".leftWrapper").css("borderRight", "1px solid #E6E6E6")
+      } else {
+        $(".leftWrapper").css({
+          borderRight: "0px",
+          width: "100%"
+        })
+      }
+      if ((!$(".moduleItem.medicine") && !$(".moduleItem.operation") && !(".moduleItem.general")) || ($(".moduleItem.general").length === 0 && $(".moduleItem.medicine").length === 0 && $(".moduleItem.operation").length === 0)) {
+        $(".rightWrapper").css("display", "none")
+        $(".leftWrapper").css({
+          borderRight: "0px",
+          width: "100%"
+        })
+      }
+
+      rendergeneraTreatPush(generaTreatPush)
+      renderMedicinesPush(medicinesPush, medicinesNum, 2, true)
+      renderOperationPush(operationsPush, operationsNum, 6, true)
+      renderNurse(nursePush, nurseNum, 9, true)
+      // if(hasCompleteTnterface === allInterface){
+      //   $('.loading').css("display","none")
+      //   if(moduleNum === 0){ 
+      //     empty()
+      //   }
+      // }icon
+      bindOpenInfo()
+      bindSlide()
+      moreInfo()
+    }
+  })
+}
+
+function renderLis(list, showNum, type, hasInfo) {
+  if (list.length > 0 && $(".moduleItem.lis").length > 0) {
+    moduleNum++
+    $('.moduleItem.lis .moduleItemTitBox').append(titleStr("lisPush"))
+    let { shortStr, longStr } = renderItemWrapper(list, showNum, type, hasInfo)
+    $('.moduleItem.lis').append(shortStr)
+    $('.moduleItem.lis').append(renderLongStr(titleConfigH["lisPush"].name, longStr, titleConfigH["lisPush"].location))
+    $('.moduleItem.lis').css("display", "block")
+  }
+}
+function renderScale(list, showNum, type, hasInfo) {
+  if (list.length > 0 && $(".moduleItem.evaluation").length > 0) {
+    moduleNum++
+    $('.moduleItem.evaluation .moduleItemTitBox').append(titleStr("scalePush"))
+    let { shortStr, longStr } = renderItemWrapper(list, showNum, type, hasInfo)
+    $('.moduleItem.evaluation').append(shortStr)
+    $('.moduleItem.evaluation').append(renderLongStr(titleConfigH["scalePush"].name, longStr, titleConfigH["scalePush"].location))
+    $('.moduleItem.evaluation').css("display", "block")
+    $('.moduleItem.evaluation').children(".shortBox").children(".pushItemBox").children(".pushItemName").addClass("evaluationtitle")
+  }
+}
+
+function renderNurse(list, showNum, type, hasInfo) {
+  if (list.length > 0 && $(".moduleItem.nurse").length > 0) {
+    moduleNum++
+    $('.moduleItem.nurse .moduleItemTitBox').append(titleStr("nursePush"))
+    let { shortStr, longStr } = renderItemWrapper(list, showNum, type, hasInfo)
+    $(".moduleItem.nurse").append(shortStr)
+    $(".moduleItem.nurse").append(renderLongStr(titleConfigH["nursePush"].name, longStr, titleConfigH["nursePush"].location))
+    $(".moduleItem.nurse").css("display", "block")
+  }
+}
+function renderPacs(list, showNum, type, hasInfo) {
+  if (list.length > 0 && $(".moduleItem.pacs").length > 0) {
+    moduleNum++
+    $('.moduleItem.pacs .moduleItemTitBox').append(titleStr("pacsPush"))
+    let { shortStr, longStr } = renderItemWrapper(list, showNum, type, hasInfo)
+    $(".moduleItem.pacs").append(shortStr)
+    $(".moduleItem.pacs").append(renderLongStr(titleConfigH["pacsPush"].name, longStr, titleConfigH["pacsPush"].location))
+    $('.moduleItem.pacs').css("display", "block")
+  }
+
+}
+function renderSymptomPush(list, showNum, type, hasInfo) {
+  if (list.length > 0 && $(".moduleItem.symptom").length > 0) {
+    moduleNum++
+    $('.moduleItem.symptom .moduleItemTitBox').append(titleStr("symptomPush"))
+    let { shortStr, longStr } = renderItemWrapper(list, showNum, type, hasInfo)
+    $(".moduleItem.symptom").append(shortStr)
+    $(".moduleItem.symptom").append(renderLongStr(titleConfigH["symptomPush"].name, longStr, titleConfigH["symptomPush"].location))
+    $('.moduleItem.symptom').css("display", "block")
+  }
+
+}
+function renderMedicinesPush(list, showNum, type, hasInfo) {
+
+  if (list.length > 0 && $(".moduleItem.medicine").length > 0) {
+    moduleNum++
+    $('.moduleItem.medicine .moduleItemTitBox').append(titleStr("drugPush"))
+    let { shortStr, longStr } = renderItemWrapper(list, showNum, type, hasInfo)
+    $(".moduleItem.medicine").append(shortStr)
+    $(".moduleItem.medicine").append(renderLongStr(titleConfigH["drugPush"].name, longStr, titleConfigH["drugPush"].location))
+    $(".moduleItem.medicine").css("display", "block")
+  }
+
+}
+function renderOperationPush(list, showNum, type, hasInfo) {
+  if (list.length > 0 && $(".moduleItem.operation").length > 0) {
+    moduleNum++
+    $('.moduleItem.operation .moduleItemTitBox').append(titleStr("operationPush"))
+    let { shortStr, longStr } = renderItemWrapper(list, showNum, type, hasInfo)
+    $(".moduleItem.operation").append(shortStr)
+    $(".moduleItem.operation").append(renderLongStr(titleConfigH["operationPush"].name, longStr, titleConfigH["operationPush"].location))
+    $(".moduleItem.operation").css("display", "block")
+  }
+
+}
+function renderDisName() {
+  $(".disName").append(`${treatDisName || ''}`)
+}
+function rendergeneraTreatPush(list) {
+  if (list && list.length > 0 && $(".moduleItem.general").length > 0) {
+    moduleNum++
+
+    $('.moduleItem.general .moduleItemTitBox').append(titleStr("generaTreatPush"))
+    let str = `<div class="generalTreatInfo clearfix isOverFlow">${list}</div>`
+    $(".moduleItem.general").append(str)
+
+    setTimeout(function () {
+      let generaTreatHei = $(".moduleItem .generalTreatInfo")[0].scrollHeight
+      if (generaTreatHei > 81) {
+        $(".moduleItem .generalTreatInfo").append(`<span class="showMoreGeneralTreat">更多</span>`)
+        bindGeneralSlide()
+      }
+    })
+
+
+    $(".moduleItem.general").css("display", "block")
+  }
+}
+function renderCheckup(list, showNum, type, hasInfo) {
+  if (list.length > 0 && $(".moduleItem.vital").length > 0) {
+    moduleNum++
+    $(".moduleItem.vital .moduleItemTitBox").append(titleStr("checkupPush"))
+    let { shortStr, longStr } = renderItemWrapper(list, showNum, type, hasInfo)
+    $(".moduleItem.vital").append(shortStr)
+    $(".moduleItem.vital").append(renderLongStr(titleConfigH["checkupPush"].name, longStr, titleConfigH["checkupPush"].location))
+    $('.moduleItem.vital').css("display", "block")
+  }
+}
+function renderDiag(diagPush) {
+  let possibleDiagPush = diagPush["可能诊断"] || []
+  let firstDiagPush = diagPush["初步诊断"] || []
+  let identifyDiagPush = diagPush["鉴别诊断"] || []
+  let warningDiagPush = diagPush["警惕"] || []
+  let number = $('.moduleItem.diag').attr("data-num") || 5
+  let warnNumber = $('.moduleItem.warning').attr("data-num") || 5
+
+  $('.moduleItem.diag .moduleItemTitBox').append(titleStr("diagPush"))
+  // let warningDiagPush = [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
+  // let firstDiagPush =  [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
+  // let identifyDiagPush = diagPush["鉴别诊断"] ||  [{name:"血常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null},{name:"尿常规",hisNameList:null}]
+  renderDiagItem(possibleDiagPush, "可能诊断", number)
+  renderDiagItem(firstDiagPush, "初步诊断", number)
+  renderDiagItem(identifyDiagPush, "鉴别诊断", number)
+  renderWarningDiag(warningDiagPush, "警惕", 1000)
+  moreInfo()
+}
+function renderDiagItem(list, name, number) {
+  if (list.length === 0) {
+    return
+  }
+  let titleStr = `<span class="moduleBoxName">${name}</span>`
+  let { shortStr, longStr } = renderItemWrapper(list, number, 1, true)
+  let boxStr = `<div class="moduleBox">
+        ${titleStr}
+        ${shortStr}
+      </div>`
+  $(".diag").append(boxStr)
+  $(".diag").append(renderLongStr(name, longStr, "left"))
+  $('.moduleItem.diag').css("display", "block")
+}
+function renderWarningDiag(list, name, showNum) {
+  if (list.length > 0 && $(".moduleItem.warning").length > 0) {
+    moduleNum++
+    $('.moduleItem.warning .moduleItemTitBox').append(titleStr("vigilancePush"))
+    let { shortStr, longStr } = renderItemWrapper(list, showNum, 1, true)
+    $('.moduleItem.warning').append(shortStr)
+    $('.moduleItem.warning').css("display", "block")
+  }
+}
+function renderwriteStandardPage(list) {
+  if (list.length > 0 && $(".moduleItem.casewriting").length > 0) {
+    moduleNum++
+    $(".moduleItem.casewriting .moduleItemTitBox").append(titleStr("casewritingPush"))
+    let str = ``
+    for (let i = 0; i < list.length; i++) {
+      str += `<p>${list[i]}</p>`
+    }
+    $(".moduleItem.casewriting").append(str)
+    $('.moduleItem.casewriting').css("display", "block")
+  }
+}
+function renderPushWarning() {
+  return getPusgWarning().then(res => {
+    hasCompleteTnterface++
+    if (res.data.code == '0') {
+      const result = res.data.data;
+      let billMsgList = result.billMsgList || []  //开单合理性提醒
+      let highRiskList = result.highRiskList || []  //高危药品、手术
+      let criticalValList = result.criticalValList || []  //危急值提醒
+      let noteList = result.noteList || []  //检查内容注意事项
+      let dubugStr = result.dubugStr || []  //注意调试信息
+      let otherList = result.otherList || []  //其他提醒
+      renderBillingPush(billMsgList, '开单合理性', 'rationali')
+      renderBillingPush(highRiskList, '高风险提示', 'highrisk')
+      renderBillingPush(criticalValList, '危急值提醒', 'crivalue')
+      renderBillingPush(noteList, '检查注意事项')
+      renderBillingPush(otherList, '其他提醒', 'otherremind')
+      const codes = ($(".rationali.tips").length ? 'rationali,' : "") + ($(".highrisk.tips").length ? 'highrisk,' : "") + ($(".crivalue.tips").length ? 'crivalue,' : "") + ($(".otherremind.tips").length ? 'otherremind' : "");
+      $(".moduleItem.tips").wrapAll("<div class='tips-cont' codes=" + codes + "></div>");
+      $('.tips-cont').append(titleStr('warning'))
+      moreInfo()
+      const hasTipsNum = $(".moduleItem.tips").length;
+      if (hasTipsNum) {
+        let tipsHei = $(".tips-cont")[0].scrollHeight;
+        if (tipsHei > 81) {
+          $(".tips-cont").append(`<span class="showMoreNewPage">更多</span>`)
+          tipsMsg = result
+          showMoreNewPage()
+        }
+      }
+
+      // renderBillingPush(dubugStr,'注意调试信息')
+
+    }
+    if (hasCompleteTnterface === allInterface) {
+      $('.loading').css("display", "none")
+      if (moduleNum === 0) {//console.log(999)
+        // empty()
+      }
+    }
+
+  })
+}
+function renderBillingPush(list, name, code) {
+  if (list.length === 0) {
+    return
+  }
+  let str = ``
+  for (let i = 0; i < list.length; i++) {
+    str += `<div class="billingPushItem">${list[i].msg}</div>`
+  }
+  let titleStr = `<span class="moduleBoxName">${name}</span>`
+  let boxStr = `<div class="moduleBox">
+        ${titleStr}
+        ${str}
+      </div>`
+  $("." + code).append(boxStr)
+  $('.moduleItem.' + code).addClass("tips").attr("code", code).css("display", "block")
+}
+function renderLongStr(name, longStr, location) {
+  if (!longStr) {
+    return
+  }
+  let str = `
+    <div class="longStrBox" data-location="${location}">
+      <span class="longStrBoxTitle">${name}:</span>
+      ${longStr}
+    </div>
+  `
+  return str
+}
+
+
+function renderItemWrapper(list, showNum, type, hasInfo) {
+  let showNum1 = showNum || 5
+  let shortStr = '', longStr = ''
+  for (let i = 0; i < list.length; i++) {
+    if (i <= showNum1 - 1) {
+      shortStr += renderPushItem(list[i], type)
+    }
+    longStr += renderPushItem(list[i], type)
+  }
+
+  if (showNum1 >= list.length) {
+    return {
+      shortStr: `<div class="shortBox">${shortStr}</div>`,
+      longStr: ''
+    }
+  } else {
+    shortStr += `<span class="showMore"> <img class="iconArrowImg" src="${showImg}"></span>`
+    longStr += `<span class="showLess"><img class="iconArrowImg"  src="${collapseImg}"></span>`
+    return {
+      shortStr: `<div class="shortBox clearfix">${shortStr}</div>`,
+      longStr: `<div class="longBox clearfix">${longStr}</div>`
+    }
+  }
+}
+function renderPushItem(item, type) {
+  str = `<span class="pushItemBox" data-name="${item.name}" data-type="${type}"><span class="pushItemName">${type == 8 ? ('【' + item.name + '】') : item.name}</span>${item.hasInfo == "1" ? `<img class="infoImg" src="${infoImg}">` : ""}</span>`
+  return str
+}
+function bindOpenInfo() {
+  $(".infoImg").on("mouseenter", function () {
+    $(this).attr("src", infoImgOn)
+  }).on("mouseleave", function () {
+    $(this).attr("src", infoImg)
+  })
+}
+
+
+function titleStr(type) {
+  let titleStr = ''
+  titleStr += `<div class="moduleTitle"><img class="titleIcon" src=${titleConfigH[type].icon}>${titleConfigH[type].name}:</div>`
+  return titleStr
+}
+function bindSlide() {
+  $(".showMore").on("click", function () {
+    $(".longStrBox").css("display", "none")
+    $(this).parents(".moduleItem ").find(".longStrBox").css("display", "block")
+    let location = $(this).parents(".moduleItem ").find(".longStrBox").attr("data-location")
+    let scrollTop = getLongTop(location)
+    $(this).parents(".moduleItem ").find(".longStrBox").css("top", 5 + Number(scrollTop) + "px")
+  })
+  $(".showLess").on("click", function () {
+    $(this).parent().parent().css("display", "none")
+  })
+  addScrollEvent()
+}
+function showMoreNewPage() {
+  const codes = $(".tips-cont").attr("codes");
+  $(".showMoreNewPage").on("click", function () {
+    // openNewWin(`smartAlert.html?billMsgList=${encodeURIComponent(billMsgList)}&highRiskList=${encodeURIComponent(highRiskList)}&criticalValList=${encodeURIComponent(criticalValList)}&noteList=${encodeURIComponent(noteList)}`)
+    openNewWin(`smartAlert.html?mrId=${mrId}&hospitalId=${hospitalIdUrl}&codes=` + codes);
+  })
+}
+function showMoreCaseWrite() {
+  $(".showMoreCaseWrite").on("click", function () {
+    // openNewWin(`smartAlert.html?billMsgList=${encodeURIComponent(billMsgList)}&highRiskList=${encodeURIComponent(highRiskList)}&criticalValList=${encodeURIComponent(criticalValList)}&noteList=${encodeURIComponent(noteList)}`)
+    openNewWin(`caseWriteStandard.html?caseWriteStandradList=${encodeURIComponent(JSON.stringify(caseWriteStandradList))}`)
+  })
+}
+function bindGeneralSlide() {
+  $(".showMoreGeneralTreat").on("click", function () {
+    openNewWin(`generalTreat.html?disName=${treatDisName}&name=${treatUniqueName}`)
+  })
+}
+function setWidth() {
+  let winWidth = $(".bodyWrap").css("width")
+  $(".contentBox").css("width", winWidth)
+}
+
+//医学知识搜索
+searchMedical()
+function searchMedical() {
+  $(".medicalKonwledgeWrap .search").on("click", function () {
+    openNewWin(`homeStatic.html?mrId=${mrId}&hospitalId=${hospitalIdUrl}&planCode=${planCode}`)
+  })
+}
+function moreInfo() {
+  $('.infoImg').off("click").click(function () {
+    const name = $(this).parent().attr('data-name')
+    const type = $(this).parent().attr('data-type')
+    openNewWin(`staticInfo.html?type=${encodeURIComponent(type)}&position=0&name=${encodeURIComponent(name)}`)
+  })
+  $('.pushItemName').off("click").click(function () {
+    console.log(11)
+    const name = $(this).parent().attr('data-name')
+    const type = $(this).parent().attr('data-type')
+    console.log(name)
+    openNewWin(`staticInfo.html?type=${encodeURIComponent(type)}&position=0&name=${encodeURIComponent(name)}&page=1`)
+  })
+  
+}
+function pushItemName(){
+  $('.pushItemName').off("click").click(function () {
+    console.log(11)
+    const name = $(this).parent().attr('data-name')
+    const type = $(this).parent().attr('data-type')
+    console.log(name)
+    openNewWin(`staticInfo.html?type=${encodeURIComponent(type)}&position=0&name=${encodeURIComponent(name)}`)
+  })
+}
+function getVersion() {
+  return post(config.getVersion, 'confArr').then((res) => {
+    const data = res.data.data;
+    const ver = localStorage.getItem('versionTime');
+    const time = data.refreshTime;
+    if (!ver || ver === time + "=new" || time !== ver.replace("=new", "")) {       //判断版本是否更新
+      $(".versionBottom").addClass('new-icon');
+      localStorage.setItem('versionTime', time + "=new");     //保存版本更新时间
+    } else {
+      $(".versionBottom").removeClass("new-icon");
+    }
+  })
+}
+function getLongTop(type) {
+  let scrollTop = 0
+  if (type === "left") {
+    scrollTop = $(".leftWrapper").scrollTop() || 0
+  } else if (type === "right") {
+    scrollTop = $(".rightWrapper").scrollTop() || 0
+  }
+  return scrollTop
+}
+function addScrollEvent() {
+  $(`.leftWrapper`).off("scroll").scroll(throttle(function () {
+
+    if ($(".leftWrapper .longStrBox:visible").length) {
+      $(".leftWrapper .longStrBox:visible").css("top", Number(getLongTop("left")) + 5 + "px")
+    }
+  }, 100));
+  $(`.rightWrapper`).off("scroll").scroll(throttle(function () {
+    if ($(".rightWrapper .longStrBox:visible").css("display") === "block") {
+      $(".rightWrapper .longStrBox:visible").css("top", Number(getLongTop("right")) + 5 + "px")
+    }
+  }, 100));
+}
+$(function () {
+  getVersion()
+  $(window).on("resize", function () {
+    setWidth()
+  })
+  $(".versionTop").on("click", function () {
+    openNewWin("disclaimer.html")
+  });
+  $(".versionBottom").on("click", function () {
+    const ver = localStorage.getItem('versionTime');
+    $(".versionBottom").removeClass('new-icon');
+    localStorage.setItem('versionTime', ver.replace("=new", ""));
+    openNewWin("version.html");
+  });
+})
+
+
+// function empty(){
+  // $(".responsibility").css("display","none")
+  // $('.recommendWrap .empty').css("display","block")
+// }

+ 118 - 0
src/js/cdssPlan.js

@@ -0,0 +1,118 @@
+if(!Promise){
+  var Promise = require("bluebird");
+// Configure
+  Promise.config({
+    longStackTraces: true,
+    warnings: true // note, run node with --trace-warnings to see full stack traces for warnings
+  })
+}
+require('./../css/reset.css');
+require('./../css/cdssPlan.less');
+require('./../css/popup.css');
+require('./../css/followUpV.less');
+require('./../css/staticSearch.css')
+require('./../js/staticSearch.js')
+require('./../images/empty.png').replace(/^undefined/g, '')
+require('./../images/empty2.png').replace(/^undefined/g, '')
+require('./../images/empty3.png').replace(/^undefined/g, '')
+require('./../images/loading.gif').replace(/^undefined/g, '')
+require('./../images/right.png').replace(/^undefined/g, '')
+require('./../images/new.png').replace(/^undefined/g, '')
+
+const $ = require("jquery");
+const { post,config,getUrlArgObject,openNewWin,titleConfig } = require('./promise.js');
+const { renderFollowUp } = require('./followUp.js');
+
+
+//静态知识类型: 1:诊断 2.药品 3.化验套餐 4.化验明细 5.辅检 6.手术和操作
+
+let mrId = getUrlArgObject('mrId') 
+let msg;
+
+function getMRInfo() {
+   return post(config.getMr2,{mrId:mrId})
+}
+// $('.loading').css("display","block")
+$('.empty').css("display","none")
+if(mrId){
+  getMRInfo().then(res =>{
+    if(res.data.code == '0'){
+        msg = res.data.data ||{}
+        window.msg = msg
+        renderFollowUp(msg)
+    }
+  }).catch(function (err) {
+      console.log(err);
+  })
+} else{
+
+}
+
+
+let disName=""
+function handleShow(){
+  const newinConf = {
+    width: '600',   //窗口的文档显示区的宽度。以像素计。
+    height: '826',  //窗口文档显示区的高度。以像素计。
+    left: '0',  //窗口的 x 坐标。以像素计。
+    top: '0',    //窗口的 y 坐标。以像素计。
+    openMode: "_blank"  //每次都是新窗口打开为_blank,打开同一窗口填写任意字符串
+  }
+  const newWindowLocation = `width=${newinConf.width}, height=${newinConf.height}, left=${newinConf.left}, top=${newinConf.top} scrollbars=yes`
+  window.open('./emergency.html?disName='+disName, newinConf.openMode, newWindowLocation)
+}
+$(document).on('click',".allDis .allName",function(){
+  handleShow()
+})
+$(document).on('click',".singleDis",function(){
+  $(this).next().css("display","block")
+  $(this).css("display","none")
+})
+$(document).on('click',".allDis .right,.allDis .secDis",function(){
+  $(".allDis").css("display","none")
+  $(".singleDis").css("display","block")
+})
+
+
+
+function adjustHei(){
+  const iframeHei = $(".bodyWrap").height()
+  const tabHei = $(".tabList").height()
+  $(".contentWrapper").css("height",iframeHei-tabHei-20-30+3+19+'px')
+}
+
+
+
+$(function(){
+  $.fn.extend({  
+    "preventScroll":function(){  
+        $(this).each(function(){  
+            var _this = this;  
+            if(navigator.userAgent.indexOf('Firefox') >= 0){   //firefox  
+                _this.addEventListener('DOMMouseScroll',function(e){  
+                    _this.scrollTop += e.detail > 0 ? 60 : -60;     
+                    e.preventDefault();  
+                },false);   
+            }else{  
+                _this.onmousewheel = function(e){   
+                    e = e || window.event;    
+                    _this.scrollTop += e.wheelDelta > 0 ? -60 : 60;     
+                    return false;  
+                };  
+            }  
+        })    
+    }  
+  });  
+  // $(".iframeWrap").preventScroll();  
+  $(".iframeWrap").preventScroll();  
+  $(".recommendWrap").preventScroll();  
+  $(".infoWrap").preventScroll();  
+  $(".medicalKonwledgeWrap .staticSearchB ul").preventScroll();  
+  $(window).on("resize", function(){
+    $(".iframeWrap").preventScroll();  
+    $(".recommendWrap").preventScroll();  
+ 
+    $(".medicalKonwledgeWrap .staticSearchB ul").preventScroll(); 
+    adjustHei() 
+  })
+});

+ 39 - 0
src/js/generalTreat.js

@@ -0,0 +1,39 @@
+const $ = require("jquery");
+const {getUrlArgObject,config,post} = require('./promise.js');
+require('../css/generalTreat.less') 
+$(function(){
+  let disName = getUrlArgObject("name") ||''
+  let showName = getUrlArgObject("disName") ||''
+  let generalTreatInfo = ''
+  function getInfomation() {
+    var param = {
+      "type": '1',
+      "name": disName,
+      "position": '',
+      "contentTypes":[4]
+    };
+    post(config.information, param).then((res) => {
+      const data = res.data.data
+      // if (!data) {
+      //   $("h1").html("暂时没有数据");
+      //   $(".anchors").css("display", "none");
+      //   return;
+      // }
+      var detailList = data.details
+      generalTreatInfo = detailList['治疗方案'][0].content
+      // console.log(generalTreatInfo)
+      renderGeneralTreat(generalTreatInfo,'一般治疗')
+    })
+  }
+  getInfomation();
+
+  function renderGeneralTreat(list,name){
+    if(list.length === 0){
+      return
+    }
+    // let str = `<p>${name}</p>`
+    let str = `<p class="contentTitle">${showName}</p>`
+    str+= `<div class="preDom">${generalTreatInfo}</div>`
+    $(".content").append(str)
+  }
+})

+ 62 - 0
src/js/homeStatic.js

@@ -0,0 +1,62 @@
+require('./../css/homeStatic.less');
+
+const $ = require("jquery");
+const {post, config,} = require('./promise.js');
+const {toggleWarnBox} = require('./util.js');
+let searchType = 0;
+require('./../images/staticBgS.png').replace(/^undefined/g, '')
+require('./../images/staticLogo.png').replace(/^undefined/g, '')
+require('./../images/staticBg.png').replace(/^undefined/g, '')
+require('./../images/word.png').replace(/^undefined/g, '')
+
+$(function(){
+  getAllTypes()
+  goSearchList()
+});
+//tab
+function renderTab(data){
+  let str = '';
+  for (let i = 0; i < data.length; i++) {
+    const element = data[i];
+    str += `<li class="${i==0?'tabFst':''}" data-id="${element.val}">${element.name}</li>`
+  }
+  $('.staticTopTab ul').html(str)
+  $(".staticTopTab li").click(function(){
+    searchType = $(this).attr('data-id')
+    $(this).css({borderColor:'#fff'}).siblings().css({borderColor:'#2A9BD5'})
+  })
+}
+//搜索跳转
+function goSearchList(){
+  $(".searchBtn").click(function(){
+    let vals = $('.searchStr').val()
+      if (!vals) {
+          $(".staticResult .loading").hide();
+          toggleWarnBox('检索词不能为空!');
+          return;
+      }
+    window.location.href = './searchStaticList.html?type='+searchType+'&inputStr='+vals
+  })
+}
+//获取字典信息
+function getAllTypes(){
+  const allTypes = localStorage.getItem('allTypes')&&JSON.parse(localStorage.getItem('allTypes'))||[];
+  if(allTypes.length>0){
+    renderTab(allTypes)
+    return
+  }
+  post(config.dictionaryInfo, {}).then((res) => {
+    const result = res.data
+    if(result.code==='0'){
+      const data = result.data[7]||[];
+      localStorage.setItem('allTypes',JSON.stringify(data))
+      renderTab(data)
+    }
+  })
+}
+
+$(function () {
+    $(".warning-box .confirm,.warning-box .close").click(function () {
+        toggleWarnBox();
+    })
+});

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 528 - 0
src/js/icssIndex.js


+ 362 - 0
src/js/icssIndexDom.js

@@ -0,0 +1,362 @@
+const $ = require("jquery");
+const { openNewWin,imageUrlPrefix } = require('./promise.js');
+const { bindTipsEvent } = require('./popupEdit.js');
+
+function renderRecommendInfo(showNum,className,title,data, hasInfo, type, position) {
+    let showNumCopy = showNum || 5
+    const dataLen = data.length
+    const str = `<div class="recommendInfoWrapper ${className}">
+                    <h4><img class="titleIcon" src="./images/knzd.png" alt="icon" />${title}</h4>
+                    <div class="recommendInfoBox">
+                        <div class="clearfix recommendInfoItemBox ${className + 'box'}">
+                        </div>
+                    </div>
+                </div>`
+    $('.recommendWrap').append(str)
+    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++) {
+            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++) {
+            childrenNodeStrLong += `<span class="recommendInfoItem" data-name="${data[i].name}">
+                                    ${data[i].name}
+                                </span>`
+        }
+    }
+    if(!childrenNodeStrShort) {
+        childrenNodeStrShort='<span class="recommendNull">暂无推荐</span>'
+    }
+    
+    $('.'+className + 'box').append(childrenNodeStrShort)
+    $('.'+className + 'box' +' .infoMsg').on('click', function(){
+        const infoMsgName = $(this).attr('data-name')
+        openNewWin(`information.html?type=${encodeURIComponent(type)}&position=${encodeURIComponent(position)}&name=${encodeURIComponent(infoMsgName)}`)
+    })
+    if(dataLen > showNumCopy) {
+        slideToggle($("."+className+"box"), childrenNodeStrShort,childrenNodeStrLong)
+    }
+}
+
+function renderMultRecommendInfo(className,title,data, hasInfo, type, position) {
+    const str = `<div class="recommendInfoWrapper ${className}">
+                    <h4><img class="titleIcon" src="./images/inspect.png" alt="icon" />${title}</h4>
+                    <div class="recommendInfoBox ${className + 'box'}"></div>
+                </div>`
+    $('.recommendWrap').append(str)
+    let hasDataNum = 0
+    for(let i = 0; i < data.length; i++) {
+        const showNum = data[i].showNum || 5
+        const dataLen = data[i].data.length
+        if(dataLen === 0) {
+            continue
+        }
+        hasDataNum++
+        if(hasDataNum > 1) {
+            $('.'+className + 'box').append('<div class="line"></div>')
+        }
+        let childrenNodeBoxStr  = `<div class="labAndPacsBox ${data[i].className} clearfix"> </div>`
+        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++) {
+            childrenNodeStrLong += `<span class="labAndPacsItem">${data[i].data[j].name}</span>`
+        }
+        if(data[i].data.length == 0) {
+            childrenNodeStrShort +='<span class="recommendNull">暂无推荐</span>'
+        }
+        $('.'+className + 'box').append(childrenNodeBoxStr)
+        $('.'+data[i].className).append(childrenNodeStrShort)
+        if(dataLen > showNum) {
+            slideToggle($("."+data[i].className), childrenNodeStrShort,childrenNodeStrLong)
+        }
+    }
+
+}
+
+function renderRecommendConditTips(className,title,data) {
+    const str = `<div class="recommendInfoWrapper ${className}">
+                    <h4><img class="titleIcon" src="./images/tips.png" alt="icon" />${title}</h4>
+                    <div class="recommendInfoBox  ${className + 'box'}"></div>
+                </div>`
+    $('.recommendWrap').append(str)
+    if(data.length == 0) {
+        $("."+className+"box").append('<span class="recommendNull">暂无推荐</span>')
+    };
+    //let names = [];
+    for(var k = 0;k < data.length;k++){
+        let tmpBq = data[k];
+        let hasSritical = false
+        let tmpBqStr;
+        if(tmpBq.details) {
+            for(let i = 0; i < tmpBq.details.length; i++) {
+                if(tmpBq.details[i].type == 4) {
+                    hasSritical= true
+                }
+            }
+        }
+        if(hasSritical) {
+            /*if(names.includes(tmpBq.name)){    //name相同去重
+              tmpBqStr='';
+            }else{
+              names.push(tmpBq.name);*/
+              tmpBqStr = `<p class="mayIllness">
+              <span class="sriticalNameBox"><span class="sriticalName">${tmpBq.name}</span>
+                </span>
+            </span></p>`
+            //}
+        } else {
+            tmpBqStr = `<p class="mayIllness">
+                            患者可能有 <span class="diagNameBox"><span class="diagName">${tmpBq.name}:</span>
+                                <span title="点击该名称可看详细说明" class="infoMsg" data-name=${tmpBq.name}></span>
+                            </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-scaleName=${tmpBqDetail.content.name} 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
+                if(deepDetail.isShow == 0) {
+                    deepDetailStr+=`<li class="radioCheck"><span class="modalMaintltle">${deepDetail.name}: </span>${deepDetail.value} ${deepDetail.uint}</li>`
+                } else {
+                    deepDetailStr+=`<li class="radioCheck"><span class="modalMaintltle">请输入${deepDetail.name}: </span><input type="text" class="${tmpBqDetail.content.name+deepDetail.name}" ${deepDetail.isShow=='0' ? 'readonly':''} 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.isShow == '0'){
+                    if(tooDeepDetail.state == 1) {
+                      tooDeepDetailStr+='<li class="radioChecks" data-select="'+(tooDeepDetail.state == 1?"select":"")+'"><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" data-isShow = ${deepDetail.isShow}>
+                                    ${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(tmpBqDetail.type == 4){
+            // tmpBqDetailStr+=`<div class="sriticalinfo">诊断要点:${tmpBqDetail.content.name}</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=${encodeURIComponent(infoMsgName)}`)
+      })
+      $('.alertModal .illnessTable').on('click', function(){
+        const msg1 = JSON.parse(JSON.stringify(msg))
+        msg1.scaleName = $(this).attr('data-scaleName')
+        msg1.featureType = 21
+        openNewWin(`scale.html?msg=${encodeURIComponent(JSON.stringify(msg1))}`)
+      })
+      bindTipsEvent()
+}
+
+
+
+function renderCaseStandard(className,title,data){
+    const str = `<div class="recommendInfoWrapper ${className}">
+        <h4><img class="titleIcon" src="./images/knzd.png" alt="icon" />${title}</h4>
+        <div class="recommendInfoBox">
+            <div class="clearfix recommendInfoItemBox ${className + 'box'}">
+            </div>
+        </div>
+    </div>`
+    let childStr = ""
+    for(let i = 0; i < data.length; i++){
+        childStr += `<p>${data[i]}</p>`
+    }
+    $('.recommendWrap').append(str)
+    $(`.${className}box`).html(childStr)
+}
+function renderWarning(showNum,className,title,data, hasInfo, type, position){
+    let showNumCopy = showNum || 5
+    const dataLen = data.length
+    const str = `<div class="recommendInfoWrapper ${className}">
+                    
+                    <div class="recommendInfoBox">
+                       
+                        <div class="clearfix recommendInfoItemBox ${className + 'box'}">
+                        <h4><img class="titleIcon" src="./images/warings.png" alt="icon" />${title}</h4>
+                        </div>
+                    </div>
+                </div>`
+    $('.recommendWrap').append(str)
+    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++) {
+            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++) {
+            childrenNodeStrLong += `<span class="recommendInfoItem" data-name="${data[i].name}">
+                                    ${data[i].name}
+                                </span>`
+        }
+    }
+    if(!childrenNodeStrShort) {
+        childrenNodeStrShort='<span class="recommendNull">暂无推荐</span>'
+    }
+    
+    $('.'+className + 'box').append(childrenNodeStrShort)
+    $('.'+className + 'box' +' .infoMsg').on('click', function(){
+        const infoMsgName = $(this).attr('data-name')
+        openNewWin(`information.html?type=${encodeURIComponent(type)}&position=${encodeURIComponent(position)}&name=${encodeURIComponent(infoMsgName)}`)
+    })
+    if(dataLen > showNumCopy) {
+        slideToggle($("."+className+"box"), childrenNodeStrShort,childrenNodeStrLong)
+    }
+}
+
+function slideToggle(domName,childrenNodeStrShort,childrenNodeStrLong){//展开收起
+    domName.append('<span class="slideDown">更多 <i></i></span>')
+    domName.on('click',".slideDown",function(){
+        domName.html(childrenNodeStrLong)
+        domName.append('<span class="slideup">收起 <i></i></span>')
+        $(this).remove()
+    })
+    domName.on('click',".slideup",function(){
+        domName.html(childrenNodeStrShort)
+        domName.append('<span class="slideDown">更多 <i></i></span>')
+        $(this).remove()
+    })
+}
+module.exports ={
+    renderCaseStandard,
+    renderWarning,
+    renderRecommendInfo,
+    renderMultRecommendInfo,
+    renderRecommendConditTips,
+}

+ 225 - 0
src/js/informationOut.js

@@ -0,0 +1,225 @@
+if(!Promise){
+  var Promise = require("bluebird");
+// Configure
+  Promise.config({
+    longStackTraces: true,
+    warnings: true // note, run node with --trace-warnings to see full stack traces for warnings
+  })
+}
+require('../css/informationOut.less')
+const {
+  post,
+  throttle,
+  imageUrlPrefix,
+  config,
+  getUrlArgObject,
+  openNewWin
+} = require('./promise.js');
+const $ = require("jquery");
+let showName,noticeName,clinicalPathwayName,showLis=[]
+
+let icond = require('./../images/d.png').replace(/^undefined/g, '')
+function getInfomation() {
+  // var param = {
+  //   "type": getUrlArgObject('type'),
+  //   "name": getUrlArgObject('name'),
+  //   "position": getUrlArgObject('position'),
+  //   "contentTypes":[1,2,3]
+  // };
+  var param = {
+    "type": getUrlArgObject('type'),
+    "hospitalId": getUrlArgObject('hospitalId'),
+    "hisName": getUrlArgObject('hisName'),
+    "hisDetailName": getUrlArgObject('hisDetailName'),
+    "contentTypes":[1,2,3]
+  };
+  const uname = getUrlArgObject('uname')
+  // showName = param.name
+  // if (param.type == 5 || param.type == 51) {
+  //   param.type = 12;
+  //   param.name = uname;
+  // }
+
+  post(config.getStaticKnowledgeForHIS, param).then((res) => {
+    if(res.data.code==='0'){
+      const data = res.data.data
+      var str = '';
+      var anchors = '';
+      if (!data||data.length===0) {
+        showEmpty();
+        return;
+      }
+      showLis=data
+      for(let i = 0;i < showLis.length;i++){
+        let tmp = showLis[i]
+        str+=`<li data-idx="${i}" title="${tmp.name}">${tmp.name}</li>`
+      }
+      $(".showWhich ul").html(str)
+      $(".showWhichSelect").html(showLis[0].name).attr("title",showLis[0].name)
+      showName = data[0].name
+      document.title = showName
+      showInfoSelect()
+      showInfo(data[0])
+      $('.content img').bind('contextmenu', function(){
+        return false
+      })
+    }else{
+      showEmpty();
+    }
+  })
+}
+getInfomation();
+function showEmpty(){
+  const str=`<div class="empty"><img src="../images/empty3.png" alt=""><p>暂无静态知识</p></div>`;
+  $(".tabBox").html(str).css("border-bottom","none");
+}
+function showInfo(data){
+  var detailList = data.details
+  var staticKnowList = detailList['静态知识']
+  var noticeInfo = detailList['注意事项']
+  var clinicalPathwayInfo = detailList['临床路径']
+  noticeName = data.noticeName || "注意事项"
+  clinicalPathwayName = data.clinicalPathwayName || "临床路径"
+  // $("h1").css({
+  //   "color": "#267FD7",
+  //   "borderBottom": "4px solid  #E9E9E9",
+  //   "padding": "0px 60px 50px 0px"
+  // });
+  renderTab(detailList)
+  staticKnowList&&renderContent(staticKnowList,'staticKnowledge')
+  noticeInfo&&renderContent(noticeInfo,'notice')
+  clinicalPathwayInfo&&renderContent(clinicalPathwayInfo,'clinicalPathway')
+}
+function showInfoSelect(){
+  $('.showWhich li').click(function(){
+    let idx = $(this).attr('data-idx')
+    let name = $(this).html(),str=''
+    showName = showLis[idx].name
+    document.title = showName
+    showInfo(showLis[idx])
+    $('.content .infos').scrollTop(0)
+    $(".showWhich ul").css("display","none")
+    $(".showWhichSelect").html(name).attr("title",name)
+  })
+  $(".showWhichSelect").click(function(e){
+    e.stopPropagation()
+    $(".showWhich ul").slideToggle()
+  })
+  $(document).click(function(){
+    $(".showWhich ul").css("display","none")
+  })
+}
+function renderContent(list, contentWrapClassName){
+  $(`.${contentWrapClassName} .infos`).html('');
+  $(`.${contentWrapClassName} .anchors ul`).html('');
+    for (var i = 0; i < list.length; i++) {
+        var item = list[i];
+        item.content = item.content&&item.content.replace(/{imageUrlPrefix}/g, imageUrlPrefix);
+        anchors = '<li><i></i><a href="#' + contentWrapClassName+i +
+          '">' + item.title + '</a></li><li class="anchor-line"></li>';
+        str = '<div class="infoBox"><div class="title"> <div class= "circleBox"><span class="circle"> </span></div> <h2 class="titleH2" id="' + contentWrapClassName+i +
+          '">'
+        if (getUrlArgObject('type') == 8) {
+          str += '【' + item.title + '】'
+        } else {
+          str += item.title
+        }
+        str += '</h2></div>' +
+          '<div class="contentWrapper"><pre>' + item.content + '</pre><div></div>';
+          str = `<div class="infoWrapper">${str}</div>`
+        $(`.${contentWrapClassName} .infos`).append(str);
+        $(`.${contentWrapClassName} .anchors ul`).append(anchors);
+    }
+
+    function addScrollEvent() {
+      var scrollTop = $(`.${contentWrapClassName} .infos`).scrollTop()
+
+      var divHeight = 0;
+      for (var i = 0; i < list.length; i++) {
+        divHeight = divHeight + parseInt($('#'+contentWrapClassName+i).css('height')) + parseInt($('#'+contentWrapClassName+i).parent().next().css('height')) + 20
+        if (divHeight > scrollTop) {
+          var anchor = 2 * i;
+          $(`.${contentWrapClassName} .anchors ul`).children().eq(anchor).addClass('active').siblings().removeClass('active');
+          return;
+        }
+      }
+    }
+    $(`.${contentWrapClassName} .infos`).scroll(throttle(addScrollEvent, 200));
+    addLinkClickEvent(contentWrapClassName);
+    adjustHeight();
+    adjustWidth()
+}
+
+
+
+function addLinkClickEvent(contentWrapClassName) {
+  $(`.${contentWrapClassName} .anchors li:first`).addClass("active");
+  $(`.${contentWrapClassName}  .anchors li>a`).on("click", function () {
+
+    const that = this
+    setTimeout(function(){
+      $(`.${contentWrapClassName} .anchors .active`).removeClass('active');
+      $(that).parent().addClass("active");
+    },20)
+
+  });
+}
+
+function renderTab(detailList){
+  $(".tabList").html('')
+  if(detailList['静态知识']){
+    $(".tabList").append(`<span class="tab" data-module="staticKnowledge">静态知识</span>`)
+    $(".staticKnowledge h1").html(showName);
+  }
+  if(detailList['临床路径']){
+    $(".tabList").append(`<span class="tab" data-module="clinicalPathway">临床路径</span>`)
+    $(".clinicalPathway h1").html(clinicalPathwayName);
+  }
+  if(detailList['注意事项']){
+    $(".tabList").append(`<span class="tab" data-module="notice">注意事项</span>`)
+    $(".notice h1").html(noticeName);
+  }
+  $(".tabList .tab").eq(0).addClass("activeTab")
+  let defaultModuleName = $(".tabList .tab").eq(0).attr("data-module")
+  $(`.${defaultModuleName}`).css("display","block")
+  bindTabClick()
+}
+function bindTabClick(){
+  $(".tabList .tab").on("click", function(){
+    const moduleName = $(this).attr("data-module")
+    const display = $(`.${moduleName}`).css("display")
+    if(display == "none"){
+      $(".activeTab").removeClass("activeTab")
+      $(this).addClass("activeTab")
+      $(".container").css("display","none")
+  
+      $(`.${moduleName}`).css("display","block")
+      $(`.${moduleName} .infos`).scrollTop(0)
+    }
+  })
+  $("#openWin").on("click",function(){
+    const type= getUrlArgObject('type');
+    const hospitalId= getUrlArgObject('hospitalId');
+    const hisName= getUrlArgObject('hisName');
+    const hisDetailName= getUrlArgObject('hisDetailName');
+    openNewWin("informationOut.html?hospitalId="+encodeURIComponent(hospitalId)+"&hisName="+encodeURIComponent(hisName)+"&hisDetailName="+encodeURIComponent(hisDetailName)+"&type="+encodeURIComponent(type));
+  })
+}
+function adjustHeight() {
+  var ht = window.innerHeight || document.documentElement.clientHeight;
+  $(".content").height(ht - 90 + "px");
+}
+function adjustWidth() {
+  var wt = window.innerWidth || document.documentElement.clientWidth;
+  $(".titleH2").width(wt- 0.2*wt -33 - 200 - 17 - 40 -15 + 'px')
+  $("pre").width(wt- 0.2*wt - 200 + 'px')
+}
+$(window).on('resize', function(){
+  adjustHeight()
+  adjustWidth()
+})
+//如果是子窗口,隐藏网页查看按钮
+if(window.opener){
+  $("#openWin").hide();
+}
+

Failā izmaiņas netiks attēlotas, jo tās ir par lielu
+ 5 - 0
src/js/jquery-migrate.js


+ 71 - 0
src/js/jquery.PrintArea.js

@@ -0,0 +1,71 @@
+// -----------------------------------------------------------------------
+// Eros Fratini - eros@recoding.it
+// jqprint 0.3
+//
+// - 19/06/2009 - some new implementations, added Opera support
+// - 11/05/2009 - first sketch
+//
+// Printing plug-in for jQuery, evolution of jPrintArea: http://plugins.jquery.com/project/jPrintArea
+// requires jQuery 1.3.x
+//
+// Licensed under the MIT license: http://www.opensource.org/licenses/mit-license.php
+//------------------------------------------------------------------------
+const $ = require("jquery");
+(function ($) {
+  var opt;
+
+  $.fn.jqprint = function (options) {
+    opt = $.extend({}, $.fn.jqprint.defaults, options);
+
+    var $element = (this instanceof $) ? this : $(this);
+
+    if (opt.operaSupport && $.browser.opera) {
+      var tab = window.open("", "jqPrint-preview");
+
+      tab.document.open();
+
+      var doc = tab.document;
+    }
+    else {
+      var $iframe = $("<iframe  />");
+
+      if (!opt.debug) { $iframe.css({ position: "absolute", width: "0px", height: "0px", left: "-600px", top: "-600px" }); }
+
+      $iframe.appendTo("body");
+      var doc = $iframe[0].contentWindow.document;
+    }
+
+    if (opt.importCSS) {
+      if ($("link[media=print]").length > 0) {
+        $("link[media=print]").each(function () {
+          doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' media='print' />");
+        });
+      }
+      else {
+        $("link").each(function () {
+          doc.write("<link type='text/css' rel='stylesheet' href='" + $(this).attr("href") + "' />");
+        });
+      }
+    }
+
+    if (opt.printContainer) { doc.write($element.outer()); }
+    else { $element.each(function () { doc.write($(this).html()); }); }
+
+    doc.close();
+
+    (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).focus();
+    setTimeout(function () { (opt.operaSupport && $.browser.opera ? tab : $iframe[0].contentWindow).print(); if (tab) { tab.close(); } }, 1000);
+  }
+
+  $.fn.jqprint.defaults = {
+    debug: false,
+    importCSS: true,
+    printContainer: true,
+    operaSupport: true
+  };
+
+  // Thanks to 9__, found at http://users.livejournal.com/9__/380664.html
+  $.fn.outer = function () {
+    return $($('<div></div>').html(this.clone())).html();
+  }
+})($);

+ 228 - 0
src/js/searchStaticList.js

@@ -0,0 +1,228 @@
+require('./../css/searchStaticList.less');
+
+const $ = require("jquery");
+const { post,config,getUrlArgObject,openNewWin } = require('./promise.js');
+const {toggleWarnBox} = require('./util.js');
+
+let searchType = 0, inputStr = '', curPage = 1, size = 10, totalPage = 1;
+searchType = getUrlArgObject('type') || 0
+inputStr = getUrlArgObject('inputStr') || ''
+
+let arrowLeft = require('./../images/leftpage.png').replace(/^undefined/g, '')
+let arrowRight = require('./../images/rightpage.png').replace(/^undefined/g, '')
+require('./../images/staticBgS.png').replace(/^undefined/g, '')
+require('./../images/staticLogo.png').replace(/^undefined/g, '')
+require('./../images/staticBg.png').replace(/^undefined/g, '')
+require('./../images/nolis.png').replace(/^undefined/g, '')
+require('./../images/warn.png').replace(/^undefined/g, '')
+
+$(function(){
+  initData()
+  getAllTypes()
+  getSearchList()
+  getTabData()
+});
+//tab
+function renderTab(data){
+    let str = '';
+    for (let i = 0; i < data.length; i++) {
+      const element = data[i];
+      str += `<li class="${i==0?'tabFst':''}" data-id="${element.val}">${element.name}</li>`
+    }
+    $('.staticTopTab ul').html(str)
+    $('.staticTopTab li[data-id='+searchType+']').css({color:'#2A9BD5'}).siblings().css({color:'#333'});
+    $(".staticTopTab li").click(function(){
+      searchType = $(this).attr('data-id')
+      $(this).css({color:'#2A9BD5'}).siblings().css({color:'#333'})
+    })
+  }
+//获取字典信息
+function getAllTypes(){
+    const allTypes = localStorage.getItem('allTypes')&&JSON.parse(localStorage.getItem('allTypes'))||[];
+    if(allTypes.length>0){
+      renderTab(allTypes)
+      return
+    }
+    post(config.dictionaryInfo, {}).then((res) => {
+      const result = res.data
+      if(result.code==='0'){
+        const data = result.data[7]||[];
+        localStorage.setItem('allTypes',JSON.stringify(data))
+        renderTab(data)
+      }
+    })
+  }
+function getSearchList(){
+    $(".searchBtn").click(function(){
+        $(".resultItemWrap,.pagination").html("");
+        $(".staticResult .loading").show();
+        curPage=1;
+        getTabData()
+    })
+}
+function getTabData(){
+    let vals = $('.searchStr').val();
+    if (!vals) {
+        $(".staticResult .loading").hide();
+        toggleWarnBox('检索词不能为空!');
+        return;
+    }
+    let param = {
+        size,
+        current:curPage,
+        types:[+searchType],
+        inputStr:vals
+    }
+    $(".resultItemEmpty").hide();
+    post(config.staticSearch,param).then((res) => {
+      const result = res.data
+      if(result.code == 0) {
+        const data = result.data;
+        tabList = data.records;
+          totalPage = data.pages;
+        const totalNum = data.total;
+        renderList(tabList);
+        if(totalNum > 0){
+            renderPagination(totalPage,Number(curPage),totalNum)
+        } else{
+            $('.pagination').html("")
+        }
+      }
+    })
+}
+function renderList(tabList){
+    $(".staticResult .loading").hide();
+    if(tabList.length == 0){
+        $('.pagination').html('')
+        $(".resultItemWrap").html('');
+        $(".resultItemEmpty").css({display:'block'});
+        return
+    }
+    let str = ''
+    for(let i = 0;i<tabList.length;i++){
+        let item = tabList[i]
+        str += `
+            <div class="resultItem" data-type="${item.type}" data-name="${item.name}">
+                <div>
+                    <span class="type">${item.typeName}</span>
+                    <span class="drug">${item.name}</span>
+                    ${item.code ?`<span class="code">${item.code}</span>`:''}
+                </div>
+                ${item.retrievalName?`<div class="same">同义词:<span>${item.retrievalName}</span></div>`:''}
+                <div class="content">
+                    <p>${item.abstractContent}</p>
+                </div>
+            </div>
+        `
+    }
+    $(".resultItemWrap").html(str);
+    $('.resultItem').click(function(){
+        let name = $(this).attr('data-name')
+        let type = $(this).attr('data-type')
+        if(window.opener){
+            openNewWin(`./staticInfo.html?name=${name}&type=${type}`);
+        }else{
+            window.open(`./staticInfo.html?name=${name}&type=${type}`);
+        }
+    })
+    window.scrollTo(0, 0);
+}
+function initData(){
+    if(searchType){
+        $('.staticTopTab li').eq(searchType).css({color:'#2A9BD5'}).siblings().css({color:'#333'})
+    }
+    if(inputStr){
+        $(".searchStr").val(inputStr)
+    }
+}
+
+// 分页
+function renderPagination(totalPage,activePage,totalNum){
+    let str = `<span class="totalSum">共${totalNum}条</span>
+        <select class="select">
+            <option value="10" ${size==10?'selected':''}>10条/页</option>
+            <option value="50" ${size==50?'selected':''}>50条/页</option>
+            <option value="100" ${size==100?'selected':''}>100条/页</option>
+            <option value="500" ${size==500?'selected':''}>500条/页</option>
+            <option value="1000" ${size==1000?'selected':''}>1000条/页</option>
+            <option value="5000" ${size==5000?'selected':''}>5000条/页</option>
+        </select>
+        <span class="prePage">
+            <img class="arrowPage" src=${arrowLeft} />
+        </span>
+    `
+    if(totalPage <= 6){
+        for(let i = 1; i <= totalPage; i++){
+            str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+        }
+    }else{
+        if(activePage <= 3){ //选中页数小于4
+            for(let i = 1; i <= 4; i++){
+                str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+            }
+            str += `<span class="more" >...</span>`
+            str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+        } else if(activePage > totalPage -3){
+            str += `<span class="pageNum page1" data-page=1>1</span>`
+            str += `<span class="more" >...</span>`
+            str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
+            str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
+            str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
+            str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+        } else {
+            str += `<span class="pageNum page1" data-page=1>1</span>`
+            str += `<span class="more" >...</span>`
+            str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
+            str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
+            str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
+            str += `<span class="more" >...</span>`
+            str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+        }
+       
+    }
+    str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>
+        <span class="goNum">前往 <input type="number" value="${curPage}" /> 页</span>`
+    $('.pagination').html(str)
+    $('.page' + activePage).addClass('activePage')
+    $(".pageNum").on("click", function(e){
+        //console.log($(this)[0])
+        const activePageNow = Number($(this).attr('data-page'))
+        curPage = activePageNow
+        getTabData()
+    })
+    $(".prePage").on("click", function(e){
+        let activePageNow = Number($(".activePage").attr('data-page'))
+        if(activePageNow > 1){
+            curPage = --activePageNow
+            getTabData()
+        }
+    })
+    $(".nextPage").on("click", function(e){
+        let activePageNow = Number($(".activePage").attr('data-page'))
+        if(activePageNow < totalPage){
+            curPage = ++activePageNow
+            getTabData()
+        }
+    })
+    $('.select').change(function(){
+        size = $(this).val();
+        curPage=1;
+        getTabData()
+    })
+    $('.goNum input').change(function(){
+        const n = $(this).val()
+        if (totalPage < n || n < 1) {
+            toggleWarnBox("请输入1-" + totalPage + "范围内的整数");
+            return;
+        }
+        curPage = n;
+        getTabData()
+    })
+}
+
+$(function () {
+    $(".warning-box .confirm,.warning-box .close").click(function () {
+        toggleWarnBox();
+    })
+});
+

+ 362 - 0
src/js/staticInfo.js

@@ -0,0 +1,362 @@
+if (!Promise) {
+  var Promise = require("bluebird");
+  // Configure
+  Promise.config({
+    longStackTraces: true,
+    warnings: true // note, run node with --trace-warnings to see full stack traces for warnings
+  })
+}
+require('../css/staticInfo.less')
+
+const {
+  post,
+  throttle,
+  imageUrlPrefix,
+  config,
+  getUrlArgObject,
+  openNewWin,
+  Toast
+} = require('./promise.js');
+const $ = require("jquery");
+require("./jquery-migrate");
+const jqprint = require("../js/jquery.PrintArea")
+let printing = require('./../images/printing.png');
+let printing2 = require('./../images/printing2.png');
+let recommend = require('./../images/recommend.png');
+
+let showName, noticeName, clinicalPathwayName
+function getInfomation() {
+  var param = {
+    "type": getUrlArgObject('type'),
+    "name": getUrlArgObject('name'),
+    "position": getUrlArgObject('position'),
+    "contentTypes": [1, 2, 3]
+  };
+  showName = param.name
+  $(".tabBox .title").html(showName);
+
+  post(config.information, param).then((res) => {
+    const data = res.data.data
+    // const data = dataaaa.data
+    document.title = showName
+    var str = '';
+    var anchors = '';
+
+    if (!data) {
+      $(".title").html("暂时没有数据");
+      $(".anchors").css("display", "none");
+      return;
+    }
+    var detailList = data.details
+    var scale = data.scale
+    var staticKnowList = detailList['静态知识']
+    var noticeInfo = detailList['注意事项']
+    var clinicalPathwayInfo = detailList['临床路径']
+    var scaleInfo = data.scale ? data.scale.scaleDetails : ''
+    var name = data.name
+    noticeName = data.noticeName || "注意事项"
+    clinicalPathwayName = data.clinicalPathwayName || "临床路径"
+    renderTab(detailList, scale)
+    staticKnowList && renderContent(staticKnowList, 'staticKnowledge')
+    noticeInfo && renderContent(noticeInfo, 'notice')
+    clinicalPathwayInfo && renderContent(clinicalPathwayInfo, 'clinicalPathway')
+    scaleInfo && renderContentscale(scaleInfo, 'scale', name)
+    $('.content img').bind('contextmenu', function () {
+      return false
+    })
+
+  })
+}
+getInfomation();
+
+
+function renderContent(list, contentWrapClassName) {
+
+  for (var i = 0; i < list.length; i++) {
+    var item = list[i];
+    item.content = item.content && item.content.replace(/{imageUrlPrefix}/g, imageUrlPrefix);
+    anchors = '<li><i></i><a href="#' + contentWrapClassName + i +
+      '">' + item.title + '</a></li><li class="anchor-line"></li>';
+    str = '<div class="infoBox"><div class="title"> <h2 class="titleH2" id="' + contentWrapClassName + i +
+      '">'
+    /*if (getUrlArgObject('type') == 8) {
+      str += '【' + item.title + '】'
+    } else {*/
+    str += item.title
+    /*}*/
+    str += '</h2></div>' +
+      '<div class="contentWrapper"><pre>' + item.content + '</pre><div></div>';
+    str = `<div class="infoWrapper">${str}</div>`
+    $(`.${contentWrapClassName} .infos`).append(str);
+    $(`.${contentWrapClassName} .anchors ul`).append(anchors);
+  }
+
+  function addScrollEvent() {
+    var scrollTop = $(`.${contentWrapClassName} .infos`).scrollTop()
+
+    var divHeight = 0;
+    for (var i = 0; i < list.length; i++) {
+      divHeight = divHeight + parseInt($('#' + contentWrapClassName + i).css('height')) + parseInt($('#' + contentWrapClassName + i).parent().next().css('height')) + 20
+      if (divHeight > scrollTop) {
+        var anchor = 2 * i;
+        $(`.${contentWrapClassName} .anchors ul`).children().eq(anchor).addClass('active').siblings().removeClass('active');
+        return;
+      }
+    }
+  }
+  $(`.${contentWrapClassName} .infos`).scroll(throttle(addScrollEvent, 200));
+  addLinkClickEvent(contentWrapClassName);
+  adjustHeight();
+  adjustWidth()
+}
+
+function renderContentscale(list, contentWrapClassName, name) {
+  var pushInfo=[]
+  anchors = '<li><i></i><a href="#' + contentWrapClassName +
+    '">' + name + '</a></li><li class="anchor-line"></li>';
+  str = '<p class="scaletitle">' + name + '</p>'
+  $(`.${contentWrapClassName} .infos`).append(str);
+  $(`.${contentWrapClassName} .anchors ul`).append(anchors);
+  for (var i = 0; i < list[0].detailList.length; i++) {
+    var item = list[0].detailList[i];
+    if (item.textType == 11) {
+      item.content = item.content && item.content.replace(/{imageUrlPrefix}/g, imageUrlPrefix);
+      str = '<div class="infoBox scaleBox"><div class="title"> <h2 class="titleH2" id="' + contentWrapClassName + i +
+        '">'
+      str += item.content
+      str += '</h2></div>'
+      str = `<div class="infoWrapper">${str}</div>`
+      $(`.${contentWrapClassName} .infos`).append(str);
+      for (var j = 0; j < item.subList.length; j++) {
+        var items = item.subList[j];
+        for (var k = 0; k < items.detailList.length; k++) {
+          var it = items.detailList[k];
+          it.content = it.content && it.content.replace(/{imageUrlPrefix}/g, imageUrlPrefix);
+          str = '<div class="contentList"><div class="item-list">';
+          str += '<p class="item-title">' + it.content + '</p>'
+          str += '<div class="item-content" data-id="' + it.id + '">'
+          str += '</div></div></div>'
+          $(`.${contentWrapClassName} .infos .infoWrapper .infoBox`).append(str);
+          for (var l = 0; l < it.subList[0].detailList.length; l++) {
+            var its = it.subList[0].detailList[l];
+            its.content = its.content && its.content.replace(/{imageUrlPrefix}/g, imageUrlPrefix);
+            str = '<div class="radio" name="scale' + its.parentId + '" value="' + its.score + '">';
+            str += '<label><input class="radio_type" name="scale' + its.parentId + '" type="radio" value="' + its.score + '" />'
+            str += its.content
+            str += '<span class="num">' + '(' + its.score + ')' + '</span>'
+            str += '</label>'
+            str += `${item.match ? `<img class="recommend" src=${recommend} />` : `` }</div>`
+            $(".scale .infos .infoWrapper .infoBox .contentList .item-content[data-id=" + its.parentId + "]").append(str);
+          }
+        }
+      }
+      
+    }
+    if (item.textType == 13){
+      for (var m = 0; m < item.subList[0].detailList[0].subList[0].detailList.length; m++ ){
+        var itl = item.subList[0].detailList[0].subList[0].detailList[m]
+        let arr = {
+          content: JSON.parse(itl.content),
+          result: itl.result,
+          pushInfo: itl.pushInfo
+        }
+        pushInfo.push(arr)
+      }
+    }
+  }
+  str = '<div class="scalebot">'
+  str += '<p class="score"></p>'
+  str += '<button class="but">结果</button></div>'
+  str += '<div class="result"><div class="result_box"><p class="hel">?</p><span>结果:</span><p id="result_title" class="result_title"></p><textarea id="inputs"></textarea></div></div>'
+  str += `<div class="foot"><div class="foot_box"><div class="printing"><img src=${printing} class="slideImg"/>打印</div><div class="copy">确认并复制结果</div></div></div>`
+  $(`.${contentWrapClassName} .infos `).append(str);
+  // str = `<div class="foot"><div class="foot_box"><div class="printing"><img src=${printing} class="slideImg"/>打印</div><div class="copy">确认并复制结果</div></div></div>`
+  // $(`.${contentWrapClassName} .infos`).after(str);
+  function addScrollEvent() {
+    var scrollTop = $(`.${contentWrapClassName} .infos`).scrollTop()
+
+    var divHeight = 0;
+    for (var i = 0; i < list.length; i++) {
+      divHeight = divHeight + parseInt($('#' + contentWrapClassName + i).css('height')) + parseInt($('#' + contentWrapClassName + i).parent().next().css('height')) + 20
+      if (divHeight > scrollTop) {
+        var anchor = 2 * i;
+        $(`.${contentWrapClassName} .anchors ul`).children().eq(anchor).addClass('active').siblings().removeClass('active');
+        return;
+      }
+    }
+  }
+  $(`.${contentWrapClassName} .infos`).scroll(throttle(addScrollEvent, 200));
+  addLinkClickEvent(contentWrapClassName);
+  adjustHeight();
+  adjustWidth()
+  getcheck()
+  getResult(pushInfo)
+  copy()
+  getprinting()
+}
+
+function getprinting() {
+  $('.printing').click(function () {
+    $('.foot').hide()
+    $('#Print').css({
+      'height': 'auto', //高度自动
+    }).jqprint();
+    $('.foot').show()
+  })
+
+}
+
+function getcheck() {
+  $('input:radio').click(function () {
+    var domName = $(this).attr('name');
+    var $radio = $(this);
+    if ($radio.data('waschecked') == true) {
+      $radio.prop('checked', false);
+      $("input:radio[name='" + domName + "']").data('waschecked', false);
+    } else {
+      $radio.prop('checked', true);
+      $("input:radio[name='" + domName + "']").data('waschecked', false);
+      $radio.data('waschecked', true);
+    }
+    console.log("选中状态:", $(this).prop("checked"));
+    console.log($("input:radio[name='" + domName + "']:checked").val());
+  });
+}
+
+function copy() {
+  $(".copy").click(function () {
+    var texts = document.getElementById("result_title").innerText;
+    var inputs = document.getElementById("inputs");
+    inputs.value = texts; // 修改文本框的内容(赋值内容)
+    inputs.select(); // 选中文本
+    document.execCommand("copy"); // 执行浏览器复制命令
+    Toast('复制成功', 500)
+    setTimeout(()=>{
+      window.close()
+    },500)
+    
+  })
+  
+}
+
+function getResult(pushInfo) {
+
+  $(".but").click(function () {
+    let arr = [];
+    let num = 0
+    $(".contentList").each(function (i) {
+      if (Number(parseFloat($(this).find('input[type="radio"]:checked').val()))) {
+        num += parseFloat($(this).find('input[type="radio"]:checked').val())
+      }
+    })
+    for (var i = 0; i < pushInfo.length; i++) {
+      console.log(pushInfo[i])
+      if (pushInfo[i].content.max >= num >= pushInfo[i].content.min) {
+        $(".result_title").attr({
+          "title": pushInfo[i].result
+        });
+        $(".hel").attr({
+          "title": pushInfo[i].pushInfo
+        });
+        
+        $(".result_title").html(pushInfo[i].result);
+      }
+    }
+    $(".score").html('总分:' + num + '分');
+    $(".score").css('display', 'block')
+    $(".result").css('display', 'block')
+    $(".foot").css('display', 'block')
+
+  })
+
+  $(".printing").hover(
+    function () {
+      $(".slideImg").attr("src", printing2);
+    }, function () {
+      $(".slideImg").attr("src", printing);
+
+    });
+
+}
+
+function addLinkClickEvent(contentWrapClassName) {
+  $(`.${contentWrapClassName} .anchors li:first`).addClass("active");
+  $(`.${contentWrapClassName}  .anchors li>a`).on("click", function () {
+
+    const that = this
+    setTimeout(function () {
+      $(`.${contentWrapClassName} .anchors .active`).removeClass('active');
+      $(that).parent().addClass("active");
+    }, 20)
+
+  });
+}
+
+function renderTab(detailList, scale) {
+  if (detailList['静态知识']) {
+    $(".tabList").append(`<span class="tab" data-module="staticKnowledge" data-title="` + showName + `">静态知识</span>`)
+  }
+  if (detailList['临床路径']) {
+    $(".tabList").append(`<span class="tab" data-module="clinicalPathway" data-title="` + clinicalPathwayName + `">临床路径</span>`)
+    //$(".tabBox .title").html(clinicalPathwayName);
+  }
+  if (detailList['注意事项']) {
+    $(".tabList").append(`<span class="tab" data-module="notice" data-title="` + noticeName + `">注意事项</span>`)
+    //$(".tabBox .title").html(noticeName);
+  }
+  if (scale) {
+    $(".tabList").append(`<span class="tab" data-module="scale" data-title="` + showName + `">评估内容</span>`)
+    //$(".tabBox .title").html(noticeName);
+  }
+  let defaultModuleName
+  if (getUrlArgObject('page') && getUrlArgObject('page') == 1){
+    $(".tabList .tab").eq(1).addClass("activeTab")
+    defaultModuleName = $(".tabList .tab").eq(1).attr("data-module")
+  }else{
+    $(".tabList .tab").eq(0).addClass("activeTab")
+    defaultModuleName = $(".tabList .tab").eq(0).attr("data-module")
+  }
+  
+  $(`.${defaultModuleName}`).css("display", "block")
+  bindTabClick()
+}
+
+function bindTabClick() {
+  $(".tabList .tab").on("click", function () {
+    const moduleName = $(this).attr("data-module")
+    const display = $(`.${moduleName}`).css("display")
+    $(".tabBox .title").html($(this).attr('data-title'));
+    if (display == "none") {
+      $(".activeTab").removeClass("activeTab")
+      $(this).addClass("activeTab")
+      $(".container").css("display", "none")
+
+      $(`.${moduleName}`).css("display", "block")
+      $(`.${moduleName} .infos`).scrollTop(0)
+    }
+  })
+  $("#openWin").on("click", function () {
+    const type = getUrlArgObject('type');
+    const name = getUrlArgObject('name');
+    const position = getUrlArgObject('position');
+    openNewWin("staticInfo.html?name=" + encodeURIComponent(name) + "&position=" + encodeURIComponent(position) + "&type=" + encodeURIComponent(type));
+  })
+}
+function adjustHeight() {
+  var ht = window.innerHeight || document.documentElement.clientHeight;
+  $(".content,.content .infos").height(ht - 162 + "px");
+}
+function adjustWidth() {
+  var wt = window.innerWidth || document.documentElement.clientWidth;
+  $(".titleH2").width(wt - 0.2 * wt - 33 - 200 - 17 - 40 - 15 + 'px')
+  //$("pre").width(wt- 0.2*wt - 240 + 'px')
+}
+$(window).on('resize', function () {
+  adjustHeight()
+  adjustWidth()
+})
+
+//如果是子窗口,隐藏网页查看按钮
+if (window.opener) {
+  $("#openWin").hide();
+}

+ 238 - 0
src/js/staticInfoOut.js

@@ -0,0 +1,238 @@
+if(!Promise){
+  var Promise = require("bluebird");
+// Configure
+  Promise.config({
+    longStackTraces: true,
+    warnings: true // note, run node with --trace-warnings to see full stack traces for warnings
+  })
+}
+require('../css/staticInfoOut.less')
+const {
+  post,
+  throttle,
+  imageUrlPrefix,
+  config,
+  getUrlArgObject,
+  openNewWin
+} = require('./promise.js');
+const $ = require("jquery");
+let showName,noticeName,clinicalPathwayName,showLis=[],selectedDrop=0,selectedTab=0
+
+//如果是子窗口,隐藏网页查看按钮
+if(window.opener){
+    selectedDrop=getUrlArgObject("d")||0;
+    selectedTab=getUrlArgObject("t")||0;
+    $("#openWin").hide();
+}
+let icond = require('./../images/d.png').replace(/^undefined/g, '')
+function getInfomation() {
+  // var param = {
+  //   "type": getUrlArgObject('type'),
+  //   "name": getUrlArgObject('name'),
+  //   "position": getUrlArgObject('position'),
+  //   "contentTypes":[1,2,3]
+  // };
+  var param = {
+    "type": getUrlArgObject('type'),
+    "hospitalId": getUrlArgObject('hospitalId'),
+    "hisName": getUrlArgObject('hisName'),
+    "hisDetailName": getUrlArgObject('hisDetailName'),
+    "contentTypes":[1,2,3]
+  };
+  //showName = param.hisName;
+  // if (param.type == 5 || param.type == 51) {
+  //   param.type = 12;
+  //   param.name = uname;
+  // }
+
+  post(config.getStaticKnowledgeForHIS, param).then((res) => {
+    if(res.data.code==='0'){
+      const data = res.data.data
+      var str = '';
+      var anchors = '';
+      let sName ='';
+      if (!data||data.length===0) {
+        showEmpty();
+        return;
+      }
+      showLis=data
+      for(let i = 0;i < showLis.length;i++){
+        let tmp = showLis[i]
+        str+=`<li data-idx="${i}" title="${tmp.name}(${tmp.hisName})">${tmp.name}(${tmp.hisName})</li>`
+      }
+      $(".showWhich ul").html(str);
+        sName=showLis[selectedDrop].name+"("+showLis[selectedDrop].hisName+")";
+      $(".showWhichSelect").html(sName).attr("title",sName)
+      showName = data[selectedDrop].name+"("+data[selectedDrop].hisName+")";
+      showInfoSelect()
+      showInfo(data[selectedDrop])
+        renderTitleShow();
+      $('.content img').bind('contextmenu', function(){
+        return false
+      })
+    }else{
+      showEmpty();
+    }
+  })
+}
+getInfomation();
+function showEmpty(){
+  const str=`<div class="empty"><img src="../images/empty3.png" alt=""><p>暂无静态知识</p></div>`;
+  $(".tabBox").html(str).css("border-bottom","none");
+  $("body").css('background','#fff');
+}
+function showInfo(data){
+  var detailList = data.details
+  var staticKnowList = detailList['静态知识']
+  var noticeInfo = detailList['注意事项']
+  var clinicalPathwayInfo = detailList['临床路径']
+  noticeName = data.noticeName || "注意事项"
+  clinicalPathwayName = data.clinicalPathwayName || "临床路径"
+  // $("h1").css({
+  //   "color": "#267FD7",
+  //   "borderBottom": "4px solid  #E9E9E9",
+  //   "padding": "0px 60px 50px 0px"
+  // });
+  renderTab(detailList)
+  staticKnowList&&renderContent(staticKnowList,'staticKnowledge')
+  noticeInfo&&renderContent(noticeInfo,'notice')
+  clinicalPathwayInfo&&renderContent(clinicalPathwayInfo,'clinicalPathway')
+}
+function showInfoSelect(){
+  $('.showWhich li').click(function(){
+    let idx = $(this).attr('data-idx')
+    let name = $(this).html(),str=''
+    selectedDrop=idx;
+    selectedTab=0;
+    showName = showLis[idx].name+"("+showLis[idx].hisName+")";
+    showInfo(showLis[idx])
+    renderTitleShow();
+    $('.content .infos').scrollTop(0)
+    $(".showWhich ul").css("display","none")
+    $(".showWhichSelect").html(name).attr("title",name)
+  })
+  $(".showWhichSelect").click(function(e){
+    e.stopPropagation()
+    $(".showWhich ul").slideToggle()
+  })
+  $(document).click(function(){
+    $(".showWhich ul").css("display","none")
+  })
+}
+function renderTitleShow(){
+    document.title = showName;
+    $(".titleCont .title").html($(".tabList .tab:eq("+selectedTab+")").attr("data-title"));
+}
+function renderContent(list, contentWrapClassName){
+  $(`.${contentWrapClassName} .infos`).html('');
+  $(`.${contentWrapClassName} .anchors ul`).html('');
+    for (var i = 0; i < list.length; i++) {
+        var item = list[i];
+        item.content = item.content&&item.content.replace(/{imageUrlPrefix}/g, imageUrlPrefix);
+        anchors = '<li><i></i><a href="#' + contentWrapClassName+i +
+          '">' + item.title + '</a></li><li class="anchor-line"></li>';
+        str = '<div class="infoBox"><div class="title"> <h2 class="titleH2" id="' + contentWrapClassName+i +
+          '">'
+        if (getUrlArgObject('type') == 8) {
+          str += '【' + item.title + '】'
+        } else {
+          str += item.title
+        }
+        str += '</h2></div>' +
+          '<div class="contentWrapper"><pre>' + item.content + '</pre><div></div>';
+          str = `<div class="infoWrapper">${str}</div>`
+        $(`.${contentWrapClassName} .infos`).append(str);
+        $(`.${contentWrapClassName} .anchors ul`).append(anchors);
+    }
+
+    function addScrollEvent() {
+      var scrollTop = $(`.${contentWrapClassName} .infos`).scrollTop()
+
+      var divHeight = 0;
+      for (var i = 0; i < list.length; i++) {
+        divHeight = divHeight + parseInt($('#'+contentWrapClassName+i).css('height')) + parseInt($('#'+contentWrapClassName+i).parent().next().css('height')) + 20
+        if (divHeight > scrollTop) {
+          var anchor = 2 * i;
+          $(`.${contentWrapClassName} .anchors ul`).children().eq(anchor).addClass('active').siblings().removeClass('active');
+          return;
+        }
+      }
+    }
+    $(`.${contentWrapClassName} .infos`).scroll(throttle(addScrollEvent, 200));
+    addLinkClickEvent(contentWrapClassName);
+    adjustHeight();
+    adjustWidth()
+}
+
+
+
+function addLinkClickEvent(contentWrapClassName) {
+  $(`.${contentWrapClassName} .anchors li:first`).addClass("active");
+  $(`.${contentWrapClassName}  .anchors li>a`).on("click", function () {
+
+    const that = this
+    setTimeout(function(){
+      $(`.${contentWrapClassName} .anchors .active`).removeClass('active');
+      $(that).parent().addClass("active");
+    },20)
+
+  });
+}
+
+function renderTab(detailList){
+  $(".tabList").html('')
+  if(detailList['静态知识']){
+    $(".tabList").append(`<span class="tab" data-module="staticKnowledge" data-title="`+showName+`">静态知识</span>`)
+    //$(".titleCont .title").html(showName);
+  }
+  if(detailList['临床路径']){
+    $(".tabList").append(`<span class="tab" data-module="clinicalPathway" data-title="`+clinicalPathwayName+`">临床路径</span>`)
+    //$(".titleCont .title").html(clinicalPathwayName);
+  }
+  if(detailList['注意事项']){
+    $(".tabList").append(`<span class="tab" data-module="notice" data-title="`+noticeName+`">注意事项</span>`)
+    //$(".titleCont .title").html(noticeName);
+  }
+
+  $(".tabList .tab").eq(selectedTab).addClass("activeTab")
+  let defaultModuleName = $(".tabList .tab").eq(selectedTab).attr("data-module")
+  $(`.${defaultModuleName}`).css("display","block")
+  bindTabClick()
+}
+function bindTabClick(){
+  $(".tabList .tab").on("click", function(){
+    const moduleName = $(this).attr("data-module")
+    //const display = $(`.${moduleName}`).css("display")
+      selectedTab=$('.tabList .tab').index(this);
+      $(".titleCont .title").html($(this).attr('data-title'));
+    //if(display == "none"){
+      $(".activeTab").removeClass("activeTab")
+      $(this).addClass("activeTab")
+      $(".container").css("display","none")
+      $(`.${moduleName}`).css("display","block")
+      $(`.${moduleName} .infos`).scrollTop(0)
+    //}
+  })
+  $("#openWin").on("click",function(){
+    const type= getUrlArgObject('type');
+    const hospitalId= getUrlArgObject('hospitalId');
+    const hisName= getUrlArgObject('hisName');
+    const hisDetailName= getUrlArgObject('hisDetailName');console.log(selectedDrop)
+    openNewWin("staticInfoOut.html?hospitalId="+encodeURIComponent(hospitalId)+"&hisName="+encodeURIComponent(hisName)+"&hisDetailName="+encodeURIComponent(hisDetailName||'')+"&type="+encodeURIComponent(type)+"&d="+selectedDrop+"&t="+selectedTab);
+  })
+}
+function adjustHeight() {
+  var ht = window.innerHeight || document.documentElement.clientHeight;
+    $(".content,.content .infos").height(ht - 198 + "px");
+  /*$(".anchors").height(ht - 258 + "px");*/
+}
+function adjustWidth() {
+  var wt = window.innerWidth || document.documentElement.clientWidth;
+  $(".titleH2").width(wt- 0.2*wt -33 - 200 - 17 - 40 -15 + 'px')
+    //$("pre").width(wt- 0.2*wt - 200 + 'px')
+}
+$(window).on('resize', function(){
+  adjustHeight()
+  adjustWidth()
+})
+

+ 0 - 0
src/js/tcmiss.js


Daži faili netika attēloti, jo izmaiņu fails ir pārāk liels