浏览代码

Merge branch 'version1.3.8' of http://192.168.2.236:10080/zhouna/AIPlatform into version1.3.8

zhangxc 4 年之前
父节点
当前提交
1fb00836af

+ 311 - 0
src/css/advice.less

@@ -0,0 +1,311 @@
+@import './reset.less';
+
+.singleVeto{
+    width: 100%;
+    height: 100%;
+    overflow-y: auto;
+    background: @disColor;
+    .filterDropList{
+        position: absolute;
+        right: 0;
+        max-height: 200px;
+        overflow-y: auto;
+        background: #fff;
+        display: none;
+        border: 1px solid #e4e7ed;
+        box-shadow: 0 2px 12px 0 #e4e7ed;
+        z-index: 2;
+        li{
+            padding: 0 10px;
+        }
+    }
+    .deptList{
+        width: 160px;
+        max-height: 400px;
+    }    
+    .deptItem:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+    .selectLevel,.selectDept{
+        display: inline-block;
+        position: relative;
+        width:160px;
+        padding: 0 10px;
+        height:40px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        box-sizing: border-box;
+        cursor: pointer;
+    }
+    .filterItem.deptListWrap {
+        .selectDept,.deptList {
+            width: 180px;
+        }
+    }
+    .filterItem{
+        position: relative;
+        display: inline-block;
+        float: left;
+        height: 40px;
+        line-height: 40px;
+        margin: 0 20px 15px 0;
+        span{
+            display: inline-block;
+            line-height: 40px;
+            position: relative;
+        }
+        input{
+            width:120px;
+            height:34px;
+            border-radius:4px;
+            border: 1px solid #E2E5EF;
+            outline: none;
+            margin-right: 10px;
+            padding: 0 10px;
+            box-sizing: border-box;
+        }
+    }
+    .rejectList {
+        height: 80px !important;
+    }
+    .selectUsed,.selectReject {
+        float: right;
+    }
+    ul,li{
+        padding:0;
+        margin:0;
+        list-style:none;
+    }
+    h2{
+        width: 100%;
+        box-sizing: border-box;
+        background-color: #fff;
+        z-index: 20;
+        height: 44px;
+        line-height: 44px;
+        padding: 0 0 0 15px;
+        border-bottom: 1px solid #E2E5EF;
+        font-size: 16px;
+        font-weight: bold;
+        letter-spacing: 1px;
+    }
+    .main-body{
+        .main-body-com;
+        border: 0;
+        border-top: 1px solid #E2E5EF;
+    }
+    table{
+        .table;
+        .moduleNumber{
+            text-align: center;
+        }
+        
+    }
+    // .filterBox{
+    //     margin: 0 0 20px 0;
+    // }
+    .filterItem{
+        position: relative;
+        display: inline-block;
+        margin-right: 20px;
+        height: 40px;
+        line-height: 40px;
+        margin: 0 20px 20px 0;
+    }
+    .filterDropList{
+        position: absolute;
+        right: 0;
+        max-height: 200px;
+        overflow-y: auto;
+        background: #fff;
+        display: none;
+        border: 1px solid #e4e7ed;
+        box-shadow: 0 2px 12px 0 #e4e7ed;
+        z-index: 2;
+        li{
+            padding: 0 10px;
+        }
+    }
+    .rejectList, .usedList{
+        height: 120px;
+        li{
+            padding: 0 10px;
+        }
+        li:hover{
+            background-color: #EEF4FF;
+            cursor: pointer;
+        }
+    }
+    .switchImg{
+        width: 30px;
+    }
+    .roleSelect {
+        position: relative;
+        top: 3px;
+        cursor: pointer;
+    }
+    .selectModuleType,.moduleItemInp,.selectUsed, .selectReject{
+        display: inline-block;
+        position: relative;
+        width:140px;
+        padding: 0 10px;
+        height:34px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        box-sizing: border-box;
+        cursor: pointer;
+        padding-right: 26px;
+    }
+    .arrow{
+        position: absolute;
+        width: 10px;
+        top: 16px;
+        right: 10px;
+    }
+    .moduleItemInp{
+        cursor: text;
+        outline: none;
+    }
+    .moduleItemInps{
+        width: 150px !important;
+    }
+    .moduleTypeList{
+         width: 160px;
+    }
+    .selectUsed, .selectReject{
+        width: 140px;
+    }
+    .modeTypeItem:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+    .rejectList, .usedList {
+        width: 140px;
+    }
+    .filter{
+        display: inline-block;
+        width:60px;
+        height:36px;
+        background:@activeColor;
+        border-radius:4px;
+        color: #fff;
+        text-align: center;
+        line-height: 36px;
+        position: relative;
+        top: -1px;
+        cursor: pointer;
+    }
+    .export{
+        display: none;
+        width:60px;
+        height:34px;
+        line-height: 34px;
+        background: #fff;
+        border-radius: 4px;
+        color: #777;
+        text-align: center;
+        border: 1px solid #777;
+        box-sizing: border-box;
+        cursor: pointer;
+        margin-left: 10px;
+        margin-bottom: 10px;
+        float: left;
+        top: 0px;
+    }
+    .editItem{
+       color: @activeColor;
+       cursor: pointer;
+    }
+    .editItemDis{
+        color: #aaa;
+        cursor: not-allowed;
+    }
+    
+    .ellipsis{
+        overflow: hidden;
+        text-overflow:ellipsis;
+        white-space: nowrap;
+    }
+    .textCenter{
+        text-align: center;
+    }
+    
+    
+    .pagination{
+        margin: 35px 0 20px 0  ;
+        text-align: right;
+    }
+    .totalSum{
+        font-size:12px;
+        line-height:17px;
+        color: #777777;
+        margin-right: 20px;
+    }
+    .pageNum,.prePage,.nextPage, .more{
+        display: inline-block;
+        width: 20px;
+        cursor: pointer;
+        margin: 0 20px 0 0;
+        text-align: center;
+        color: #777;
+    }
+    .prePage,.nextPage{
+        img{
+            position: relative;
+            top: 0px   ;
+        }
+    }
+     .more{
+        cursor: not-allowed;
+    }
+    .arrowPage{
+        width: 6px;
+    }
+    .activePage{
+        color: @activeColor;
+    }
+    
+    input::-webkit-outer-spin-button,
+    input::-webkit-inner-spin-button {
+        -webkit-appearance: none;
+    }
+     
+    input[type="number"] {
+        -moz-appearance: textfield;
+    }
+}
+.singleVeto{
+    .rejectList{
+        height: 101px !important;
+    }
+    .partTitle {
+        text-align: center;
+        font-weight: bold;
+        font-size: 16px;
+    }
+}
+.goDetail{
+    cursor: pointer;
+    color: @activeColor;
+}
+
+.usrContain .selectReject,.usrContain .selectModuleType ,.managerContainer .selectModuleType  {
+    float: right;
+}
+.usrContain .rejectList,.usrContain .usedList{
+    height: 200px;
+}
+.usrContain .selectModuleType, .usrContain .moduleItemInp, .usrContain .selectUsed, .usrContain .selectReject {
+    width: 170px;
+}
+.managerContainer .moduleTypeList {
+    width: 140px;
+}
+.managerContainer.usrContain .moduleTypeList {
+    width: 170px;
+    height: 400px;
+}
+.managerContainer.usrContain .selectReject {
+    width: 140px;
+}

+ 2 - 2
src/css/console.less

@@ -403,14 +403,14 @@ div.console {
       }
       &.li04.li04again {
         border-left: 1px solid @darkLightBorderColor;
-        cursor: default;
+        // cursor: default;
       }
       &:hover {
         .numShow {
           color: @activeColor;
         }
         .againNum {
-          color: @fstColor;
+          // color: @fstColor;
         }
       }
     }

+ 8 - 0
src/css/qcScore.less

@@ -874,6 +874,9 @@
   width:184px;
   height:112px;
 }
+.page-anchor-hover:hover {
+  color: #00A1FF;
+}
 .checkImg{
   width: 40px;
   position: relative;
@@ -926,4 +929,9 @@
     border-radius:0px 4px 4px 0px;
     border-left: 0;
   }
+}
+
+#contentIframeIn { //医嘱信息
+  width: 100%;
+  height: 100%;
 }

+ 382 - 0
src/css/readmission.less

