luolei 4 gadi atpakaļ
vecāks
revīzija
6cba5915d6
6 mainītis faili ar 655 papildinājumiem un 16 dzēšanām
  1. 45 7
      src/css/cdssHorizontal.less
  2. 429 0
      src/css/cdssPlan.less
  3. 31 0
      src/html/cdssPlan.html
  4. 118 0
      src/js/cdssPlan.js
  5. 18 9
      src/js/followUp.js
  6. 14 0
      webpack.config.js

+ 45 - 7
src/css/cdssHorizontal.less

@@ -340,7 +340,6 @@
 .followUpWrap {
     position: absolute;
     height: 100%;
-    // overflow: hidden;
     padding: 10px;
     box-sizing: border-box;
 }
@@ -350,22 +349,61 @@
     line-height: 27px;
     color: #777777;
     margin-bottom: 10px;
+    padding-left: 10px;
 }
 .operaNameBold {
     color: #333;
     font-weight: bold;
 }
-.infoWrap .infoBox p {
-    color: #1E1E1E;
-    font-weight: bold;
-    margin-bottom: 10px;
+.infoWrap {
+    max-height: 186px;
+    overflow: auto;
+    .infoBox {
+        padding-left: 10px;
+    }
+    .infoBox p {
+        color: #1E1E1E;
+        font-weight: bold;
+        margin-bottom: 10px;
+    }
+} 
+.readMorePlan {
+    height: 30px;
+    line-height: 30px;
+    color: #3B9ED0;
+    cursor: pointer;
+    text-decoration: underline;
+    padding-left: 10px;
 }
 .checkFront {
-    // float: left;
+    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;
-
 }

+ 429 - 0
src/css/cdssPlan.less

@@ -0,0 +1,429 @@
+@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;
+}
+.isOverFlow{
+    overflow: hidden;
+    max-height: 65px;
+}
+.showMoreGeneralTreat{
+    position: absolute;
+    cursor: pointer;
+    color: #3B9ED0;
+    right: 10px;
+    bottom: 5px;
+    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;
+    }
+}

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


+ 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() 
+  })
+});

+ 18 - 9
src/js/followUp.js

@@ -1,10 +1,12 @@
 var $ = require("jquery");
-var { post,config,getUrlArgObject,openNewWin,isIe8 } = require('./promise.js');
+var { post,config,getUrlArgObject,openNewWin,isIe8 ,openNewWin} = require('./promise.js');
 let showImg = require('./../images/show2.png').replace(/^undefined/g, '')
 let collapseImg = require('./../images/collapse2.png').replace(/^undefined/g, '')
 function getFollowUp(msg){
     return post(config.followUp, msg)
 }
+let hospitalId = getUrlArgObject('hospitalId') || ''
+let mrId = getUrlArgObject('mrId') 
 function renderFollowUp(msg,type){
     getFollowUp(msg).then(res =>{
         if(res.data.code === "0"){
@@ -18,11 +20,11 @@ function renderPage(data,type){
     const operaItemName = operaItem.item || {}
     let operaItemDetail = operaItem.pushPlanDetails || []
     renderName(operaItemName) 
-    renderBtn(operaItemDetail)
     if(type){
         operaItemDetail=operaItemDetail.splice(0,1)
         renderDetailHorizontal(operaItemDetail)
     }else{
+        renderBtn(operaItemDetail)
         renderDetail(operaItemDetail)
         checkDom()
     }   
@@ -43,24 +45,30 @@ function renderDetailHorizontal(data){
        let pacsStr=``
        let title = `<p>${getTime(item.examineDate)}${item.description&&(item.description)}</p>`
        for(let i = 0; i < lisArr.length; i++){
-        lisStr += `<div><span class="circle"></span>${lisArr[i]}</div>`
+        lisStr += `<div style="position:relative"><span class="circle"></span>${lisArr[i]}</div>`
        }
        for(let i = 0; i < pacsArr.length; i++){
-        pacsStr += `<div><span class="circle"></span>${pacsArr[i]}</div>`
+        pacsStr += `<div style="position:relative"><span class="circle"></span>${pacsArr[i]}</div>`
        }
        str += `<div class="infoBox">
             ${title}
-           <div class="lisBox">
-            <span class="checkFront lisStrFront">检验</span>
+            <div class="checkFront lisBox">
+            <span class="lisStrFront">检验</span>
             <div>${lisStr}</div>
            </div>
-           <div class="pacsBox">
-            <span class="checkFront pacsStrFront">检查</span>
+           <div class="checkFront pacsBox">
+            <span class="pacsStrFront">检查</span>
             <div>${pacsStr}</div>
            </div>
        </div>`
    }
-   $(".followUpWrap").append(`<div class="infoWrap">${str}</div>`)
+   $(".followUpWrap").append(`<div class="infoWrap">${str}<div class="readMorePlan">查看更多计划</div></div>`)
+    showMoreCheck()
+}
+function showMoreCheck(){
+  $(".readMorePlan").on("click", function(){
+    openNewWin(`cdssPlan.html?mrId=${mrId}&hospitalId=${hospitalId}`)
+  })
 }
 function renderDetail(data){
    let historyStr = ``
@@ -97,6 +105,7 @@ function renderDetail(data){
        }
       
    }
+   console.log($(".followUpWrap")[0])
    $(".followUpWrap").append(`<div class="infoWrap" id="infoWrap">
         <div class="historyWrap">${historyStr}</div>
         <div class="laterWrap">${laterStr}</div>

+ 14 - 0
webpack.config.js

@@ -25,6 +25,7 @@ module.exports = {
     smartAlert: path.resolve(__dirname, 'src/js', 'smartAlert.js'),
     caseWriteStandard: path.resolve(__dirname, 'src/js', 'caseWriteStandard.js'),
     generalTreat:path.resolve(__dirname, 'src/js', 'generalTreat.js'),
+    cdssPlan:path.resolve(__dirname, 'src/js', 'cdssPlan.js'),
     vendor: 'lodash'// 多个页面所需的公共库文件,防止重复打包带入
   },
   output: {
@@ -63,6 +64,19 @@ module.exports = {
         collapseWhitespace: true //删除空白符与换行符
       }
     }),
+    new HtmlWebpackPlugin({
+      title: '随访计划',
+      template: path.resolve(__dirname, 'src/html', 'cdssPlan.html'),
+      filename: 'cdssPlan.html',
+      chunks: ['cdssPlan', 'vendor', 'common'],
+      inject: true,
+      hash: true, //防止缓存
+      minify: {
+        removeAttributeQuotes: true, //压缩 去掉引号
+        removeComments: true, //移除HTML中的注释
+        collapseWhitespace: true //删除空白符与换行符
+      }
+    }),
     new HtmlWebpackPlugin({
       title: '病历书写规范提示',
       template: path.resolve(__dirname, 'src/html', 'caseWriteStandard.html'),