@@ -0,0 +1,382 @@
+@import "./reset.less";
+.container{
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+    background: #fff;
+    border-bottom: 10px @disColor solid;
+    box-sizing: border-box;
+}
+ul,li{
+    list-style: none;
+}
+h2{
+    .h2;
+    border-bottom: 10px @disColor solid;
+    position: fixed;
+    top: 0;
+}
+.partTitle{
+    border-bottom: 10px @disColor solid;
+    height: 54px;
+}
+.main-body{
+    .main-body-com;
+    border: none;
+    // border:10px @disColor solid;
+    border-left:10px @disColor solid;
+    margin: 44px 0 0;
+    min-width: 1090px;
+    min-height: calc(100% - 84px);
+    // overflow: auto;
+    height:  calc(100% - 44px);
+    .selectDefect{
+        min-width: 120px;
+        width: auto;
+        display: inline-block;
+        position: relative;
+        padding: 0 10px;
+        height:32px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        box-sizing: border-box;
+        cursor: default;
+    }
+}
+.qctable{
+    .table;
+    min-width: 1090px;
+    th,td{
+        padding:5px 10px;
+    }
+    th{
+        white-space: nowrap;
+    }
+    th[code]{
+        cursor: pointer;
+        &:after{
+            content:"";
+            display:inline-block;
+            width: 11px;
+            height: 14px;
+            margin-left: 4px;
+            vertical-align: middle;
+            background-size: 100%;
+            background-image: url("../images/grey.png");
+        }
+        &.asc:after{
+            background: url("../images/up_blue.png");
+            background-size: 100%;
+        }
+        &.desc:after{
+            background: url("../images/down_blue.png");
+            background-size: 100%;
+        }
+    }
+    td{
+        white-space: nowrap;
+    }
+    .moduleNumber{
+        text-align: center;
+    }
+    .scoreOperaItem{
+        width: 50px;
+        cursor: pointer;
+    }
+    .tabTitle   {
+        background: #EFF0F9 !important;
+      }
+    
+}
+.tabFoot{
+    height: 40px;
+    background: none;
+    /*border: 1px solid #E2E5EF;
+    border-top: none;
+    box-sizing: border-box;*/
+}
+.scoreOpera{
+    height: 50px;
+    line-height: 50px;
+    margin: 0 20px 0 0;
+    cursor: pointer;
+    img{
+        margin: 0 10px 0 0;
+        vertical-align: middle;
+    }
+}
+
+.recordScoreOperaBtn{
+    cursor: pointer;
+    color: @activeColor;
+}
+.recordScoreBtn{
+    cursor: pointer;
+    display: inline-block;
+    width:68px;
+    height:30px;
+    line-height: 30px;
+    text-align: center;
+    border-radius:4px;
+    box-sizing: border-box;
+    border: 1px solid @activeColor;
+    color: #fff;
+    background: @activeColor;
+}
+.filterBox{
+    position: relative;
+}
+.overAuto{
+    display: table;
+    padding-right: 20px;
+    width: 100%;
+}
+.toggle-item{
+    display: block;
+}
+.filter-toggler{
+    position: absolute;
+    left: 1048px;
+    top: 8px;
+    color: #777;
+    white-space: nowrap;
+    font-size: 14px;
+    background: url("../images/arrow_down.png") 60px center no-repeat;
+    padding-right: 15px;
+    background-size: 10px 6px;
+    &.up{
+        background: url("../images/arrow_up.png") 60px center no-repeat;
+        background-size: 10px 6px;
+    }
+}
+.filterItem{
+    position: relative;
+    display: inline-block;
+    float: left;
+    height: 40px;
+    line-height: 40px;
+    margin: 0 20px 20px 0;
+    span{
+        display: inline-block;
+        line-height: 32px;
+        position: relative;
+    }
+    input{
+        width:120px;
+        height:32px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        outline: none;
+        margin-right: 10px;
+        padding: 0 10px;
+        box-sizing: border-box;
+    }
+    input:focus{
+        border: 1px solid @activeColor ;
+        outline: 0;
+        -webkit-box-shadow:@activeColor  0px 0px 2px;
+        -moz-box-shadow: @activeColor  0px 0px 2px;
+        box-shadow: @activeColor  0px 0px 2px;
+    }
+}
+
+.filterDropList{
+    position: absolute;
+    right: 0;
+    max-height: 200px;
+    overflow-y: auto;
+    background: #fff;
+    display: none;
+    border: 1px solid #e4e7ed;
+    box-shadow: 0 2px 12px 0 #e4e7ed;
+    z-index: 2;
+    li{
+        padding: 0 10px;
+    }
+}
+.deptList{
+    width: 160px;
+    max-height: 400px;
+}
+.levelList,.checkList{
+    width: 120px;
+    // height: 200px;
+    li:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+}
+.selectLevel,.selectDept,.selectCheck{
+    display: inline-block;
+    position: relative;
+    width:120px;
+    padding: 0 10px;
+    height:32px;
+    border-radius:4px;
+    border: 1px solid #E2E5EF;
+    box-sizing: border-box;
+    cursor: pointer;
+}
+.selectDept{
+    width: 160px;
+}
+
+.filter,.reset,.export{
+    display: inline-block;
+    width:60px;
+    height:32px;
+    background:@activeColor;
+    border-radius:4px;
+    color: #fff;
+    text-align: center;
+    line-height: 32px;
+    position: relative;
+    top: 2px;
+    cursor: pointer;
+    float: left;
+    margin: 0 0px 22px 0;
+}
+.export{
+    height:34px;
+    background: #fff;
+    border-radius: 4px;
+    color: #777;
+    border: 1px solid #777;
+    box-sizing: border-box;
+    cursor: pointer;
+    margin-left: 10px;
+    float: left;
+    top: 0px;
+}
+.arrow{
+    position: absolute;
+    width: 10px;
+    top: 12px;
+    right: 10px;
+}
+.iconCheck{
+    width: 14px;
+}
+.fl{
+    float: left;
+}
+.clearfix:after {
+    content: '';
+    height: 0;
+    line-height: 0;
+    display: block;
+    visibility: hidden;
+    clear: both;
+}
+.clearfix{
+    zoom:1
+}
+.divide{
+    margin: 0 10px;
+}
+.datapickerBox{
+    position: relative;
+    display: inline-block;
+    width: 120px;
+    height: 32px;
+    input{
+        position: absolute;
+    }
+}
+.setCol{
+    color: #777;
+    cursor: pointer;
+    display: inline-block;
+    margin: 10px 0 0  0px;
+}
+.iconSetting{
+    width: 18px;
+    position: relative;
+    top: 3px;
+    margin: 0 3px 0 0;
+}
+.iconCalen{
+    position: absolute;
+    width: 15px;
+    top: 10px;
+    right: 10px;
+}
+.textCenter{
+    text-align: center;
+}
+.patientNameSpan{
+    color: @activeColor;
+    cursor: pointer;
+}
+
+.deptItem:hover{
+    background-color: #EEF4FF;
+    cursor: pointer;
+}
+.ellipsis{
+    overflow: hidden;
+    text-overflow:ellipsis;
+    white-space: nowrap;
+}
+.unSelect{
+    color: #cfccd6
+ }
+
+
+.pagination{
+    margin: 35px 0 20px 0  ;
+    text-align: right;
+}
+.totalSum{
+    font-size:12px;
+    line-height:17px;
+    color: #777777;
+    margin-right: 20px;
+}
+.pageNum,.prePage,.nextPage, .more{
+    display: inline-block;
+    width: 20px;
+    cursor: pointer;
+    margin: 0 20px 0 0;
+    text-align: center;
+    color: #777;
+}
+.prePage,.nextPage{
+    img{
+        position: relative;
+        top: 0px   ;
+    }
+}
+ .more{
+    cursor: not-allowed;
+}
+.arrowPage{
+    width: 6px;
+}
+.activePage{
+    color: @activeColor;
+}
+
+.tbody{
+    tr:nth-child(4n+1){
+        background-color:  #ffffff !important;
+    }
+    tr:nth-child(4n+2){
+        background-color:  #ffffff !important;
+    }
+    tr:nth-child(4n+3){
+        background-color:  #EFF1F6 !important;
+    }
+    tr:nth-child(4n+4){
+        background-color:  #EFF1F6 !important;
+    }
+}
+.patientNameSpan{
+    color: @activeColor;
+    cursor: pointer;
+}
+
+
+
+
+

+ 70 - 0
src/html/advice.html

@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title></title>
+    
+</head>
+
+<body>
+    <div class="managerContainer singleVeto adviceWrp">
+        <div class="partTitle">
+            医嘱信息
+        </div>
+        <div class="partTitleT"></div>
+        <div class="main-body">
+            <div class="filterBox">
+                <span class="filterItem">
+                    <span>医嘱类型:</span>
+                    <span class="">
+                        <input class="moduleItemInp" type="text" placeholder="请输入医嘱类型">
+                    </span>
+                </span>
+                <span class="filterItem">
+                    <span>医嘱项目名称:</span>
+                    <span class="">
+                        <input class="moduleItemInps" type="text" placeholder="请输入医嘱项目名称">
+                    </span>
+                </span>
+                
+                <span class="filterItem typeFilter clearfix dataSelectLight">
+                    <span class="fl">医嘱开始时间:</span>
+                    <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly/></span>
+                    <span  class="divide fl">-</span>
+                    <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/></span>
+                </span>
+                <span class="filter">查询</span>
+                <span class="filterclear abnormalClear">重置</span>
+                <span class="export">导出</span>
+            </div>
+            <table>
+                <thead>
+                    <th class="moduleName" style="width: 65px;">序号</th>
+                    <th class="moduleItemName">医嘱类型</th>
+                    <th class="moduleItemName">医嘱项目名称</th>
+                    <th class="moduleItemName">医嘱开始时间</th>
+                    <th class="moduleItemName">医嘱结束时间</th>
+                    <th class="moduleItemName">医嘱处方类型</th>
+                    <th class="moduleItemName">药品类型</th>
+                    <th class="moduleItemName">开单医生姓名</th>
+                    <!-- <th class="moduleItemName" code="doctor_advice_type">医嘱类型</th>
+                    <th class="moduleItemName" code="da_item_name">医嘱项目名称</th>
+                    <th class="moduleItemName" code="da_start_date">医嘱开始时间</th>
+                    <th class="moduleItemName" code="da_stop_date">医嘱结束时间</th>
+                    <th class="moduleItemName" code="da_prescription_type">医嘱处方类型</th>
+                    <th class="moduleItemName" code="medicine_type">药品类型</th>
+                    <th class="moduleItemName" code="doctor_name">开单医生姓名</th> -->
+                </thead>
+                <tbody class="tbody">
+
+                </tbody>
+            </table>
+            <div class="pagination"></div>
+        </div>
+    </div>
+</body>
+
+</html>

+ 4 - 0
src/html/console.html

@@ -57,6 +57,10 @@
                           <p class="numShow againNum"></p>
                           <p class="explainNum">31日再入院病人数</p>
                         </li>
+                        <!-- <li class="li05 li04again" data-type="5">
+                          <p class="numShow againNum"></p>
+                          <p class="explainNum">31日再入院病人数</p>
+                        </li> -->
                       </ul>
                     </div>
                     <div class="chuyuanEmpty"></div>

+ 5 - 2
src/html/qcScore.html

@@ -267,7 +267,7 @@
                 {{each val}}
                 <tr code="${i}" {{if isReject==="1"}} class="high-light" {{/if}}>
                     <td style="text-indent: 14px;">${modelName}</td>
-                    <td><a href="javascript:void(0);" class="page-anchor" code="${id}">${standardMsg}</a></td>
+                    <td><a href="javascript:void(0);" class="page-anchor page-anchor-hover" code="${id}">${msg}</a></td>
                     <td class="red">${score}</td>
                 </tr>
                 {{/each}}
@@ -319,7 +319,9 @@
         <div class="tab-container clearfix">
             <div class="patient-info" id="patientInfo"></div>
             <p id="loading">加载中,请稍候 ...</p>
-            <div class="flaw-table"></div>
+            <div class="flaw-table">
+                <iframe src="./advice.html" frameborder="0" id="contentIframeIn" name="contentIframeIn" style="display: none;"></iframe>
+            </div>
             <div class="content-box fl" id="contentInfo"></div>
             <div class="operation fr" id="flaws">
                 <div class="flaw-title">
@@ -335,6 +337,7 @@
             </div>
         </div>
     </div>
+    <div id="mainBox"></div>
     <div class="modal" id="delModal">
         <div class="cover"></div>
         <div class="modal-box">

+ 148 - 0
src/html/readmission.html

@@ -0,0 +1,148 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>病历质控评分</title>
+    
+</head>
+
+<body>
+    <div class="container qcListCopy">
+        <!-- <h2>质控评分</h2>控制台 / 条目缺陷占比 / 缺陷详情 -->
+        <div class="partTitle">
+            <p class="titlePic"></p>
+        </div>
+        <!-- <div class="partTitle">
+            <p>未整改病历统计</p>
+            <div class="dateDetail fr">
+    
+            </div>
+        </div> -->
+        <div class="main-body">
+            <div class="filterBox">
+                <div class="clearfix">
+                    <!-- <span class="filterItem typeFilter">
+                        <span>科室名称:</span>
+                        <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入科室名称">
+                    </span> -->
+                    <span class="filterItem typeFilter clearfix" >
+                        <span class="fl">出院日期:</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly /></span>
+                        <span  class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/></span>
+                    </span>
+                    <!-- <span class="filterItem">
+                        <span>病历等级:</span>
+                        <span class="selectLevel">全部</span>
+                        <ul class="levelList filterDropList">
+                            <Li class="levelItem" data-name="全部" data-id="全部">全部</Li>
+                            <Li class="levelItem" data-name="未评分" data-id="未评分">未评分</Li>
+                            <Li class="levelItem" data-name="甲" data-id="甲">甲</Li>
+                            <li class="levelItem" data-name="乙" data-id=乙>乙</li>
+                            <li class="levelItem" data-name="丙" data-id=丙>丙</li>
+                        </ul>
+                    </span> -->
+                    <span class="filterItem typeFilter">
+                      <span>病人姓名:</span>
+                      <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+                  </span>
+                  <span class="filterItem typeFilter">
+                      <span>病案号:</span>
+                      <input class="patientRecordInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                  </span>
+                    <span class="filter">查询</span>
+                    <span class="filterclear abnormalClear filterclearT">重置</span>
+                    <span class="export">导出</span>
+                </div>
+                <!-- <a href="javascript:void(0);" class="filter-toggler up" id="filterToggler">收起筛选</a>
+                <div class="toggle-item clearfix">
+                    <span class="filterItem typeFilter">
+                        <span>病人姓名:</span>
+                        <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+                    </span>
+                    <span class="filterItem typeFilter">
+                        <span>病人住院序号:</span>
+                        <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>医生姓名:</span>
+                        <input class="doctorInp" type="text" placeholder="请输入医生姓名">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>医生工号:</span>
+                        <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>缺陷名称:</span>
+                        <span class="selectDefect"> 
+                        
+                        </span>
+                    </span>
+                    <span class="filterItem">
+                        <span>核查状态:</span>
+                        <span class="selectCheck">全部</span>
+                        <ul class="checkList filterDropList">
+                            <Li class="checkItem" data-name="全部" data-id="全部">全部</Li>
+                            <Li class="checkItem" data-name="未核查" data-id="0">未核查</Li>
+                            <Li class="checkItem" data-name="已核查" data-id="1">已核查</Li>
+                        </ul>
+                    </span>
+                </div> -->
+            </div>
+            <div class="overAuto">
+                <table class="qctable">
+                    <thead>
+                    <!-- <tr class="tabOpera"> -->
+                        <!-- <td colspan="18" style="background: #fff">
+                            <div class="tabFoot">
+                                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                <span class="recordScoreBtn">评分</span>
+                            </div>
+                        </td> -->
+                    <!-- </tr> -->
+                    <tr class="tabTitle">
+                      <th class="moduleName" style="width: 65px;">序号</th>
+                      <th class="beHospitalId textCenter">病人住院序号</th>
+                      <th class="beHospitalId textCenter">病案号</th>
+                      <th class="beHospitalId textCenter">病人姓名</th>
+                      <th class="beHospitalId textCenter">性别</th>
+                      <th class="beHospitalId textCenter">病例等级</th>
+                      <th class="beHospitalId textCenter">病例得分</th>
+                      <th class="beHospitalId textCenter">科室</th>
+                      <th class="beHospitalId textCenter">主诊断</th>
+                      <th class="beHospitalId textCenter">出院日期</th>
+                      <th class="beHospitalId textCenter">入院日期</th>
+                      <th class="beHospitalId textCenter">间隔天数</th>
+                    </tr>
+                    </thead>
+                    <tbody class="tbody">
+
+                    </tbody>
+                    <tfoot>
+                        <!-- <tr>
+                            <td colspan="17">
+                                <div class="tabFoot">
+                                    <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                    <span class="recordScoreBtn">评分</span>
+                                </div>
+                            </td>
+                        </tr> -->
+                    </tfoot>
+                </table>
+            </div>
+
+            <!--<div class="tabFoot">
+                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="" alt="checkbox">全选</span>
+                <span class="recordScoreBtn">评分</span>
+            </div>-->
+
+            <div class="pagination"></div>
+        </div>
+
+    </div>
+</body>
+
+</html>

+ 625 - 0
src/js/advice.js

@@ -0,0 +1,625 @@
+const $ = require('jquery');
+require("../css/advice.less");
+require('./../resource/jquery-ui/jquery-ui.min.js');
+require('./modal.js');
+const {api} = require('./api.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,focusMenuItem,setDatePicker,getPickerDate,downloadExportedData,expJson, initScroll} = require('./utils.js')
+const switchIconOpen = require("./../images/btn_open.png")
+const switchIconClose = require("./../images/btn_close.png")
+const iconDown= require("./../images/arrow_down.png")
+const iconUp = require("./../images/arrow_up.png")
+const arrowLeft= require("./../images/arrow_left.png")
+const arrowRight = require("./../images/arrow_right.png")
+
+const currentPage=$(window.parent.document).find(".menu .page.active").attr("code");
+if(currentPage==="YH-ZKK-TMQXZB_XQ"){
+  $(".export").css("display","inline-block");
+}
+
+let casesId="", name="", names="", isReject ="",deptName="",startDateParam="",data_asc=[],data_desc=[],endDateParam="", isUsed ="",casesIdTemp="", nameTemp="", nameTemps="", isRejectTemp ="",model='', isUsedTemp ="",from="",deptIdTemp="",deptItemId="",deptId="",isSingleReject="", isSingleRejectTemp="",casesName="",casesNameTemp="",paramObj={}
+$(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectUsed").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+let deptList = JSON.parse(getCookie("deptList"))||[]
+$(function(){
+    dateChange()
+    let srcUrl = window.parent.location.href
+    perId = getUrlArgObjectNew("id",srcUrl)||""
+    isRejectTemp = isReject = getUrlArgObjectNew("shijian",srcUrl)||""
+    selectReject = getUrlArgObjectNew("selectReject",srcUrl)||""
+    from = getUrlArgObjectNew("from",srcUrl)||""
+    special = getUrlArgObjectNew("special",srcUrl)||""
+    name=nameTemp = getUrlArgObjectNew("qxName",srcUrl)||""
+    casesName =casesNameTemp = getUrlArgObjectNew("model",srcUrl)||""
+    startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
+    endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
+    let fromThree = getUrlArgObjectNew("fromThree",srcUrl)||""
+    if(name){
+        $(".moduleItemInp").attr("title",name).val(name)
+        selectReject=1
+    }
+    if(casesName){
+        $(".selectModuleType").html(casesName).attr("title",casesName).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    }
+    if(selectReject){
+        isSingleReject = isSingleRejectTemp = '1'
+        $(".selectReject").html("是").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    }
+    if(special){
+        $(".singleVeto .partTitle .pices span").html("条目缺陷占比")
+    }
+    $(".partTitle a").click(function(){
+        //初始菜单选中
+        $(".managerContainer").remove()
+        if(from == 2){
+            focusMenuItem('YH-KZTKS')
+        }else{
+            focusMenuItem('YH-KZT')
+        }
+        $(".container",parent.document).addClass("console-cont");
+    })
+    $(".abnormalClear").click(function(){
+        // window.location.reload()
+        setDatePicker($("#datepicker"),$("#datepicker2"),"default")
+        $(".selectModuleType").html("全部")
+        $(".selectReject").html("全部")
+        $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        name = ""
+        names = ""
+        casesName=casesNameTemp=""
+        casesId=casesIdTemp=""
+        isSingleReject=isSingleRejectTemp=""
+        $(".moduleItemInp").val("")
+        $(".moduleItemInps").val("")
+        getTabData(1)
+    })
+    
+    if(isReject == 1){
+        $(".monthYear .mon").css({
+            backgroundColor:'#00A1FF',
+            color:'#fff'
+        }).siblings().css({
+            color:'#00A1FF',
+            backgroundColor:'#fff'
+        })
+        setDatePicker($("#datepicker"),$("#datepicker2"),1)
+    }else if(isReject == 2){
+        $(".monthYear .year").css({
+            backgroundColor:'#00A1FF',
+            color:'#fff'
+        }).siblings().css({
+            color:'#00A1FF',
+            backgroundColor:'#fff'
+        })
+        setDatePicker($("#datepicker"),$("#datepicker2"),2)
+    }else if(isReject == 3){
+        setDatePicker($("#datepicker"),$("#datepicker2"),3,new Date(startDateParam),new Date(endDateParam))
+    }else{
+        setDatePicker($("#datepicker"),$("#datepicker2"),"default")
+    }
+    if(!isReject){
+        setDatePicker($("#datepicker"),$("#datepicker2"),"default")
+      }
+    getTabData(1)//条目缺陷
+})
+bindDeptSelect()
+//科室选择
+function bindDeptSelect(){
+    $(document).on("click",'.deptItem',function(){
+        const deptItemName = $(this).attr("data-name")
+        const deptItemId = $(this).attr("data-id")
+        deptIdTemp =deptItemId
+        if(deptItemName.length > 10){
+            $('.selectDept').html(deptItemName.substring(0,8)+'...')
+        }else{
+            $('.selectDept').html(deptItemName)
+        }
+        $('.selectDept ').attr('title',deptItemName)
+        $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $(".deptList").css("display", "none")
+    })
+}
+//全选绑定
+
+$('.selectDept').on("click", function(e){
+    e.stopPropagation()
+    $(".levelList ").css("display","none")
+    $(".selectLevel .arrow").attr("src",iconDown)
+    const showList =  $(".deptList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".deptList ").css("display","block")
+        $(".selectDept .arrow").attr("src",iconUp)
+    }else{
+        $(".deptList ").css("display", "none")
+        $(".selectDept .arrow").attr("src",iconDown)
+    }
+})
+
+//科室处理
+// getDeptList()
+function getDeptList(){
+    let str = ``
+    if(deptList.length<=0)return
+    // $(".tiaomu .selectDept ").attr("data-id",deptList[0].deptName).find("i").html(deptList[0].deptName)
+    for(let i = 0;i < deptList.length;i++){
+        let tmp = deptList[i]
+        str += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptName}" data-name="${tmp.deptName}">${tmp.deptName}</li>`
+    }
+    $(".singleVeto .filterDropList").html(str)
+}
+function getTabData(activePage){
+    const dateStatrt = getPickerDate($("#datepicker"),1)
+    const dateEnd = getPickerDate($("#datepicker2"),2)
+    const start = new Date(dateStatrt).getTime()
+    const end = new Date(dateEnd).getTime()
+    console.log(dateStatrt,start)
+    if(start > end){
+        $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+        return
+    }
+    startDateParam=dateStatrt
+    endDateParam=dateEnd                                                                                                                                                                                                                                                                                                                                  
+    const param = {
+        current:activePage,
+        doctorAdviceType: name,//医嘱类型(模糊搜索)
+        daItemName:names, //医嘱项目名称(模糊搜索)
+        behospitalCode:perId,
+        size: 15,
+        "daStartDateStart":dateStatrt.replace(/\//g,'-'),
+        "daStartDateEnd":dateEnd.replace(/\//g,'-'),
+        "descs":['da_start_date'],     
+    }
+    post(api.getPage,param).then(res =>{
+        if(res.data.code == '0'){
+            const data = res.data.data.records
+            const totalPage = res.data.data.pages
+            const totalNum = res.data.data.total
+            renderTab(data,activePage)
+            if(totalPage > 1){
+                renderPagination(totalPage,Number(activePage),totalNum)
+            } else{
+                $('.pagination').html("")
+            }
+        }else{}
+    }).catch((e) =>{
+    
+    })
+}
+//所有数据切换日期筛选
+function dateChange(){
+    $(".monthYear .mon").click(function(){
+        $(this).css({
+            backgroundColor:'#00A1FF',
+            color:'#fff'
+        }).siblings().css({
+            color:'#00A1FF',
+            backgroundColor:'#fff'
+        })
+        isRejectTemp = isReject = 1
+        setDatePicker($("#datepicker"),$("#datepicker2"),1)
+        getTabData(1)
+    })
+    $(".monthYear .year").click(function(){
+        $(this).css({
+            backgroundColor:'#00A1FF',
+            color:'#fff'
+        }).siblings().css({
+            color:'#00A1FF',
+            backgroundColor:'#fff'
+        })
+        isRejectTemp =  isReject = 2
+        setDatePicker($("#datepicker"),$("#datepicker2"),2)
+        getTabData(1)
+    })
+}
+//判断有无某一权限
+function hasData(data){
+    let lis = JSON.parse(getCookie("codeLis"))||[]
+    if(lis.indexOf(data)>-1){//有权限
+        return true
+    }
+    return false;
+}
+
+$(".moduleItemInp").on("input", function(e){
+    const val = $(this).val().trim()
+    nameTemp = val
+})
+$(".moduleItemInps").on("input", function(e){
+    const val = $(this).val().trim()
+    nameTemps = val
+})
+$(".filter").on("click", function(e){
+    casesId = casesIdTemp, name = nameTemp, names = nameTemps, isReject = isRejectTemp, isUsed = isUsedTemp,deptId = deptIdTemp,isSingleReject = isSingleRejectTemp,casesName = casesNameTemp 
+    getTabData(1)
+})
+$(".filterclear").on("click", function(e){
+    nameTemp = ""
+    nameTemps = ""
+    $(".moduleItemInp").val("")
+    $(".moduleItemInps").val("")
+})
+$('.selectModuleType').on("click", function(e){
+    e.stopPropagation()
+    $(".rejectList ").css("display","none")
+    $(".usedList ").css("display", "none")
+    $(".selectReject .arrow").attr("src",iconDown)
+    $(".selectUsed .arrow").attr("src",iconDown)
+    const showList =  $(".moduleTypeList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".moduleTypeList ").css("display","block")
+        $(".selectModuleType .arrow").attr("src",iconUp)
+    }else{
+        $(".moduleTypeList ").css("display", "none")
+        $(".selectModuleType .arrow").attr("src",iconDown)
+    }
+})
+$('.selectReject').on("click", function(e){
+    e.stopPropagation()
+    $(".moduleTypeList ").css("display", "none")
+    $(".usedList ").css("display", "none")
+    $(".selectModuleType .arrow").attr("src",iconDown)
+    $(".selectUsed .arrow").attr("src",iconDown)
+    const showList =  $(".rejectList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".rejectList ").css("display","block")
+        $(".selectUsed .arrow").attr("src",iconUp)
+    }else{
+        $(".rejectList ").css("display", "none")
+        $(".selectUsed .arrow").attr("src",iconDown)
+    }
+})
+$('.selectUsed').on("click", function(e){
+    e.stopPropagation()
+    $(".moduleTypeList ").css("display", "none")
+    $(".rejectList ").css("display","none")
+    $(".selectModuleType .arrow").attr("src",iconDown)
+    $(".selectReject .arrow").attr("src",iconDown)
+    const showList =  $(".usedList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".usedList ").css("display","block")
+        $(".selectUsed .arrow").attr("src",iconUp)
+    }else{
+        $(".usedList ").css("display", "none")
+        $(".selectUsed .arrow").attr("src",iconDown)
+    }
+})
+// bindRejectSelect()
+// bindUsedSelect()
+// getTabData(1)
+// getmoduleTypeList()
+function renderTab(data,activePage){
+    let str = ``;
+    const cls = hasData("FUNC000007")?"editItem":"editItemDis";
+    for(let i = 0; i < data.length; i++){
+        const item = data[i]
+        str += `
+            <tr data-id=${item.id} data-index=${i}>
+                <td  class="textCenter">${(activePage-1)*15 + i+1}</td>
+                <td class="textCenter">${item.doctorAdviceType||'-'}</td>
+                <td class="textCenter">${item.daItemName||'-'}</td>
+                <td class="textCenter">${item.daStartDate||'-'}</td>
+                <td class="textCenter">${item.daStopDate||'-'}</td>
+                <td class="textCenter">${item.daPrescriptionType||'-'}</td>
+                <td class="textCenter">${item.medicineType == 0?'普药':(item.medicineType == 1?'抗生素':item.medicineType == 2?'激素':'-')||'-'}</td>
+                <td class="textCenter">${item.doctorName||'-'}</td>
+            </tr>
+        `
+    }
+    $('.tbody').html(str?str:emptyBox())
+    bindEdit(data,activePage)
+    goDetail(data)
+    // initScroll("singleVeto","Y",1)
+}
+$("th[code]").on("click",function(e){
+    const code=$(this).attr("code");
+    if(data_asc==code){
+        data_desc=[code];
+        data_asc=[];
+        $("th[code]").removeClass("asc desc");
+        $(this).addClass("desc");
+    }else{
+        data_desc=[];
+        data_asc=[code];
+        $("th[code]").removeClass("asc desc");
+        $(this).addClass("asc");
+    }
+    getTabData(1);
+});
+function goDetail(data){
+    $(".goDetail").click(function(){
+        const index = $(this).parent().attr("data-index")
+        let defectName = $(this).attr("data-name")
+        const item = data[index]
+        // focusMenuItem("YH-ZKK-GKSQXZB_XQ");
+        $(parent.document).find("#contentIframe").attr("src",`./qcListCopy.html?defectName=${defectName}&startDate=${startDateParam}&endDate=${endDateParam}&from=${from}&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`)
+    })
+}
+
+function bindEdit(data,activePage){
+    if(!hasData('FUNC000007')){
+        return
+    }
+    $('.editItem').click(function(e){
+        const index = $(this).parent().attr('data-index') 
+        editItem(data[index],activePage)
+    })
+}
+
+//修改
+function editItem(item,activePage){
+    const itemCpoy = JSON.parse(JSON.stringify(item))
+    $('.pop-box').remove()
+    $('.container').append('<div class="pop-box"></div>')
+    const str = `
+        <div class="itemMsgBox">
+            <div class="mask"></div>
+            <div class="itemMsgContent">
+                <p class="itemMsgTitle">修改 <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></p>
+                <div class="itemMsgContentBox">
+                    <div class="itemMsgInfoBox"><span class="itemMsgLab">模块名称:</span> <span class="itemInfoRight">${itemCpoy.casesName}</span></div>
+                    <div class="itemMsgInfoBox"><span class="itemMsgLab">条目名称:</span> <span class="itemInfoRight"> ${itemCpoy.name}</span></div>
+                    <div class="itemMsgInfoBox"><span class="itemMsgLab">提示信息:</span> <span class="itemInfoRight"> <input class="itemTipMsg" value="${itemCpoy.msg}" /></span></div>
+                    <div class="itemMsgInfoBox"><span class="itemMsgLab">
+                        分值:
+                        </span> <span class="itemInfoRight"> 
+                            <input class="itemScore" type="number" min="0" value=${itemCpoy.score} />
+                        </span>
+                        <p class="itemMsgInfoTips">支持≥0的数字输入,最多保留小数点后1位~</p>
+                    </div>
+                 
+                    <div class="itemMsgInfoBox"><span class="itemMsgLab">单项否决:</span><span class="itemInfoRight itemReject">${item.isReject == '1' ? `<img class="switchImg" src=${switchIconOpen} /><span class="imgInfo">  是</span>`:`<img class="switchImg" src=${switchIconClose} /> <span class="imgInfo"> 否</span>`}</span></div>
+                    <div class="itemMsgInfoBox"><span class="itemMsgLab">启用:</span><span class=" temInfoRight itemUsed">${item.isUsed == '1' ? `<img class="switchImg" src=${switchIconOpen} /><span class="imgInfo"> 是</span>`:`<img class="switchImg" src=${switchIconClose} /> <span class="imgInfo"> 否</span>`}</span></div>
+                </div>
+                
+                <div class="confirmEditBox"><span class="confirmEdit">保存</span></div>
+            </div>
+        </div>
+       
+    `
+    $("#mainBox", parent.document).append(str)
+    $("#mainBox .itemMsgBox .iconClose", parent.document).on("click", function(e){
+        $("#mainBox .itemMsgBox", parent.document).remove()
+    })
+    $("#mainBox .itemMsgBox .itemTipMsg", parent.document).on("input", function(e){
+        const val = $(this).val().trim()
+        itemCpoy.msg = val
+    })
+    $("#mainBox .itemMsgBox .itemScore", parent.document).on("keypress", function(e){
+        return (/[0-9\.]/.test(String.fromCharCode(e.keyCode)))
+    })
+    $("#mainBox .itemMsgBox .itemScore", parent.document).on("input", function(e){
+        const val = $(this).val()
+        itemCpoy.score = val
+    })
+    $("#mainBox .itemMsgBox .itemReject", parent.document).on("click", function(e){
+        itemCpoy.isReject = itemCpoy.isReject == 1 ? 0 : 1
+        $('#mainBox .itemMsgBox', parent.document).remove()
+        editItem(itemCpoy,activePage)
+    })
+    $("#mainBox .itemMsgBox .itemUsed", parent.document).on("click", function(e){
+        itemCpoy.isUsed = itemCpoy.isUsed == 1 ? 0 : 1
+        $('#mainBox .itemMsgBox', parent.document).remove()
+        editItem(itemCpoy,activePage)
+    })
+    
+    $("#mainBox .itemMsgBox .confirmEdit", parent.document).on("click", function(){
+        var reg = new RegExp(/^\d+(\.\d)?$/);
+        if(reg.test(itemCpoy.score)){
+            // console.log('itemCopy', itemCpoy)
+            if(!itemCpoy.msg.trim()){
+                $.alerModal({"message":"提示信息不能为空~",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+                return 
+            }
+            
+            saveEdit(itemCpoy,activePage)
+            $("#mainBox .itemMsgBox .itemMsgInfoTips", parent.document).css("display","none")
+            $('#mainBox .itemMsgBox', parent.document).remove()
+            return 
+        }else{
+            $("#mainBox .itemMsgBox .itemMsgInfoTips", parent.document).css("display","block")
+            
+            return
+        }
+      
+    })
+   
+    
+}
+
+//保存修改
+function saveEdit(item,activePage){
+    const param = {
+        id: item.id,
+        isReject: item.isReject,
+        isUsed: item.isUsed,
+        msg: item.msg,
+        score: item.score
+    }
+
+    post(api.updataQcCasesEntry,param).then(res =>{
+        if(res.data.code == '0'){
+            // const data = res.data.data
+            $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+            getTabData(activePage)
+        }else{}
+    }).catch((e) =>{
+    
+    })
+}
+getmoduleTypeList()
+
+//获取模块类型
+function getmoduleTypeList(){
+    post(api.getQcCasesAll).then(res =>{
+        if(res.data.code == '0'){
+           const  moduleTypeList = res.data.data
+           renderModuleTypeList(moduleTypeList)
+        }else{}
+    }).catch((e) =>{
+    
+    })
+}
+
+
+function renderModuleTypeList(moduleTypeList){
+    let str = `<li class="modeTypeItem " data-id=" " data-name="全部">全部</li>`
+    for(let i = 0; i < moduleTypeList.length; i++){
+        str += `<li class="modeTypeItem ellipsis" title=${moduleTypeList[i].name} data-id=${moduleTypeList[i].id} data-name=${moduleTypeList[i].name}> ${moduleTypeList[i].name}</li>`
+    }
+    $('.moduleTypeList').html(str)
+    bindModuleTypeSelect()
+}
+
+//模块类型选择
+function bindModuleTypeSelect(){
+    $('.modeTypeItem').on("click",function(){
+        const modeTypeItemName = $(this).attr("data-name")
+        const modeTypeItemId = $(this).attr("data-id")
+        casesIdTemp =modeTypeItemId
+        if(modeTypeItemId){
+            casesName=casesNameTemp = modeTypeItemName
+        }else{
+            casesName=casesNameTemp = ""
+        }
+        $('.selectModuleType').html(modeTypeItemName).attr("title",modeTypeItemName)
+        $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+        $(".moduleTypeList ").css("display", "none")
+    })
+}
+bindRejectSelect()
+//单项否决选择
+function bindRejectSelect(){
+    $('.rejectItem').on("click",function(){
+        const rejectItemName = $(this).attr("data-name")
+        const rejectItemId = $(this).attr("data-id")
+        isSingleReject=isSingleRejectTemp=rejectItemId
+        $('.selectReject').html(rejectItemName)
+        $(".rejectList ").css("display", "none")
+        $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+    })
+}
+//是否启用选择
+function bindUsedSelect(){
+    $('.usedItem').on("click",function(){
+        const usedItemName = $(this).attr("data-name")
+        const usedItemItemId = $(this).attr("data-id")
+        isUsedTemp =usedItemItemId
+        $('.selectUsed').html(usedItemName)
+        $(".usedList").css("display", "none")
+        $(".selectUsed").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    })
+}
+
+
+
+
+//分页渲染
+function renderPagination(totalPage,activePage,totalNum){
+    let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><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>`
+    $('.pagination').html(str)
+    $('.page' + activePage).addClass('activePage')
+    $(".pageNum").on("click", function(e){
+        const activePageNow = Number($(this).attr('data-page'))
+        getTabData(activePageNow)
+        // renderPagination(totalPage,activePageNow,totalNum)
+    })
+    $(".prePage").on("click", function(e){
+        let activePageNow = Number($(".activePage").attr('data-page'))
+        if(activePageNow > 1){
+            activePageNow--
+            getTabData(activePageNow)
+            // renderPagination(totalPage,activePageNow,totalNum)
+        }
+    })
+    $(".nextPage").on("click", function(e){
+        let activePageNow = Number($(".activePage").attr('data-page'))
+        if(activePageNow < totalPage){
+            activePageNow++
+            getTabData(activePageNow)
+            // renderPagination(totalPage,activePageNow,totalNum)
+        }
+    })
+    
+}
+
+$(document).on("click", function(){
+    $(".moduleTypeList ").css("display", "none")
+    $(".rejectList ").css("display","none")
+    $(".usedList ").css("display", "none")
+    $(".selectModuleType .arrow").attr("src",iconDown)
+    $(".selectReject .arrow").attr("src",iconDown)
+    $(".selectUsed .arrow").attr("src",iconDown)
+})
+
+
+$(function() {
+    const  iconCalenBlue= require("./../images/darkDate.png")
+    const  iconCalenGrey= require("./../images/icon_calen_grey.png")
+    $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
+    $('.iconCalen').on("mouseenter", function(e){
+        $(this).attr("src", iconCalenBlue)
+    })
+    $('.iconCalen').on("mouseleave", function(e){
+        $(this).attr("src", iconCalenGrey)
+    })
+    $('.iconCalen').on("click", function(e){
+        $(this).parent().find("input").focus()
+    })
+  $('.export').click(function(){
+    const start = new Date(startDateParam).getTime()
+    const end = new Date(endDateParam).getTime()
+    if(start > end){
+      $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+      return
+    }
+    const param = {
+      type: 0,
+      casesId:casesId, //模块Id
+      casesName:casesName=='全部'?'':casesName, //模块Id
+      isReject:isSingleReject, //是否单项否决
+      name: name, //条目名
+      deptName: deptId, //科室名
+      "startDate":startDateParam,
+      "endDate":endDateParam
+    };
+    expJson(api.exportItemFlaw,param).then(res =>{
+      downloadExportedData(res.data,"条目缺陷占比.xls")
+    })
+  })
+});

+ 3 - 0
src/js/api.js

@@ -97,6 +97,7 @@ const api = {
     leaveHosMRPage:'/console/leaveHosMRPage', //出院人数统计详情
     unModifyMRStatistics: '/console/unModifyMRStatistics',  //未整改病历统计
     unModifyMRPage: '/console/unModifyMRPage', //未整改病历质控评分页(内页)
+    reHos31DaysPage: '/console/reHos31DaysPage', //31天再入院人数(内页)
 
 
     //导出接口
@@ -110,8 +111,10 @@ const api = {
     leaveHosMrPageExport:'/console/export/leaveHosMrPageExport', //出院人数导出
     qcCheckStatistics:'/console/qcCheckStatistics',//质控核查统计
     qcCheckStatisticsExport:'/console/export/qcCheckStatisticsExport',//质控核查统计导出
+    getPage:'/qc/doctoradvice/getPage',//医嘱信息
     unModifyMRPageExport:'/console/export/unModifyMRPageExport',//未整改病历详情页导出
     unModifyMRStatisticsExport:'/console/export/unModifyMRStatisticsExport', //未整改病历统计导出
+    reHos31DaysPageExport:'/console/export/reHos31DaysPageExport', //31天再入院统计导出
 }
 module.exports = {
     api

+ 4 - 0
src/js/checkControl.js

@@ -25,6 +25,10 @@ let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",beho
   let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
 //   data_desc = (lineType == "合格率")?"firstLevelPercent":(lineType=="完整率"?"emptyPercent":"errorPercent")
   if(lineType){
+        if(lineType == "1"){
+            data_desc = "improvePercentStr"
+        }
+
         $("th[code="+data_desc+"]").addClass("desc");
   }
   //setTitleTxt('',from)         //导航栏面包屑

+ 10 - 2
src/js/console.js

@@ -357,7 +357,7 @@ function getHomeData(name){
             if(data.code == 0){
                 let result1 = data.data||[]
                 let data1=result1['合格率'],data2=result1['完整率'],data3=result1['改善率'],tmp1=[],tmp2=[],tmp3=[]
-                console.log("data1",data1)
+                // console.log("data1",data1)
                 if(data1&&data1.totleNum == 0){
                    
                     $(".binganshouye").css("display","block")
@@ -559,7 +559,7 @@ function personNum(data){
     $(".newborn").html(data['新生儿人数']).parent(".chuyuannum").attr("data-num",'新生儿患者')
     $(".patientNum").html(data['手术病人数']).parent(".chuyuannum").attr("data-num",'手术病人数')
     $(".goAwayNum").html(data['非医嘱离院病人数']).parent(".chuyuannum").attr("data-num",'非医嘱离院病人数')
-    $(".againNum").html(data['31日再入院病人数']).parent(".chuyuannum").attr("data-num",'31日再入院病人数')
+    $(".againNum").html(data['31日再入院病人数']).parent(".li04again").attr("data-num",'31日再入院病人数')
     $(".chuyuannum").click(function(){
         let chuyuantype = $(this).attr("data-type")
         let chuyuannum = $(this).attr("data-num")
@@ -567,6 +567,14 @@ function personNum(data){
         $(parent.document).find("#contentIframe").attr("src","qcListOutHospital.html?from=1&shijian=3"+"&outNum="+chuyuannum+"&outNumType="+chuyuantype+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
     
     })
+    // 点击31日再入院病人数
+    $(".li04again").click(function(){
+        let chuyuantype = $(this).attr("data-type")
+        let chuyuannum = $(this).attr("data-num")
+        focusMenuItem("YH-ZKK-31TZRYRS");
+        $(parent.document).find("#contentIframe").attr("src","readmission.html?from=1&shijian=3"+"&outNum="+chuyuannum+"&outNumType="+chuyuantype+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
+    
+    })
 }
 //part02
 function setNumDetail(data){

+ 1 - 1
src/js/qcList.js

@@ -573,7 +573,7 @@ function recordScore(behospitalCode,totalNum,hasToast){
 
                 getTabData(activePage)
                 if(hasToast){
-                  $.alerModal({"message":'评分成功',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+                  $.alerModal({"message":'评分成功',type:"tip",time:'1000',win:true,isFather: true, fatherWrapper: $("#mainBox", parent.document)});
                 }
             }
             

+ 40 - 15
src/js/qcScore.js

@@ -14,6 +14,7 @@ $(function(){
   const global_id=getUrlArgObject("id");
   const global_age = getUrlArgObject("age");
   let global_check;
+  let global_check_home;
   const global_code = getUrlArgObject("code");
   let global_activeTab=$(".sub-menu .page.active").attr("code");  //当前激活菜单项
   let global_modules ={};   //模板数据缓存
@@ -64,6 +65,13 @@ function initMenu(data){
   $(".page").on("click",function(){
     $(".info-item .cont,.flaw-item,td").removeClass("active");   //清空缺陷定位背景
     const title = $(this).attr("code");
+    if(title == '缺陷总览'){
+      $(".check").css('display','none')
+    }else if(title == '病案首页'){
+      $(".check").css('display','block').text(global_check_home==1?'重新核查':'病案首页核查')
+    }else{
+      $(".check").css('display','block')
+    }
     if(title==="缺陷总览"||title==="谈话告知书"||title==="知情同意书"){
       if(title==="缺陷总览"){
         getRecordDetailUpdate()
@@ -73,7 +81,14 @@ function initMenu(data){
     }else{
       $(".flaw-table").hide();
     }
-
+    if(title === '医嘱信息'){
+      $("#contentIframeIn").css({display:'block'}).contents().find(".adviceWrp").height(window.innerHeight-$("#patientInfo").height()-20+'px')
+      $(window).resize(function(){
+        $("#contentIframeIn").contents().find(".adviceWrp").height(window.innerHeight-$("#patientInfo").height()-20+'px')
+      });
+    }else{
+      $("#contentIframeIn").css({display:'none'})
+    }
     //选中样式
     $(".sub-menu .active,.menu-mini .active").removeClass('active');
     const mItems = $(".sub-menu .page[code="+title+"],.menu-mini .page[code="+title+"]");
@@ -107,13 +122,14 @@ function getRecordDetail(){
   post(api.getRecordDetail,{'behospitalCode':global_id}).then(function(res){
     if(res.data.code==='0'){
       const data = res.data.data;
-      const {beHospital,result,msg,checkStatus,drgs} = data;
+      const {beHospital,result,msg,checkStatus,drgs,mrStatus} = data;
       global_check = checkStatus
+      global_check_home = mrStatus
       const info=Object.assign(beHospital,result);
       initMenu(JSON.parse(result.menuData));
       // $(".sub-menu>ul>li:first-child.page,.menu-mini>ul>li:first-child.page").addClass("active");
       $(".subMenu >li:first-child.page,.menu-mini>ul>li:first-child.page").addClass("active");
-     global_activeTab=$(".sub-menu .page.active").attr("code");
+      global_activeTab=$(".sub-menu .page.active").attr("code");
       initPatientInfo(info);
       initContent(result.pageData);
       initList(msg);
@@ -162,7 +178,7 @@ function initPatientInfo(data){
   if(hasData("FUNC000014")){
     hasCheck = true
   }
-  const obj=Object.assign({},data,{age:!global_age||global_age=="null"?"-":global_age,hasCheck,checkState:global_check});
+  const obj=Object.assign({},data,{age:!global_age||global_age=="null"?"-":global_age,hasCheck,checkState:global_check,checkStateHome:global_check_home});
   
   $("#infoTmpl").tmpl(obj).appendTo("#patientInfo");
   $(".check").on("click", function(){
@@ -176,6 +192,8 @@ function initContent(data){
   let hml='',moduleId='';
   formatSpecPage(obj["谈话告知书"],"谈话告知书");
   formatSpecPage(obj["知情同意书"],"知情同意书");
+  // formatSpecPage(obj["医嘱信息"],"医嘱信息");
+  
   for(let k in obj){
     if(k==="谈话告知书"||k==="知情同意书"){
       continue;
@@ -221,7 +239,7 @@ function formatInfoData(k,data){
 
 //知情同意书、谈话告知书
   function formatSpecPage(data,title,type){
-    $(".page-item[code='缺陷总览']").children().remove()
+    $(".page-item[code='缺陷总览']").remove()
     $("#appointBookTmpl").tmpl({title,data}).appendTo(".flaw-table");
     $(".page-anchor").on("click",function(){
       const code=$(this).attr("code");
@@ -242,6 +260,7 @@ function formatInfoData(k,data){
         $('#contentInfo').scrollTop($(anch).offset().top-60);
       }
     });
+    
     if(type&&type == 1){
       $(".titleNo").css({
         'background-color': '#00A1FF',
@@ -254,6 +273,7 @@ function formatInfoData(k,data){
         'border-right':0,
         'color': '#777'
       })
+      setBoxHeight()
     }else if(type&&type==2){
       $(".titleNo").css({
         'background-color': '#fff',
@@ -266,6 +286,7 @@ function formatInfoData(k,data){
         'color': '#fff',
         'border-color': '#00A1FF'
       })
+      setBoxHeight()
     }
   }
 
@@ -354,7 +375,7 @@ function editScore(info){
     if(res.data.code==='0'){
       $("#delModal").hide();
       updateFlaws(res.data.data);
-      $.alerModal({"message":"修改成功",type:"tip",time:'1000'});
+      $.alerModal({"message":"修改成功",type:"tip",time:'1000',win:true});
     }
   });
 }
@@ -465,18 +486,17 @@ function showModal(flag,code,i){
       // if($(".add-box .warning").is(":visible")||!msg.trim()||!score){
       //   return;
       // }
-      // console.log($(".flaw-drop-input")[0],9999999)
       const obj = Object.assign({},global_selectedFlaw,{msg,score});
       addScore(obj);
     });
   }else{
     $("#delModal .title").text("删除提示");
     $("#delModal .modal-body").html('<p>确定要删除该评分记录吗?</p>');
-    $("#delModal .confirm").text("删除").click(function(){
-      delScore(code,info);
+    $("#delModal .confirm").text("取消").click(function(){
+      $("#delModal").hide();
     });
-    $("#delModal .cancel").show().text("取消").click(function(){
-      $("#delModal .divModal",parent.document).remove()
+    $("#delModal .cancel").show().text("删除").click(function(){
+      delScore(code,info);
     });
   }
 }
@@ -698,16 +718,21 @@ function formatFlawKeys(data){
     });
   }
   function checkQc(){
+    console.log('global_activeTab',global_activeTab)
     const param={
       behospitalCode:getUrlArgObject("id"),
-      hospitalId:getUrlArgObject("hid")
+      hospitalId:getUrlArgObject("hid"),
+      checkType: global_activeTab == '病案首页'?'1':'0'
     };
     post(api.checkQc,param).then((res)=>{
       if(res.data.code==='0') {
-        global_check = 1
+        if(global_activeTab == '病案首页'){
+          global_check_home = 1
+        }else{
+          global_check = 1
+        }
         $(".check").text("重新核查")
-        $.alerModal({"message":`<div class="checkTipsBox"><img class="checkImg" src=${checkOk}><p class="checkTxt">核查成功</p></div>`,type:"tip",time:'1000',isFather: false});
-       
+        $.alerModal({"message":"核查成功",type:"tip",time:'1000',win:true});
       }else{
         $.alerModal({"message":res.data.msg ||"核查失败",type:"tip",time:'1000',isFather: false});
       }

+ 489 - 0
src/js/readmission.js

@@ -0,0 +1,489 @@
+const $ = require('jquery');
+require("../css/readmission.less");
+require('./modal.js');
+const {api} = require('./api.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,setTitleTxt,setDatePicker,getPickerDate,expJson,downloadExportedData,initScroll} = require('./utils.js')
+require('./../resource/jquery-ui/jquery-ui.min.js');
+require('./../resource/jquery-ui/jquery-ui.min.css');
+const iconCheck= require("./../images/icon_check.png")
+const iconUnCheck = require("./../images/icon_unchecked.png")
+const iconDown= require("./../images/arrow_down.png")
+const iconUp = require("./../images/arrow_up.png")
+const loadingImg = require("./../images/loading.gif")
+const arrowLeft= require("./../images/arrow_left.png")
+const arrowRight = require("./../images/arrow_right.png")
+let  deptName = "", behospitalCode="", deptNameTemp = "",deptId='',deptIdTemp='', behospitalCodeTemp="", data_desc="",data_asc="",deptRecord="",patientName="" ; 
+let srcUrl = $("#contentIframe",parent.document).attr("src")
+statisticsType = getUrlArgObjectNew("dateType",srcUrl)||"";
+from = getUrlArgObjectNew("from",srcUrl)||""
+lineType = getUrlArgObjectNew("lineType",srcUrl)||""
+let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
+let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
+// $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+/*if(lineType){
+  $("th[code="+data_desc+"]").addClass("desc");
+}*/
+//setTitleTxt('',from)         //导航栏面包屑
+if(statisticsType == 1){
+  setDatePicker($("#datepicker"),$("#datepicker2"),1)
+}else if(statisticsType == 2){
+  setDatePicker($("#datepicker"),$("#datepicker2"),2)
+}else if(statisticsType == 3){
+  setDatePicker($("#datepicker"),$("#datepicker2"),3,new Date(startDateParam),new Date(endDateParam))
+}else{
+  setDatePicker($("#datepicker"),$("#datepicker2"),'default')
+}
+
+if(from==2){
+  // $(".export").css('display','none')
+  // $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
+  // deptId=deptListDept[0]&&deptListDept[0].deptId; 
+  // deptName=deptListDept[0]&&deptListDept[0].deptName;
+  // deptNameTemp=deptListDept[0]&&deptListDept[0].deptName;
+  // deptIdTemp=deptListDept[0]&&deptListDept[0].deptId;
+  // $('.selectDept').html(deptName)
+}else if(from==3){
+//   $(".partTitle .titlePic ").html(`<a href="keyItemFlawControl.html">关键条目缺陷占比 / </a>缺陷详情`)
+}else{
+  $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台 / </a>31天再入院人数`)
+}
+
+if(!statisticsType){
+  setDatePicker($("#datepicker"),$("#datepicker2"),'default')
+}
+$(".abnormalClear").click(function(){
+  data_desc="";
+  data_asc="";
+  deptId="";
+  deptIdTemp="";
+  deptName="";
+  deptNameTemp="";
+  patientName= "";
+  deptRecord="";
+  setDatePicker($("#datepicker"),$("#datepicker2"),"default")
+  $('.patientRecordInp').val('')
+  $('.patientNameInp').val('')
+  // $(".deptList").css("display", "none")
+  // $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`);
+  $("th[code]").removeClass("asc desc")
+  //behospitalCode =behospitalCodeTemp= ""
+  getTabData(1)
+})
+$(".partTitle a").click(function(){
+  //初始菜单选中
+  $(".menu .page",parent.document).removeClass("active").eq(0).addClass("active");
+  $(".container",parent.document).addClass("console-cont");
+})
+
+//判断有无某一权限
+/*function hasData(data){
+  let trdObj = JSON.parse(getCookie("trdObj"))
+  let lis = trdObj['YH-BLZK-ZKPF']
+  if(!lis){
+    return false
+  }
+  if(lis.indexOf(data)>-1){//有权限
+    return true
+  }
+  return false;
+}*/
+function getTabData(activePage){
+  const dateStatrt = getPickerDate($("#datepicker"),1)
+  const dateEnd = getPickerDate($("#datepicker2"),2)
+  const start = new Date(dateStatrt).getTime()
+  const end = new Date(dateEnd).getTime()
+  if(start > end){
+    $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+    return
+  }
+  const param = {
+    current:activePage,
+    size: 10,
+    name:patientName,
+    fileCode:deptRecord,
+    startDate:dateStatrt.replace(/\//g,'-'),
+    endDate:dateEnd.replace(/\//g,'-')
+  }
+  startDateParam = dateStatrt
+  endDateParam = dateEnd
+  post(api.reHos31DaysPage,param).then(res =>{
+    if(res.data.code == '0'){
+      const data = res.data.data||[];
+      const totalPage = data.pages;
+      const totalNum = data.total;
+      renderTab(data,data.hospitalId,activePage);
+      renderPagination(totalPage,Number(activePage),totalNum)
+      if(totalPage > 1){
+        renderPagination(totalPage,Number(activePage),totalNum)
+      } else{
+        $('.pagination').html("")
+      }
+    }else{
+      $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+    }
+  }).catch((e) =>{
+
+  })
+ 
+}
+
+getTabData(1)
+
+$(".filter").on("click", function(e){
+  // deptName = deptNameTemp;
+  behospitalCode = behospitalCodeTemp;
+  getTabData(1)
+})
+// // 处理th tr数据
+function formatTableData(data){
+  let newColumns = data.filter(function(item,index){
+    if(item.isShow === 1) {
+      return item
+    }
+  })
+  return newColumns
+}
+
+
+function renderTab(data,hisId,activePage){
+  data = data.records;
+  let newData = []
+  for(var i = 0; i < data.length ; i++) {
+    let dataCopy = {copy: true, ...data[i]}
+    newData =  [...newData,data[i],dataCopy]    
+  }
+  let str = ``
+  for(let i = 0; i < newData.length; i++){
+      const item = newData[i]
+      if(!item.copy){
+        str += `
+          <tr  data-index=${i}>
+          <td class="textCenter" rowspan="2">${Math.ceil(((activePage-1)*20 + i+1)/2)}</td>
+          <td class="textCenter">${item.details[0].behospitalCode || "-"}</td> 
+          <td class="textCenter" rowspan="2">${item.fileCode || "-"}</td> 
+          <td class="textCenter patientNameSpan" data-id="${item.details[0].behospitalCode}" data-name="${item.details[1].name}" >${item.details[0].name || "-"}</td> 
+          <td class="textCenter" rowspan="2">${item.sex || "-"}</td> 
+          <td class="textCenter">${item.details[0].level || "-"}</td> 
+          <td class="textCenter">${item.details[0].scoreRes || "-"}</td> 
+          <td class="textCenter">${item.details[0].behDeptName || "-"}</td> 
+          <td class="textCenter" rowspan="2">${item.diagnose || "-"}</td> 
+          <td class="textCenter">${item.details[0].behospitalDate || "-"}</td> 
+          <td class="textCenter">${item.details[0].leaveHospitalDate || "-"}</td> 
+          <td class="textCenter" rowspan="2">${item.diffDays || "-"}</td> 
+          </tr>
+        `
+      }else{
+        str += `
+          <tr  data-index=${i} class="copy">
+          <td class="textCenter delete"></td> 
+          <td class="textCenter">${item.details[1].behospitalCode || "-"}</td> 
+          <td class="textCenter delete">${item.fileCode || "-"}</td> 
+          <td class="textCenter patientNameSpan" data-id="${item.details[1].behospitalCode}" data-name="${item.details[1].name}">${item.details[1].name || "-"}</td> 
+          <td class="textCenter delete">${item.sex || "-"}</td> 
+          <td class="textCenter">${item.details[1].level || "-"}</td> 
+          <td class="textCenter">${item.details[1].scoreRes || "-"}</td> 
+          <td class="textCenter">${item.details[1].behDeptName || "-"}</td> 
+          <td class="textCenter delete">${item.diagnose || "-"}</td> 
+          <td class="textCenter">${item.details[1].behospitalDate || "-"}</td> 
+          <td class="textCenter">${item.details[1].leaveHospitalDate || "-"}</td> 
+          <td class="textCenter delete">${item.diffDays || "-"}</td> 
+          </tr>
+        `
+      }
+  }
+  $('.tbody').html(str?str:emptyBox())
+  $(".tbody .copy .delete").hide()
+  /*bindScoreDetail(hisId)*/
+  // 跳转至详情页
+  $(".goHomeDetail").click(function(){
+    let casesName = $(this).attr("data-name") || '';
+    let casesId = $(this).attr("data-id");
+    let name=$(this).attr("dept-name");
+    name=name==="全院"?"全部":name;
+    let id=$(this).attr("dept-id");
+
+    $(parent.document).find("#contentIframe").attr("src","uccDetail.html?from=3&deptName="+name+"&deptId="+id+"&casesEntryId="+casesId+"&defectName="+casesName+"&startDate="+startDateParam+"&endDate="+endDateParam)
+  })
+  bindScoreDetail(hisId)
+  // initScroll("partDetailControl","YX",1)
+}
+
+function scoreDetail(id,age,hid,code,name){
+  window.open(`./qcScore.html?id=${id}&age=${age}&name=${name}&hid=${getCookie('hospitalid')}&code=${code}`)
+}
+// 跳转至病人详情
+function bindScoreDetail(hisId){
+  $('.patientNameSpan').on('click',function(e){
+      // const id = $(this).attr('data-id')
+      // const age = ''
+      // const noScore = ''
+      // const checkStatus = ''
+      // const name = $(this).attr('data-name')
+      const id = $(this).attr('data-id')
+      const age = ''
+      const noScore = ''
+      const checkStatus = ''
+      const name = $(this).attr('data-name')
+      // qcScore.html?id=ZY010000669760&age=null&name=李**&hid=1&code=YH-BLZK-ZKPF
+      // console.log(id,'=',name,'=');
+      if(noScore){
+          $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+          return
+      } else{
+          // scoreDetail(id,age,hisId,'YH-BLZK-ZKPF',tabList[index].name)
+          scoreDetail(id,age,hisId,'YH-BLZK-ZKPF',name)
+      }
+     
+  })
+}
+
+
+// $('.selectDept').on("click", function(e){
+//   e.stopPropagation()
+//   $(".selectLevel .arrow").attr("src",iconDown)
+//   const showList =  $(".deptList ").css("display")
+//   if(showList == "none" ||!showList){
+//     $(".deptList ").css("display","block")
+//     $(".selectDept .arrow").attr("src",iconUp)
+//   }else{
+//     $(".deptList ").css("display", "none")
+//     $(".selectDept .arrow").attr("src",iconDown)
+//   }
+// })
+
+//获取科室列表
+// getDeptList()
+// function getDeptList(){
+//   post(api.getDeptList,{inputStr:""}).then(res =>{
+//     if(res.data.code == '0'){
+//       const  deptList = res.data.data
+//       rendeDeptList(deptList)
+//     }else{}
+//   }).catch((e) =>{
+
+//   })
+// }
+//获取页面配置
+
+// function getPageSet(){
+//   const dateStatrt = getPickerDate($("#datepicker"),1)
+//   const dateEnd = getPickerDate($("#datepicker2"),2)
+//   const start = new Date(dateStatrt).getTime()
+//   const end = new Date(dateEnd).getTime()
+//   if(start > end){
+//     $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+//     return
+//   }
+//   const param = {
+//     "name": deptName,
+//     "asc":data_asc,     //升序
+//     "desc":data_desc,       //降序
+//     "startDate":dateStatrt.replace(/\//g,'-'),
+//     "endDate":dateEnd.replace(/\//g,'-')
+//   }
+//   startDateParam = dateStatrt
+//   endDateParam = dateEnd
+//   post(api.unModifyMRStatistics,param).then(res =>{
+//     if(res.data.code == '0'){
+//       const data = res.data.data||[];
+//       renderTabTitle(data)   //渲染Table表头
+//     }else{
+//       $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+//     }
+//   }).catch((e) =>{
+
+//   })
+// }
+// getPageSet()
+
+// 渲染table表头
+// function renderTabTitle(data){ 
+//   data = data.columns; 
+//   let str = `
+//   <th class="moduleName" style="width: 65px;">序号</th>`
+//   for(let i = 0; i < data.length; i++){
+//       const item = data[i]
+//       if(item.isShow == 1){        
+//           str += `<th class="textCenter beHospitalId" code="${item.fieldName}">${item.columnName}</th>`
+//       }
+//   }
+//   $(".tabTitle").html(str)
+//   bindOrder()
+// }
+
+// function rendeDeptList(deptList){
+//   let str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`;
+//   for(let i = 0; i < deptList.length; i++){
+//     str += `<li class="deptItem ellipsis" title=${deptList[i].deptName} data-id=${deptList[i].deptId} data-name=${deptList[i].deptName}> ${deptList[i].deptName}</li>`
+//   }
+//   $('.deptList').html(str)
+//   bindDeptSelect()
+// }
+//科室选择
+// function bindDeptSelect(){
+//   $('.deptItem').on("click",function(){
+//     const deptItemName = $(this).attr("data-name")
+//     const deptItemId = $(this).attr("data-id")
+//     deptIdTemp =deptItemId;
+//     deptNameTemp=deptItemName==="全部"?"":deptItemName;
+//     if(deptItemName.length > 10){
+//       $('.selectDept').html(deptItemName.substring(0,8)+'...')
+//     }else{
+//       $('.selectDept').html(deptItemName)
+//     }
+//     $('.selectDept ').attr('title',deptItemName)
+//     $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+//     $(".deptList").css("display", "none")
+//     $('.selectDept').removeClass('unSelect')
+//   })
+// }
+function loading(){
+  const str = `
+    <div class="loadingBox">
+            <div class="mask"></div>
+            <img class="loadingImg" src=${loadingImg}  alt="loading" />
+        </div>
+    `
+  $("#mainBox", parent.document).append(str)
+}
+function hideLoading(){
+  $("#mainBox .loadingBox", parent.document).remove()
+}
+$(document).on("click", function(){
+  $(".deptList").css("display", "none");
+  // $(".selectDept .arrow").attr("src",iconDown)
+})
+// 上升下降筛选
+$("th[code]").off("click").on("click",function(e){
+  const code=$(this).attr("code");
+  if(data_asc==code){
+    data_desc=code;
+    data_asc="";
+    $("th[code]").removeClass("asc desc");
+    $(this).addClass("desc");
+  }else{
+    data_desc="";
+    data_asc=code;
+    $("th[code]").removeClass("asc desc");
+    $(this).addClass("asc");
+  }
+  getTabData(1);
+});
+
+
+//分页渲染
+function renderPagination(totalPage,activePage,totalNum){
+  let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><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>`
+  $('.pagination').html(str)
+  $('.page' + activePage).addClass('activePage')
+  $(".pageNum").on("click", function(e){
+    const activePageNow = Number($(this).attr('data-page'))
+    getTabData(activePageNow)
+    // renderPagination(totalPage,activePageNow,totalNum)
+  })
+  $(".prePage").on("click", function(e){
+    let activePageNow = Number($(".activePage").attr('data-page'))
+    if(activePageNow > 1){
+      activePageNow--
+      getTabData(activePageNow)
+      // renderPagination(totalPage,activePageNow,totalNum)
+    }
+  })
+  $(".nextPage").on("click", function(e){
+    let activePageNow = Number($(".activePage").attr('data-page'))
+    if(activePageNow < totalPage){
+      activePageNow++
+      getTabData(activePageNow)
+      // renderPagination(totalPage,activePageNow,totalNum)
+    }
+  })
+
+}
+
+// 获取科室名称
+$(".patientNumInp").on("input", function(e){
+  const val = $(this).val().trim()
+  deptName = val
+})
+ 
+// 获取病人姓名  patientRecordInp
+$(".patientNameInp").on("input", function(e){
+  const val = $(this).val().trim()
+  patientName = val
+})
+
+// 获取病案号  patientRecordInp
+$(".patientRecordInp").on("input", function(e){
+  const val = $(this).val().trim()
+  deptRecord = val
+})
+
+
+$(function() {
+  const  iconCalenBlue= require("./../images/icon_calen_blue.png")
+  const  iconCalenGrey= require("./../images/icon_calen_grey.png")
+  $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
+  $('.iconCalen').on("mouseenter", function(e){
+    $(this).attr("src", iconCalenBlue)
+  })
+  $('.iconCalen').on("mouseleave", function(e){
+    $(this).attr("src", iconCalenGrey)
+  })
+  $('.iconCalen').on("click", function(e){
+    $(this).parent().find("input").focus()
+  })
+  $('.export').click(function(){
+      const start = new Date(startDateParam).getTime()
+      const end = new Date(endDateParam).getTime()
+      if(start > end){
+          $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+          return
+      }
+      const param = {
+        name:patientName,
+        fileCode:deptRecord,
+        startDate:startDateParam.replace(/\//g,'-'),
+        endDate:endDateParam.replace(/\//g,'-'),
+      }
+      expJson(api.reHos31DaysPageExport,param).then(res =>{
+          downloadExportedData(res.data, "31天再入院人数.xls")
+      })
+      
+      //  初始渲染TableTitle
+      // getPageSet().then(res =>{
+      //   $(".filter").click();   //初始查询
+      // })
+  })
+});

+ 3 - 2
src/js/utils.js

@@ -40,7 +40,8 @@ const pageMap={
   'YH-BLZK-ZKPFYLZ':'qcListDocteam.html',
   'YH-ZKK-GJTMQXZB':'keyItemFlawControl.html',
   'YH-ZKK-CYRSTJ':'qcListOutHospital.html',
-  'YH-ZKK-WZGBLTJ': 'uncorrectedCasesStatistics.html'
+  'YH-ZKK-WZGBLTJ': 'uncorrectedCasesStatistics.html',
+  'YH-ZKK-31TZRYRS': 'readmission.html'
 };
 
 //重写assign方法
@@ -261,7 +262,7 @@ function setBoxHeight(){
   $(".content-box").height((ht-55)+'px');
   $(".flaw-table").height((ht-70)+'px');
   $(".content-ht").height((ht-120)+"px");
-  $(".scroll-table tbody").css("max-height",(ht-200)+"px")
+  $(".scroll-table tbody").css("max-height",(ht-210)+"px")
 }
 setBoxHeight();
 $(window).resize(function(){

+ 28 - 1
webpack.config.js

@@ -50,8 +50,10 @@ module.exports = {
     qcListCopy:path.resolve(__dirname, 'src/js', 'qcListCopy.js'),
     qcListOutHospital:path.resolve(__dirname, 'src/js', 'qcListOutHospital.js'),
     checkControl:path.resolve(__dirname, 'src/js', 'checkControl.js'),
+    advice:path.resolve(__dirname, 'src/js', 'advice.js'),
     uncorrectedCasesStatistics:path.resolve(__dirname, 'src/js', 'uncorrectedCasesStatistics.js'),
     uccDetail:path.resolve(__dirname, 'src/js', 'uccDetail.js'),
+    readmission:path.resolve(__dirname, 'src/js', 'readmission.js'),
     vendor: 'lodash'// 多个页面所需的公共库文件,防止重复打包带入
   },
   output: {
@@ -90,6 +92,19 @@ module.exports = {
         collapseWhitespace: true //删除空白符与换行符
       }
     }),
+    new HtmlWebpackPlugin({
+      title: 'advice.html',
+      template: path.resolve(__dirname, 'src/html', 'advice.html'),
+      filename: 'advice.html',
+      chunks: ['advice', 'vendor', 'common'],
+      hash: true, //防止缓存
+      inject: true,
+      minify: {
+        removeAttributeQuotes: true, //压缩 去掉引号
+        removeComments: true, //移除HTML中的注释
+        collapseWhitespace: true //删除空白符与换行符
+      }
+    }),
     new HtmlWebpackPlugin({
       title: 'tiaomuControl.html',
       template: path.resolve(__dirname, 'src/html', 'tiaomuControl.html'),
@@ -597,7 +612,19 @@ module.exports = {
         collapseWhitespace: true //删除空白符与换行符
       }
     }),
-    
+    new HtmlWebpackPlugin({
+      title: 'readmission.html', //未整改病历统计_缺陷详情
+      template: path.resolve(__dirname, 'src/html', 'readmission.html'),
+      filename: 'readmission.html',
+      chunks: ['readmission', 'vendor', 'common'],
+      hash: true, //防止缓存
+      inject: true,
+      minify: {
+        removeAttributeQuotes: true, //压缩 去掉引号
+        removeComments: true, //移除HTML中的注释
+        collapseWhitespace: true //删除空白符与换行符
+      }
+    }),
     new CopyWebpackPlugin([
       {
         from:'src/resource',