Browse Source

Merge branch 'master' into referMaster

luolei 4 years ago
parent
commit
d20c34fec2

+ 354 - 0
src/css/checkControl.less

@@ -0,0 +1,354 @@
+@import './reset.less';
+
+.container{
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+    background-color: @disColor;
+}
+.checkControl {
+    .dayFilter {
+        .levelList {
+            height: 80px;
+        }
+        .selectLevel,.levelList  {
+            width: 180px;
+        }
+        .deptListWrap {
+            display: none;
+        }
+    }
+    .filterItem.deptListWrap {
+        .selectDept,.deptList {
+            width: 180px;
+        }
+    }
+    ul,li{
+        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;
+        min-width: 1200px;
+        /*width: 100%;*/
+    }
+    table{
+        .table;
+        min-width: 1090px;
+        th,td{
+            text-align: center;
+        }
+        th{
+            white-space: nowrap;
+        }
+        td{
+            white-space: nowrap;
+        }
+        .moduleNumber{
+            text-align: center;
+        }
+        .scoreOperaItem{
+            width: 50px;
+            cursor: pointer;
+        }
+        
+    }
+    .tabFoot{
+        height: 40px;
+        /*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;
+        }
+    }
+    
+    .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: @activeColor;
+    }
+    /*.filterBox{
+        margin-bottom: 10px;
+    }*/
+    .filterItem{
+        position: relative;
+        display: inline-block;
+        float: left;
+        height: 40px;
+        line-height: 40px;
+        margin: 0 20px 20px 0;
+        span{
+            display: inline-block;
+            line-height: 40px;
+            position: relative;
+        }
+        input{
+            width:120px;
+            height:40px;
+            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{
+        width: 120px;
+        height: 120px;
+        li:hover{
+            background-color: #EEF4FF;
+            cursor: pointer;
+        }
+    }
+    .selectLevel,.selectDept{
+        display: inline-block;
+        position: relative;
+        width:120px;
+        padding: 0 10px;
+        height:40px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        box-sizing: border-box;
+        cursor: pointer;
+    }
+    .selectDept{
+        width: 160px;
+    }
+    
+    .filter{
+        display: inline-block;
+        width:60px;
+        height:36px;
+        background:@activeColor;
+        border-radius:4px;
+        color: #fff;
+        text-align: center;
+        line-height: 36px;
+        position: relative;
+        top: 2px;
+        cursor: pointer;
+        float: left;
+    }
+    .export{
+        display: inline-block;
+        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;
+        float: left;
+        top: 0px;
+    }
+    .arrow{
+        position: absolute;
+        width: 10px;
+        top: 16px;
+        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;
+    }
+
+    .textCenter{
+        text-align: center;
+    }
+    .patientNameSpan{
+        color: #00A1F0;
+        cursor: pointer;
+    }
+    .patientNameSpans{
+        color: #FF4D4F;
+        cursor: pointer;
+        margin-left: 30px;
+    }
+    
+    .deptItem:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+    .ellipsis{
+        overflow: hidden;
+        text-overflow:ellipsis;
+        white-space: nowrap;
+    }
+    
+    
+    .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;
+    }
+    
+    
+    
+    .ui-datepicker-calendar {
+        border: 0 none;
+        min-width: 0;
+    }
+    .ui-datepicker thead {
+        background-color: #fff;
+        color: #c3cbd6;
+    }
+    .ui-datepicker td {
+        padding: 0;
+        height: auto;
+        color: #657180;
+    }
+    .ui-datepicker td span, .ui-datepicker td a {
+        text-align: center;
+        height: 30px;
+        line-height: 30px;
+    }
+    
+    .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
+        border: 0;
+        background-color: #fff;
+        &:hover {
+            background-color: #c4d8fe;
+        }
+    }
+    .ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
+        color: #333;
+        font-weight: normal;
+        height: 30px;
+        line-height: 30px;
+        margin: 0 5px;
+        width: 40%;
+        border-radius: 3px;
+    }
+    .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
+        top: 5px;
+    }
+    .ui-state-active, .ui-widget-content .ui-state-active {
+        background-color: @activeColor !important;
+        color: #fff;
+    }
+    .ui-state-highlight, .ui-widget-content .ui-state-highlight {
+        background-color: #fff5bf !important;
+        color: #657180;
+    }
+    .ui-widget-header {
+        background-color: #fff;
+        border: 0 none;
+    }
+    
+    input::-webkit-outer-spin-button,
+    input::-webkit-inner-spin-button {
+        -webkit-appearance: none;
+    }
+     
+    input[type="number"] {
+        -moz-appearance: textfield;
+    }
+}
+.abnormalClear {
+    top: 2px !important;
+}

+ 13 - 2
src/css/common.less

@@ -33,11 +33,13 @@ input:disabled {
     box-sizing: border-box;
     cursor: pointer;
     margin-left: 10px;
-    margin-bottom: 10px;
+    margin-bottom: 20px;
     float: left;
     top: 0px;
 }
-
+.export {
+    margin-bottom: 20px !important;
+}
 th[code]{
     cursor: pointer;
     &:after{
@@ -213,4 +215,13 @@ input::-moz-placeholder, textarea::-moz-placeholder {
 input:-ms-input-placeholder, textarea:-ms-input-placeholder {
     /* Internet Explorer 10+ */
     color: #aaa;
+}
+
+
+
+.filterItem{
+    margin-right: 30px !important;
+    input {
+        margin-right: 0 !important;
+    }
 }

+ 117 - 20
src/css/console.less

@@ -34,7 +34,7 @@ div.console {
   }
   .chuyuanEmpty {
     border-bottom: 10px solid @activeBg;
-    height: 112px;
+    height: 142px;
     display: none;
     .emptyBoxHome {
       margin-top: -40px;
@@ -72,7 +72,7 @@ div.console {
   width: 35%;
   height: 135px;
   float: left;
-  margin-top: 38px;
+  margin-top: 60px;
 }
 .emptyCircleWrap {
   // height: 214px;
@@ -266,7 +266,7 @@ div.console {
   box-sizing: border-box;
 }
 .circle {
-  height: 260px;
+  height: 302px;
   width: 100%;
   display: inline-block;
   box-sizing: border-box;
@@ -353,35 +353,72 @@ div.console {
   border-right: 10px solid @activeBg;
   box-sizing: border-box;
   .chuyuan {
-    height: 113px;
+    height: 145px;
     border-bottom: 10px solid @activeBg;
     box-sizing: border-box;
+    li {
+      width: 33.33%;
+      height: 57px;
+      padding: 0;
+      text-align: center;
+      .numShow {
+        height: 24px;
+        line-height: 24px;
+        text-align: center;
+      }
+      .explainNum {
+        margin-top: 0;
+      }
+    }
+    .topLis {
+      padding-top: 3px;
+    }
+    .li04 {
+      width: 50%;
+    }
   }
   ul {
-    padding: 15px 20px;
+    padding: 10px;
     // border-bottom: 10px solid @activeBg;
-    height: 112px;
+    height: 145px;
     box-sizing: border-box;
+    overflow: hidden;
     li {
       float: left;
       width: 33.33%;
       color: @fstColor;
-      border-left: 3px solid #F2637B;
-      height: 72px;
       box-sizing: border-box;
-      padding-left: 12px;
+      cursor: pointer;
+      background-color: #192D5B;
       &.li02 {
-        border-left: 3px solid #37CBCB;
+        border-left: 1px solid @darkLightBorderColor;
       }
       &.li03 {
-        border-left: 3px solid #FAD336;
+        border-left: 1px solid @darkLightBorderColor;
+      }
+      &.li04 {
+        border-top: 1px solid @darkLightBorderColor;
+        padding-top: 5px;
+        box-sizing: border-box;
+      }
+      &.li04.li04again {
+        border-left: 1px solid @darkLightBorderColor;
+        cursor: default;
+      }
+      &:hover {
+        .numShow {
+          color: @activeColor;
+        }
+        .againNum {
+          color: @fstColor;
+        }
       }
     }
   }
   
   .defect {
     /*background-color: @themeColor;*/
-    height: 414px;
+    height: 377px;
     overflow: hidden;
     .list {
       padding: 6px 5px;
@@ -390,7 +427,7 @@ div.console {
       // overflow-y: hidden;
       overflow-y: auto;
       overflow-x: hidden;
-      height: 375px;
+      height: 340px;
     }
     /*.thead {
       td {
@@ -406,7 +443,7 @@ div.console {
       }
     }
     .qtableEmpty {
-      height: 363px;
+      height: 326px;
       display: none;
     }
     td {
@@ -478,8 +515,9 @@ div.console {
   .bingliLis {
     border-top: 1px solid @themeBorderClr;
     padding: 15px 30px;
-    height: 168px;
+    height: 165px;
     box-sizing: border-box;
+    background-color: @themeColor;
     cursor: pointer;
     p {
       text-align: center;
@@ -507,14 +545,15 @@ div.console {
       position: absolute;
       bottom: 0;
       left: 50%;
-      margin-left: -50px;
+      margin-left: -40px;
     }
     .fen {
       width: 78px;
       height: 78px;
       position: absolute;
       left: 50%;
-      margin-left: -50px;
+      margin-left: -40px;
+      cursor: pointer;
     }
   }
 }
@@ -526,7 +565,7 @@ div.console {
   .barChartLine {
     box-sizing: border-box;
     width: 100%;
-    height: 257px;
+    height: 214px;
   }
   .barChartLineBox {
     border-bottom: 10px solid @activeBg;
@@ -535,8 +574,66 @@ div.console {
     background: @themeColor;
     box-sizing: border-box;
   }
+  .bingliLis {
+    border-top: 1px solid @themeBorderClr;
+    padding: 50px 25px 0 25px;
+    height: 145px;
+    box-sizing: border-box;
+    background-color: @themeColor;
+    cursor: pointer;
+    p {
+      text-align: center;
+      color: @fstColor;
+      // font-weight: bold;
+      font-size: 16px;
+      padding-bottom: 5px;
+      cursor: pointer;
+      img {
+        top: 1px;
+      }
+    }
+  }
+  .panPartPub {
+    width: 33.33%;
+    height: 110px;
+    float: left;
+    position: relative;
+    p {
+      text-align: center;
+      font-size: 12px;
+      color: @secColor;
+      font-weight: normal;
+      width: 95px;
+      position: absolute;
+      bottom: -10px;
+      left: 50%;
+      margin-left: -47px;
+    }
+    .fen {
+      width: 95px;
+      height: 95px;
+      position: absolute;
+      left: 50%;
+      margin-left: -47px;
+    }
+  }
 }
 
+  .bldjss {
+    height: 221px;
+    border-bottom: 10px solid @activeBg;
+    box-sizing: border-box;
+    background-color: @themeColor;
+  }
+  .binganshouye {
+    height: 221px;
+    border-bottom: 10px solid @activeBg;
+    background-color: @themeColor;
+    box-sizing: border-box;
+    .emptyBoxHome {
+      margin-top: 50px;
+    }
+  }
 .partTitlePub {
   height: 40px;
   line-height: 40px;
@@ -563,11 +660,11 @@ div.console {
 }
 
 .numShow {
-  font-size: 28px;
+  font-size: 24px;
   display: inline-block;
   height: 36px;
   line-height: 40px;
-  font-weight: bold;
+  font-weight: normal;
   color: @fstColor;
 }
 .explainNum {

+ 1 - 0
src/css/keyItemFlawControl.less

@@ -48,6 +48,7 @@
   .main-body{
     .main-body-com;
     border: none;
+    padding-top: 30px;
     border-left: 10px @disColor solid;
     min-width: 1090px;
     /*width: 100%;*/

+ 4 - 4
src/css/qcList.less

@@ -29,7 +29,7 @@ h2{
     position: absolute;
     height: 100%;
 }
-table{
+.qctable{
     .table;
     min-width: 1090px;
     th,td{
@@ -123,7 +123,7 @@ table{
 }
 .filter-toggler{
     position: absolute;
-    left: 1008px;
+    left: 1048px;
     top: 8px;
     color: #777;
     white-space: nowrap;
@@ -185,7 +185,7 @@ table{
     width: 160px;
     max-height: 400px;
 }
-.levelList{
+.levelList,.checkList{
     width: 120px;
     // height: 200px;
     li:hover{
@@ -193,7 +193,7 @@ table{
         cursor: pointer;
     }
 }
-.selectLevel,.selectDept{
+.selectLevel,.selectDept,.selectCheck{
     display: inline-block;
     position: relative;
     width:120px;

+ 5 - 5
src/css/qcListCopy.less

@@ -43,7 +43,7 @@ h2{
         cursor: default;
     }
 }
-table{
+.qctable{
     .table;
     min-width: 1090px;
     th,td{
@@ -136,7 +136,7 @@ table{
 }
 .filter-toggler{
     position: absolute;
-    left: 1008px;
+    left: 1048px;
     top: 8px;
     color: #777;
     white-space: nowrap;
@@ -155,7 +155,7 @@ table{
     float: left;
     height: 40px;
     line-height: 40px;
-    margin: 0 20px 10px 0;
+    margin: 0 20px 20px 0;
     span{
         display: inline-block;
         line-height: 32px;
@@ -198,7 +198,7 @@ table{
     width: 160px;
     max-height: 400px;
 }
-.levelList{
+.levelList,.checkList{
     width: 120px;
     // height: 200px;
     li:hover{
@@ -206,7 +206,7 @@ table{
         cursor: pointer;
     }
 }
-.selectLevel,.selectDept{
+.selectLevel,.selectDept,.selectCheck{
     display: inline-block;
     position: relative;
     width:120px;

+ 4 - 4
src/css/qcListDept.less

@@ -25,7 +25,7 @@ h2{
     min-height: calc(100% - 84px);
     /*width: 100%;*/
 }
-table{
+.qctable{
     .table;
     min-width: 1090px;
     th,td{
@@ -116,7 +116,7 @@ table{
 }
 .filter-toggler{
     position: absolute;
-    left: 1008px;
+    left: 1048px;
     top: 8px;
     color: #777;
     white-space: nowrap;
@@ -178,7 +178,7 @@ table{
     width: 160px;
     max-height: 400px;
 }
-.levelList{
+.levelList,.checkList{
     width: 120px;
     // height: 200px;
     li:hover{
@@ -187,7 +187,7 @@ table{
     }
 }
 
-.selectLevel,.selectDept{
+.selectLevel,.selectDept,.selectCheck{
     display: inline-block;
     position: relative;
     width:120px;

+ 5 - 5
src/css/qcListDocteam.less

@@ -25,7 +25,7 @@ h2{
     min-height: calc(100% - 84px);
     /*width: 100%;*/
 }
-table{
+.qctable{
     .table;
     min-width: 1090px;
     th,td{
@@ -114,7 +114,7 @@ table{
 }
 .filter-toggler{
     position: absolute;
-    left: 788px;
+    left: 816px;
     top: 8px;
     color: #777;
     white-space: nowrap;
@@ -133,7 +133,7 @@ table{
     float: left;
     height: 40px;
     line-height: 40px;
-    margin: 0 20px 10px 0;
+    margin: 0 20px 20px 0;
     span{
         display: inline-block;
         line-height: 32px;
@@ -176,7 +176,7 @@ table{
     width: 160px;
     max-height: 400px;
 }
-.levelList{
+.levelList,.checkList{
     width: 120px;
     // height: 200px;
     li:hover{
@@ -185,7 +185,7 @@ table{
     }
 }
 
-.selectLevel,.selectDept{
+.selectLevel,.selectDept,.selectCheck{
     display: inline-block;
     position: relative;
     width:120px;

+ 372 - 0
src/css/qcListOutHospital.less

@@ -0,0 +1,372 @@
+@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;
+    min-width: 1080px;
+}
+.overAuto{
+    display: table;
+    padding-right: 20px;
+    width: 100%;
+}
+.toggle-item{
+    display: block;
+}
+.filter-toggler{
+    position: absolute;
+    left: 1077px;
+    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,.leaveHosTypeList {
+    width: 120px;
+    // height: 200px;
+    li:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+}
+.leaveHosTypeList{
+    width: 150px;
+    max-height: 300px;
+}
+.selectLevel,.selectDept,.selectCheck,.selectLeaveHosType{
+    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;
+}
+.selectLeaveHosType{
+    width: 150px;
+}
+
+.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;
+}
+
+
+
+
+

+ 4 - 4
src/css/qcListPerson.less

@@ -25,7 +25,7 @@ h2{
     min-height: calc(100% - 84px);
     /*width: 100%;*/
 }
-table{
+.qctable{
     .table;
     min-width: 1090px;
     border:1px solid #E2E5EF;
@@ -119,7 +119,7 @@ table{
 }
 .filter-toggler{
     position: absolute;
-    left: 1008px;
+    left: 980px;
     top: 8px;
     color: #777;
     white-space: nowrap;
@@ -181,7 +181,7 @@ table{
     width: 160px;
     max-height: 400px;
 }
-.levelList{
+.levelList,.checkList{
     width: 120px;
     // height: 200px;
     li:hover{
@@ -189,7 +189,7 @@ table{
         cursor: pointer;
     }
 }
-.selectLevel,.selectDept,.selectDoctor{
+.selectLevel,.selectDept,.selectDoctor,.selectCheck{
     display: inline-block;
     position: relative;
     width:120px;

+ 70 - 0
src/css/qcScore.less

@@ -25,11 +25,26 @@
   border-bottom: 10px #EFF1F6 solid;
   text-align: center;
   /*margin-bottom: 20px;*/
+  padding-right: 80px;
   span{
     color: #333;
     margin-right: 40px;
     display: inline-block;
   }
+  .check{
+    display: inline-block;
+    padding: 0px 13px;
+    background: #00A1FF;
+    color:#fff;
+    border-radius: 4px;
+    height: 30px;
+    line-height: 30px;
+    position: absolute;
+    right: 0;
+    top: 10px;
+    margin-right: 25px;
+    cursor: pointer;
+  }
 }
 .sub-menu{
   position: relative;
@@ -212,6 +227,16 @@
       //  left: 56px;
       //  top: 4px;
       }
+      .arrow-left{
+        content: "";
+        display: inline-block;
+        width: 8px;
+        height: 32px;
+        background: url("../images/ar.png") no-repeat;
+        position: relative;
+        left: 56px;
+        top: 4px; 
+      }
       ul{
         display: block;
       }
@@ -237,6 +262,7 @@
         // position: absolute;
         // left: -8px;
       }
+     
       li{
         height: 40px;
         line-height: 40px;
@@ -455,6 +481,7 @@
     margin-right: 10px;
     position: relative;
     background: #fff;
+    display: none;
     .flaw-title{
       position: absolute;
       top:0;
@@ -550,6 +577,23 @@
     color: #aaa;
   }
 }
+.empty2{
+  margin-top: 60px;
+  text-align: center;
+  height: 170px;
+  td{
+    width: 100%;
+  }
+  img{
+    width: 86px;
+  }
+  p{
+    // margin-top: 15px;
+    font-size: 12px;
+    text-indent: 10px;
+    color: #aaa;
+  }
+}
 .edit-box{
   p{
     margin-bottom: 10px;
@@ -824,4 +868,30 @@
   color: #FF4D4F;
   border-color: #FF4D4F;
   margin-right: 16px;
+}
+.checkTipsBox{
+  width:184px;
+  height:112px;
+}
+.checkImg{
+  width: 40px;
+  position: relative;
+  top: 20px;
+  left: 50%;
+  margin-left: -20px;
+}
+.checkTxt{
+  color: #fff;
+  top: 10px;
+  margin-top: 10px;
+  text-align: center;
+  position: relative;
+  width: 100%;
+  opacity: .5;
+}
+.liExtend{
+  position: absolute;
+  left: -3px;
+  width: 3px;
+  height: 100%;
 }

+ 75 - 0
src/html/checkControl.html

@@ -0,0 +1,75 @@
+<!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 checkControl">
+        <div class="partTitle">
+          <p><a href="console.html">控制台 / </a>质控核查统计</p>
+          <!-- <div class="monthYear">
+            <span class="mon">本月</span>
+            <span class="year">本年</span>
+          </div>  -->
+          <div class="dateDetail fr">
+            
+          </div>
+        </div>
+        <div class="partTitleT"></div>
+        <div class="main-body">
+            <div class="filterBox clearfix">
+                <span class="filterItem typeFilter">
+                    <span>科室名称:</span>
+                    <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入科室名称">
+                </span>
+                <!-- <span class="filterItem typeFilter deptListWrap">
+                    <span>合格率:</span>
+                    <span class="selectDept" data-id="">全部</span>
+                    <ul class="deptList filterDropList">
+                        <li class="deptItem ellipsis" title="全部" data-id="" data-name="全部">全部</li>
+                        <li class="deptItem ellipsis" title="合格" data-id="合格" data-name="合格">合格</li>
+                        <li class="deptItem ellipsis" title="不合格" data-id="不合格" data-name="不合格">不合格</li>
+                    </ul>
+                </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>
+            <div>
+                <table>
+                    <thead>
+                        <th class="moduleName" style="width: 65px;">序号</th>
+                        <th class="beHospitalId textCenter" code="deptName">科室名称</th>
+                        <th class="beHospitalId textCenter" code="mrNum">质控总数</th>
+                        <th class="beHospitalId textCenter" code="checkedNum">核查数量</th>
+                        <th class="beHospitalId textCenter" code="improveNum">已改善数量</th>
+                        <th class="beHospitalId textCenter" code="improvePercentStr">改善率</th>
+                        <th class="beHospitalId textCenter" code="improveToPassNum">改善至合格数量</th>
+                        <th class="beHospitalId textCenter" code="improveToPassPercentStr">改善至合格率</th>
+                        <th class="beHospitalId textCenter" code="improveToFullNum">改善至满分数量</th>
+                        <th class="beHospitalId textCenter" code="improveToFullPercentStr">改善至满分率</th>
+                    </thead>
+                    <tbody class="tbody">
+
+                    </tbody>
+                </table>
+            </div>
+
+            <div class="pagination"></div>
+        </div>
+        
+    </div>
+</body>
+
+</html>

+ 35 - 13
src/html/console.html

@@ -31,24 +31,32 @@
               <div class="partWrap clearfix ">
                 
                   <div class="part01 fl">
-                    <p class="partTitlePub clearfix" style="cursor: default;">
+                    <p class="partTitlePub clearfix" style="cursor: default;" data-type="0">
                       <span class="name">出院人数统计</span>
                       <span class="personNum">总人数:</span>
                     </p>
                     <div class="chuyuan">
                       <ul class="clearfix" style="cursor: default;">
-                        <li>
+                        <li class="topLis chuyuannum" data-type="1">
                           <p class="numShow died"></p>
                           <p class="explainNum">死亡人数</p>
                         </li>
-                        <li class="li02">
+                        <li class="li02 topLis chuyuannum" data-type="2">
                           <p class="numShow newborn"></p>
                           <p class="explainNum">新生儿患者</p>
                         </li>
-                        <li class="li03">
+                        <li class="li03 topLis chuyuannum" data-type="3">
                           <p class="numShow patientNum"></p>
                           <p class="explainNum">手术病人数</p>
                         </li>
+                        <li class="li04 chuyuannum" data-type="4">
+                          <p class="numShow goAwayNum"></p>
+                          <p class="explainNum">非医嘱离院病人数</p>
+                        </li>
+                        <li class="li04 li04again" data-type="5">
+                          <p class="numShow againNum"></p>
+                          <p class="explainNum">31日再入院病人数</p>
+                        </li>
                       </ul>
                     </div>
                     <div class="chuyuanEmpty"></div>
@@ -136,17 +144,31 @@
                     <p class="partTitlePub clearfix">
                       <span class="name">病案首页合格率占比</span> <img class="detailGo" src="../images/details.png" alt="">
                     </p>
-                    <div class="toggleSlide">
-                      <p><span>合格率</span><img src="../images/arrow_down1.png" alt=""> </p>
-                      <ul>
-                        <li class="toggleAverge toggleSlide1" data-str="合格率" data-level="合格率" data-type="7">合格率</li>
-                        <li class="toggleAverge toggleSlide2" data-str="完整率" data-level="完整率" data-type="8">完整率</li>
-                        <li class="toggleAverge toggleSlide2" data-str="完善率" data-level="完善率" data-type="9">完善率</li>
-                      </ul>
-                    </div>
-                    <div class="barChartLineBox">
+                    <!-- <div class="barChartLineBox">
                       <div id="lineChart" class="barChartLine"></div>
                       <div class="barChartLineEmpty"></div>
+                    </div> -->
+                    
+                    <div class="bldjss">
+                      <div class="bingliLis clearfix">
+                        <div class="panPartPub panPart02 binganhome" data-level="合格率">
+                          <div class="fen" id="fen05"></div>
+                          <p>合格率</p>
+                        </div>
+                        <div class="panPartPub panPart01 binganhome" data-level="完整率">
+                          <div class="fen" id="fen06"></div>
+                          <p>完整率</p>
+                        </div>
+                        <div class="panPartPub panPart03 binganhomend" data-level="改善率">
+                          <div class="fen" id="fen07"></div>
+                          <p>改善率</p>
+                        </div>
+                      </div>
+                    </div>
+                    <div class="binganshouye">
+                      <div class="binganshouyeEmpty">
+            
+                      </div>
                     </div>
                     <div class="circle clearfix">
                       <p class="title">单项否决占比 <img class="detailGo" src="../images/details.png" alt=""></p>

+ 14 - 5
src/html/qcList.html

@@ -23,7 +23,7 @@
 
                         <ul class="deptList filterDropList"></ul>
                     </span>
-                    <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                    <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>
@@ -59,13 +59,22 @@
                         <input class="doctorInp" type="text" placeholder="请输入医生姓名">
                     </span>
                     <span class="filterItem doctorFilter">
-                    <span>医生工号:</span>
-                    <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
-                </span>
+                        <span>医生工号:</span>
+                        <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
+                    </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>
+                <table class="qctable">
                     <thead>
                     <tr class="tabOpera">
                         <!-- <td colspan="18" style="background: #fff">

+ 11 - 2
src/html/qcListCopy.html

@@ -26,7 +26,7 @@
 
                         <ul class="deptList filterDropList"></ul>
                     </span>
-                    <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                    <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>
@@ -72,10 +72,19 @@
                         </span>
                         <!-- <input class="doctorInp" type="text" placeholder="请输入医生姓名"> -->
                     </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>
+                <table class="qctable">
                     <thead>
                     <tr class="tabOpera">
                         <!-- <td colspan="18" style="background: #fff">

+ 11 - 2
src/html/qcListDept.html

@@ -23,7 +23,7 @@
 
                         <ul class="deptList filterDropList"></ul>
                     </span>
-                    <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                    <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>
@@ -62,10 +62,19 @@
                         <span>医生工号:</span>
                         <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
                     </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>
+                <table class="qctable">
                     <thead>
                         <tr class="tabOpera">
                             <!-- <td colspan="18" style="background: #fff">

+ 11 - 2
src/html/qcListDocteam.html

@@ -15,7 +15,7 @@
         <div class="main-body">
             <div class="filterBox">
                 <div class="clearfix">
-                    <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                    <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>
@@ -54,10 +54,19 @@
                         <span>医生工号:</span>
                         <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
                     </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>
+                <table class="qctable">
                     <thead>
                         <tr class="tabOpera">
                             <!-- <td colspan="18" style="background: #fff">

+ 152 - 0
src/html/qcListOutHospital.html

@@ -0,0 +1,152 @@
+<!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 qcListOutHospital">
+        <!-- <h2>质控评分</h2>控制台 / 条目缺陷占比 / 缺陷详情 -->
+        <div class="partTitle">
+            <p class="titlePic"></p>
+          </div>
+        <div class="main-body">
+            <div class="filterBox">
+                <div class="clearfix">
+                    <span class="filterItem">
+                        <span>出院人数:</span>
+                        <span class="selectLeaveHosType">全部</span>
+                        <ul class="leaveHosTypeList filterDropList">
+                            <Li class="leaveHosTypeItem" data-name="全部" data-id="全部">全部</Li>
+                            <Li class="leaveHosTypeItem" data-name="死亡人数" data-id="1">死亡人数</Li>
+                            <Li class="leaveHosTypeItem" data-name="新生儿患者" data-id="2">新生儿患者</Li>
+                            <li class="leaveHosTypeItem" data-name="手术病人数" data-id="3">手术病人数</li>
+                            <li class="leaveHosTypeItem" data-name="非医嘱离院病人数" data-id="4">非医嘱离院病人数</li>
+                            <!-- <li class="leaveHosTypeItem" data-name="31日再入院病人人数" data-id="5">31日再入院病人人数</li> -->
+                        </ul>
+                    </span>
+                    <span class="filterItem typeFilter deptListWrap">
+                        <span>科室:</span>
+                        <span class="selectDept">
+                            全部
+                        </span>
+
+                        <ul class="deptList filterDropList"></ul>
+                    </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="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">
+                        <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="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">
+                        <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="textCenter" ></th>
+                        <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th>
+                        <th class="beHospitalId textCenter" code="behospital_code">病人住院序号</th>
+                        <th class="patientNo textCenter" code="file_code">病案号</th>
+                        <th class="patientName textCenter" code="name" style="width: 100px;">病人姓名</th>
+                        <th class="patientSex textCenter" code="sex">性别</th>
+                        <th class="patientage textCenter" code="age">年龄</th>
+                        <th class="bedNum textCenter" code="bed_code">床号</th>
+                        <th class="inHospitalDate textCenter" code="behospital_date">入院日期</th>
+                        <th class="outHospitalDate textCenter desc" code="leave_hospital_date">出院日期</th>
+                        <th class="diagnose textCenter" code="diagnose">主诊断</th>
+                        <th class="doctorName textCenter" code="beh_doctor_name">住院医生</th>
+                        <th class="doctorName textCenter" code="doctor_name">主管医生</th>
+                        <th class="doctorName textCenter" code="director_doctor_name">主任医生</th>
+                        <th class="deptName textCenter" code="beh_dept_name">科室</th>
+                        <th class="recordLevel textCenter" code="level">病历等级</th>
+                        <th class="recordScore textCenter" code="score_res">病历得分</th>
+                        <th class="scoreTime textCenter" code="grade_time">评分时间</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>

+ 11 - 2
src/html/qcListPerson.html

@@ -22,7 +22,7 @@
                     </span>
                     <ul class="deptList filterDropList"></ul>
                 </span>
-                 <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                 <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>
@@ -59,10 +59,19 @@
                     </span>
                     <!-- <input class="doctorInp" type="text" placeholder="请输入医生姓名"> -->
                 </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>
+                <table class="qctable">
                     <thead>
                         <tr class="tabOpera">
                             <!-- <td colspan="18" style="background: #fff">

+ 14 - 2
src/html/qcScore.html

@@ -22,13 +22,15 @@
     <script type="text/html" id="miniMenuTmpl">
         {{if sonMode.length}}
         <li class="list-1  menu-${id}">
+            <div class="arrow-left"></div>
             {{else}}
         <li class="page  menu-${id}" code="${name}">
             {{/if}}
             {{if sonMode.length}}
-            <ul>
+            <ul> 
+                <div class="liExtend"></div>
                 {{each sonMode}}
-                <li class="page" code="${name.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g,'')}">${name}</li>
+                    <li class="page" code="${name.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g,'')}">${name}</li>
                 {{/each}}
             </ul>
             {{/if}}
@@ -42,6 +44,9 @@
         <span>科室:${behDeptName}</span>
         <span class="level">病历等级:${level}</span>
         <span class="score">病历得分:${scoreRes}</span>
+        {{if hasCheck}}
+        <span class="check">${checkState===1 ? "重新核查" : "核查"}</span>
+        {{/if}}
     </script>
     <script type="text/html" id="tableTmpl">
          {{if k==="出院诊断"}}
@@ -242,6 +247,13 @@
                 </tr>
                 </thead>
                 <tbody>
+                    {{if JSON.stringify(data) == "{}"}}
+                    <tr class="empty2">
+                        <td colspan="3" class=""> 
+                            <img src="../images/empty1.png" alt="空"/>
+                            <p>暂无数据~</p></td>
+                    </tr>
+                    {{/if}}
                 {{each(i,val) data}}
                 <tr><td colspan="3" class="slide-up">${i}</td></tr>
                 {{each val}}

BIN
src/images/checkOk.png


+ 7 - 0
src/js/api.js

@@ -67,6 +67,7 @@ const api = {
     levelPercentGroupByDeptPage:'/console/levelPercentGroupByDeptPage',//甲级科室缺陷占比排行(分页)台州
     homePageLevelStatistics:'/console/homePageLevelStatistics',//病案首页合格率占比
     homePageLevelLimit:'/console/homePageLevelLimit',//病案首页合格率占比
+    homePageMRCount:'/console/homePageMRCount',//病案首页统计
     homePageLevelByDeptLimit:'/consoleByDept/homePageLevelStatisticsByDept',//病案首页合格率占比keshi详情
     homePageLevelStatisticsByDept:'/consoleByDept/homePageLevelByDeptLimit',//病案首页合格率占比(科室)-内页
     levelStatisticsByDept:'/consoleByDept/levelStatisticsByDept',//科室缺陷占比排行
@@ -92,6 +93,9 @@ const api = {
     qcResultShortByDeptPage:'/consoleByDept/qcResultShortByDeptPage',//条目缺陷质控评分(科室)
     getQcListPageSet:'/sys/user/pageset/getPageSet',
     saveQcListPageSet:'/sys/user/pageset/savePageSet',
+    checkQc:'/qc/medCheckInfo/addMedCheckInfo', //核查病历
+    leaveHosMRPage:'/console/leaveHosMRPage', //出院人数统计详情
+    
 
     //导出接口
     getAverageDayNumExport:'/console/export/getAverageDayNumExport',//科室平均住院天数
@@ -101,6 +105,9 @@ const api = {
     entryStatisticsExport:'/console/export/entryStatisticsExport',//关键条目缺陷占比
     entryCountGroupByCaseExport:'/console/export/entryCountGroupByCaseExport',//各模块缺陷占比导出
     qcResultShortPageExport:'/console/export/qcResultShortPageExport',//关键条目占比详情,条目缺陷占比详情导出
+    leaveHosMrPageExport:'/console/export/leaveHosMrPageExport', //出院人数导出
+    qcCheckStatistics:'/console/qcCheckStatistics',//质控核查统计
+    qcCheckStatisticsExport:'/console/export/qcCheckStatisticsExport',//质控核查统计导出
 }
 module.exports = {
     api

+ 574 - 0
src/js/checkControl.js

@@ -0,0 +1,574 @@
+const $ = require('jquery');
+require("../css/checkControl.less");
+require('./modal.js');
+const {api} = require('./api.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,setTitleTxt,setDatePicker,getPickerDate,downloadExportedData,expJson,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")
+$(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,statisticsType="",
+  nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNum="",doctorNameTemp="",doctorNumTemp="",
+  data_desc="deptName",data_asc="";
+  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)||""
+//   data_desc = (lineType == "合格率")?"firstLevelPercent":(lineType=="完整率"?"emptyPercent":"errorPercent")
+  if(lineType){
+        $("th[code="+data_desc+"]").addClass("desc");
+  }
+  //setTitleTxt('',from)         //导航栏面包屑
+  if(statisticsType == 1){
+      $(".monthYear .mon").css({
+          backgroundColor:'#00A1FF',
+          color:'#fff'
+      }).siblings().css({
+          color:'#00A1FF',
+          backgroundColor:'#fff'
+      })
+      setDatePicker($("#datepicker"),$("#datepicker2"),1)
+  }else if(statisticsType == 2){
+      $(".monthYear .year").css({
+          backgroundColor:'#00A1FF',
+          color:'#fff'
+      }).siblings().css({
+          color:'#00A1FF',
+          backgroundColor:'#fff'
+      })
+      setDatePicker($("#datepicker"),$("#datepicker2"),2)
+  }else if(statisticsType == 3){
+    setDatePicker($("#datepicker"),$("#datepicker2"),3,new Date(startDateParam),new Date(endDateParam))
+  }else{
+    setDatePicker($("#datepicker"),$("#datepicker2"),'default')
+  }
+  if(!statisticsType){
+    setDatePicker($("#datepicker"),$("#datepicker2"),'default')
+  }
+$(".abnormalClear").click(function(){
+    data_desc=""
+    data_asc=""
+    setDatePicker($("#datepicker"),$("#datepicker2"),"default")
+    $(".patientNumInp").val("")
+    $("th[code]").removeClass("desc asc");
+    behospitalCode =behospitalCodeTemp= ""
+    getTabData(1)
+})
+$(".partTitle a").click(function(){
+    //初始菜单选中
+    $(".menu .page",parent.document).removeClass("active").eq(0).addClass("active");
+    $(".container",parent.document).addClass("console-cont");
+})
+
+$('.recordScoreBtn').css("opacity",hasData('FUNC000017')?'1':'0.5')
+dateChange()
+//所有数据切换日期筛选
+function dateChange(){
+    $(".monthYear .mon").click(function(){
+        $(this).css({
+            backgroundColor:'#00A1FF',
+            color:'#fff'
+        }).siblings().css({
+            color:'#00A1FF',
+            backgroundColor:'#fff'
+        })
+        $(".dayDetail .deptListWrap").css("display","block")
+        $(".dayDetail .dayFilter").css("display","none")
+        statisticsType = 1
+        setDatePicker($("#datepicker"),$("#datepicker2"),1)
+        getTabData(1)
+    })
+    $(".monthYear .year").click(function(){
+        $(this).css({
+            backgroundColor:'#00A1FF',
+            color:'#fff'
+        }).siblings().css({
+            color:'#00A1FF',
+            backgroundColor:'#fff'
+        })
+        $(".dayDetail .deptListWrap").css("display","none")
+        $(".dayDetail .dayFilter").css("display","block")
+        statisticsType = 2
+        setDatePicker($("#datepicker"),$("#datepicker2"),2)
+        getTabData(1)
+    })
+}
+//判断有无某一权限
+  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 = {
+        "level": deptId||"",
+        "name": behospitalCode||"",
+        "asc":data_asc,     //升序
+        "desc":data_desc,       //降序
+        "type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
+        "startDate":dateStatrt,
+        "endDate":dateEnd
+    }
+    startDateParam = dateStatrt
+    endDateParam = dateEnd
+    post(api.qcCheckStatistics,param).then(res =>{
+        if(res.data.code == '0'){
+            const data = res.data.data||[];
+            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){
+    name = nameTemp
+    behospitalCode = behospitalCodeTemp
+    level = levelTemp
+    deptId = deptIdTemp
+    getTabData(1)
+})
+function renderTab(data,hisId,activePage){
+    let str = ``
+    for(let i = 0; i < data.length; i++){
+        const item = data[i]
+        str += `
+            <tr  data-index=${i}>
+                <td class="textCenter">${(activePage-1)*15 + i+1}</td>
+                <td>${item.deptName || "-"}</td>
+                <td>${item.mrNum +''|| "-"}</td>
+                <td>${item.checkedNum+'' || "-"}</td>
+                <td>${item.improveNum+'' || "-"}</td>
+                <td>${item.improvePercentStr || "-"}</td>
+                <td>${item.improveToPassNum+'' || "-"}</td>
+                <td>${item.improveToPassPercentStr || "-"}</td>
+                <td>${item.improveToFullNum +''|| "-"}</td>
+                <td>${item.improveToFullPercentStr || "-"}</td>
+            </tr>
+        `
+    }
+    $('.tbody').html(str?str:emptyBox())
+    bindScoreDetail(hisId)
+    $(".goHomeDetail").click(function(){
+        let deptName = $(this).attr("data-dept")
+        let ruleType = $(this).attr("data-ruleType")
+        $(parent.document).find("#contentIframe").attr("src","quexianDetailControlHome.html?deptName="+deptName+"&from=1&casesId=243"+"&shijian=3"+"&ruleType="+ruleType+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
+    })
+
+    // initScroll("partDetailControl","YX",1)
+}
+
+function scoreDetail(id,age,hid,code){
+    window.open(`./qcScore.html?id=${id}&age=${age}&hid=${hid}&code=${code}`)
+}
+function bindScoreDetail(hisId){
+    $('.patientNameSpan').on('click',function(e){
+        const index = $(this).attr("data-index")
+        const type = $(this).attr("data-type")
+        const item = tabList[index]
+        midifyMsgBox(item,type)
+    })
+}
+
+  
+function midifyMsgBox(item,type){
+    const itemCopy = JSON.parse(JSON.stringify(item))
+    let msgBox = ''
+    if(type == 1){
+        msgBox = `<div class="midifyMsgBox">
+            <div class="mask"></div>
+            <div class="midifyMsgContent abnormal">
+                <p class="midifyMsgTitle">修改 <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></p>
+                <div class="itemMsgInfoBox">
+                    <span class="itemMsgLab abnormalLeft">状态:</span> 
+                    <span class="abnormalAll" data-status="${itemCopy.status}">${itemCopy.status == 0?"未处理":"已处理"}</span>
+                    <ul class="abnormalStatusLis">
+                        <li data-status="0">未处理</li>
+                        <li data-status="1">已处理</li>
+                    </ul>
+                </div>
+                <div class="itemMsgInfoBox">
+                    <span class="itemMsgLab abnormalLeft abnormalMark">备注:</span> 
+                    <span class="itemInfoRight"> 
+                        <textarea class="abnormalTxt" placeholder="请输入内容" >${itemCopy.remark}</textarea>
+                    </span>
+                </div>
+                <div  class="itemMsgInfoTips">支持≥0的数字输入,最多保留小数点后1位~</div>
+                <div class="midifyMsgBtn abnormalBtn">
+                    <span class="midifyEdit">保存</span>
+                </div>
+            </div>
+        </div>`
+    }else{
+        msgBox = `<div class="midifyMsgBox">
+            <div class="mask"></div>
+            <div class="midifyMsgContent midifyMsgContentDel">
+                <p class="midifyMsgTitle">修改 <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></p>
+                <p class="delTips">确认要删除该条异常记录?</p>
+                <div class="midifyMsgBtn midifyMsgBtnDel">
+                    <span class="midifyEdit midifyEditDel">删除</span>
+                    <span class="midifyEdit midifyEditQuit">取消</span>
+                </div>
+            </div>
+        </div>`
+    }
+    $("#mainBox", parent.document).append(msgBox)
+    $(".midifyEditDel", parent.document).on("click",function(){
+        delModifyOne(itemCopy)
+    })
+    $(".midifyEditQuit", parent.document).on("click",function(){
+        $("#mainBox .midifyMsgBox", parent.document).remove()
+    })
+    $(".abnormalAll", parent.document).on("click",function(){
+        $(".abnormalStatusLis", parent.document).slideToggle()
+    })
+    $(".abnormalStatusLis li", parent.document).on("click",function(){
+        let status = $(this).attr("data-status")
+        let str = $(this).html()
+        $(".abnormalAll", parent.document).attr("data-status",status).html(str)
+        $(".abnormalStatusLis", parent.document).slideToggle()
+    })
+    $("#mainBox .midifyMsgBox .iconClose", parent.document).on("click", function(e){
+        $("#mainBox .midifyMsgBox", parent.document).remove()
+    })
+    $("#mainBox .midifyMsgBox .itemScore", parent.document).on("keypress", function(event){
+        return (/[\d\.]/.test(String.fromCharCode(event.keyCode)))
+     })
+    $("#mainBox .midifyMsgBox .itemScore", parent.document).on("input", function(e){
+       const val = $(this).val() 
+       itemCopy.score = val
+    })
+    $("#mainBox .midifyMsgBox .midifyEdit", parent.document).on("click", function(e){
+        saveModifyOne(itemCopy)
+    })
+}
+//保存修改
+function delModifyOne(itemCopy){
+    let param = {
+        "id": itemCopy.id
+    }
+    post(api.delQcAnnormal,param).then(res =>{
+        if(res.data.code == '0'){
+            const data = res.data.data;
+            getTabData(1)
+            $("#mainBox .midifyMsgBox", parent.document).remove()
+            $.alerModal({"message":'删除成功',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+        }else{
+            
+        }
+    }).catch((e) =>{
+    
+    })
+}
+//保存修改
+function saveModifyOne(itemCopy){
+    let txt = $(".abnormalTxt", parent.document).val()
+    let status = $(".abnormalAll", parent.document).attr("data-status")
+    let param = {
+        "id": itemCopy.id,
+        "remark": txt,
+        "status": status
+    }
+    post(api.saveQcAnnormal,param).then(res =>{
+        if(res.data.code == '0'){
+            const data = res.data.data;
+            getTabData(1)
+            $("#mainBox .midifyMsgBox", parent.document).remove()
+            $.alerModal({"message":'修改成功',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+        }else{
+            
+        }
+    }).catch((e) =>{
+    
+    })
+}
+//选择病历等级
+$('.selectLevel').on("click", function(e){
+    e.stopPropagation()
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+    const showList =  $(".levelList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".levelList ").css("display","block")
+        $(".selectLevel .arrow").attr("src",iconUp)
+    }else{
+        $(".levelList ").css("display", "none")
+        $(".selectLevel .arrow").attr("src",iconDown)
+    }
+})
+
+bindLeveldSelect()
+//是否启用选择
+function bindLeveldSelect(){
+    $('.levelItem').on("click",function(){
+        const levelItemName = $(this).attr("data-name")
+        const levelItemItemId = $(this).attr("data-id")
+        levelTemp =levelItemItemId
+        $('.selectLevel').html(levelItemName)
+        $(".levelList").css("display", "none")
+        $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    })
+}
+
+//全选绑定
+
+$('.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)
+    }
+})
+
+
+function rendeDeptList(deptList){
+    let str = `<li class="deptItem " 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
+        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")
+    })
+}
+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()
+}
+$('.recordScoreBtn').on("click",function(e){
+    if(!hasData('FUNC000017')){
+        return
+    }
+    let scoreList = []
+    for(let i = 0; i <tabList.length; i++){
+        if(tabList[i].hasSelect){
+            scoreList.push(tabList[i].behospitalCode)
+        }
+    }
+    if(scoreList.length === 0){
+        $.alerModal({"message":'请选择要评分的项!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+        return
+    } else{
+        loading()
+        for(let j = 0; j < scoreList.length; j++){
+            recordScore(scoreList[j],scoreList.length)
+        }
+    }
+})
+$("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 recordScore(behospitalCode,totalNum){
+    const param = {
+        behospitalCode: behospitalCode
+    }
+    post(api.recordScore,param).then(res =>{
+        if(res.data.code == '0'){
+            scoreSum++
+            if(scoreSum === totalNum){
+                hideLoading()
+                scoreSum = 0
+                const activePage = $(".activePage").attr('data-page') || 1
+
+                getTabData(activePage)
+            }
+      
+        }else{}
+    }).catch((e) =>{
+    
+    })
+}
+$(".patientNumInp").on("input", function(e){
+    const val = $(this).val().trim()
+    behospitalCodeTemp = val
+})
+$(".patientNameInp").on("input", function(e){
+    const val = $(this).val().trim()
+    nameTemp = val
+})
+$(".doctorInp").on("input", function(e){
+    const val = $(this).val().trim()
+    doctorNameTemp = val
+})
+$(".doctorNumInp").on("input", function(e){
+  const val = $(this).val().trim();
+    doctorNumTemp = val
+})
+
+//分页渲染
+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(){
+    $(".levelList ").css("display", "none")
+    $(".deptList").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+})
+
+
+$(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 = {
+        "level": deptId||"",
+        "name": behospitalCode||"",
+        "asc":data_asc,     //升序
+        "desc":data_desc,       //降序
+        "type": statisticsType||2, //1-本月,2-本年
+        "startDate":startDateParam,
+        "endDate":endDateParam
+        }
+        expJson(api.qcCheckStatisticsExport,param).then(res =>{
+        downloadExportedData(res.data,"质控核查统计.xls")
+        })
+
+    })
+});

+ 128 - 27
src/js/console.js

@@ -14,7 +14,7 @@ require('./../resource/jquery-ui/jquery-ui.min.js');
 require('./../resource/jquery-ui/jquery-ui.min.css');
 const {post,setCookie,delCookie,getCookie,focusMenuItem,picEmptyData, initScroll} = require('../js/utils.js');
 const { get } = require('jquery');
-let payMoney = [],behosDateStart="",ownSelectDate='',behosDateEnd="",dayLis = [],dateType = 2,slideType = 1,hospital=getCookie("hospital"),deptType="内科",deptId="",level="甲",lineType="合格率",lineType1=[],lineType2=[],lineType3=[],lineType4=[];
+let payMoney = [],behosDateStart="",ownSelectDate='',behosDateEnd="",dayLis = [],dateType = 2,slideType = 1,hospital=getCookie("hospital"),deptType="内科",deptId="",level="甲",lineType="all",lineType1=[],lineType2=[],lineType3=[],lineType4=[];
 
 $(function(){
     if(!hasData('YH-KZT')){
@@ -110,10 +110,10 @@ $(function(){
         }
     })
     $(".part02").on("mouseenter",".bingli li.sec",function(){
-      $(this).find(".explainNum").css("color","#00A1FF")
+      $(this).find(".numShow").css("color","#00A1FF")
     })
     $(".part02").on("mouseleave",".bingli li.sec",function(){
-      $(this).find(".explainNum").css("color","#A5ADBF")
+      $(this).find(".numShow").css("color","#E9EBEF")
     })
     // getEveryDeptLevel()
 })
@@ -145,7 +145,6 @@ function getDetails(dateType){
         //     $(parent.document).find("#contentIframe").attr("src","./partDetailControl.html?from=1&dateType="+dateType)
         // }
         focusMenuItem("YH-ZKK-BASYHGLZB_XQ");
-
         $(parent.document).find("#contentIframe").attr("src","./partDetailControl.html?from=1&dateType="+dateType+"&lineType="+lineType+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
     })
     $(".paymoney.pubEchart .title").click(function(){
@@ -178,6 +177,15 @@ function getDetails(dateType){
         focusMenuItem("YH-ZKK-TMQXZB_XQ");
         $(parent.document).find("#contentIframe").attr("src","singleVeto.html?from=1&shijian="+dateType+"&qxName="+deptName+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
     })
+    $(".binganhome").click(function(){
+        let binganhomelevel = $(this).attr("data-level")
+        focusMenuItem("YH-ZKK-BASYHGLZB_XQ");
+        $(parent.document).find("#contentIframe").attr("src","./partDetailControl.html?from=1&dateType="+dateType+"&lineType="+binganhomelevel+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
+    })
+    $(".binganhomend").click(function(){
+        focusMenuItem("YH-ZKK-ZKHCTJ");
+        $(parent.document).find("#contentIframe").attr("src","./checkControl.html?from=1&dateType=3"+"&lineType=1"+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
+    })
 }
 
 //判断有无某一权限
@@ -318,32 +326,61 @@ function getEveryDeptLevel(){
 }
 //病案首页合格率  firstLevelPercent emptyPercent  errorPercent
 function getHomeData(name){
-    if(hasData("FUNC000075")){
-        post(api.homePageLevelLimit,{//病案首页
+    // if(hasData("FUNC000075")){
+        // post(api.homePageLevelLimit,{//病案首页
+        //     "type": dateType||2,//1月2年
+        //     "startDate":behosDateStart,
+        //     "endDate":behosDateEnd,
+        //     "desc": name
+        // }).then((res)=>{
+        //     let data = res.data;
+        //     if(data.code == 0){
+        //         let result1 = data.data||[]
+        //         let dataX=[],dataY1=[],dataY2=[],dataY3=[]
+        //         for(let i = 0;i < result1.length;i++){
+        //             dataX.push(result1[i].deptName)
+        //             dataY1.push((result1[i].firstLevelPercentStr.replace('%','')-0))
+        //             dataY2.push((result1[i].emptyPercentStr.replace('%','')-0))
+        //             dataY3.push((result1[i].errorPercentStr.replace('%','')-0))
+        //         }
+        //         lineType4 = dataX
+        //         let datay = (lineType == "合格率")?dataY1:(lineType=="完整率"?dataY2:dataY3)
+        //         lineChartHome(dataX,datay)
+        //     }
+        // })
+        post(api.homePageMRCount,{//病案首页
             "type": dateType||2,//1月2年
             "startDate":behosDateStart,
             "endDate":behosDateEnd,
-            "desc": name
         }).then((res)=>{
             let data = res.data;
             if(data.code == 0){
                 let result1 = data.data||[]
-                let dataX=[],dataY1=[],dataY2=[],dataY3=[]
-                for(let i = 0;i < result1.length;i++){
-                    dataX.push(result1[i].deptName)
-                    dataY1.push((result1[i].firstLevelPercentStr.replace('%','')-0))
-                    dataY2.push((result1[i].emptyPercentStr.replace('%','')-0))
-                    dataY3.push((result1[i].errorPercentStr.replace('%','')-0))
+                let data1=result1['合格率'],data2=result1['完整率'],data3=result1['改善率'],tmp1=[],tmp2=[],tmp3=[]
+                if(data1&&data1.totleNum == 0){
+                    $(".binganshouye").css("display","block")
+                    $(".bldjss").css("display","none")
+                    picEmptyData(".binganshouyeEmpty")
+                    return
+                }else{
+                    $(".bldjss").css("display","block")
+                    $(".binganshouye").css("display","none")
                 }
-                // lineType1 = dataY1.sort(function(a, b){return b - a})
-                // lineType2 = dataY2.sort(function(a, b){return b - a})
-                // lineType3 = dataY3.sort(function(a, b){return b - a})
-                lineType4 = dataX
-                let datay = (lineType == "合格率")?dataY1:(lineType=="完整率"?dataY2:dataY3)
-                lineChartHome(dataX,datay)
+                data1.value = data1.num
+                tmp1.push(data1)
+                tmp1.push({percentStr:(1-data1.percent)*100+'%',value:data1.totleNum - data1.num})
+                part03pan(tmp1,'fen05')
+                data2.value = data2.num
+                tmp2.push(data2)
+                tmp2.push({percentStr:(1-data2.percent)*100+'%',value:data2.totleNum - data2.num})
+                part03pan(tmp2,'fen06')
+                data3.value = data3.num
+                tmp3.push(data3)
+                tmp3.push({percentStr:(1-data3.percent)*100+'%',value:data3.totleNum - data3.num})
+                part03pan(tmp3,'fen07')
             }
         })
-    }
+    // }
 }
 //获取图表数据
 function getBarData(type){
@@ -515,10 +552,19 @@ function personNum(data){
         $(".chuyuanEmpty").css("display","none")
         $(".chuyuan,.personNum").css("display","block")
     }
-    $(".personNum").html("总人数:"+data['总人数'])
-    $(".died").html(data['死亡人数'])
-    $(".newborn").html(data['新生儿人数'])
-    $(".patientNum").html(data['手术病人数'])
+    $(".personNum").html("总人数:"+data['总人数']).parent(".chuyuannum").attr("data-num",'全部')
+    $(".died").html(data['死亡人数']).parent(".chuyuannum").attr("data-num",'死亡人数')
+    $(".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日再入院病人数')
+    $(".chuyuannum").click(function(){
+        let chuyuantype = $(this).attr("data-type")
+        let chuyuannum = $(this).attr("data-num")
+        focusMenuItem("YH-ZKK-CYRSTJ");
+        $(parent.document).find("#contentIframe").attr("src","qcListOutHospital.html?from=1&shijian=3"+"&outNum="+chuyuannum+"&outNumType="+chuyuantype+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
+    
+    })
 }
 //part02
 function setNumDetail(data){
@@ -531,7 +577,6 @@ function setNumDetail(data){
     }else{
         $(".bldjs").css("display","block")
         $(".pingfendengji").css("display","none")
-
     }
     let str = ''
     for(let i = 0;i < data.length;i++){
@@ -621,6 +666,62 @@ function part02pan(data,dom){
     };      
     dom.setOption(option);
 }
+//part03pan
+function part03pan(data,dom){
+    // console.log(data,33333)
+    dom = echarts.init(document.getElementById(dom));
+    $(window).resize(function(){
+        dom.resize()
+    });
+    let bgColor = '#fff';
+    let title = '总量';
+    let color = ['#FF2B92','#4c5c82'];
+    let echartData = data;
+    option = {
+        //backgroundColor: bgColor,
+        color: color,
+        title: [{
+            text:'{val|' + echartData[0].percentStr + '}',
+            top: 'center',
+            left: 'center',
+            textStyle: {
+                rich: {
+                    val: {
+                        fontSize: 12,
+                        color: '#E9EBEF',
+                        /*fontWeight: 'bold',*/
+                        padding: [10, 0]
+                    },
+                    name: {
+                        fontSize: 12,
+                        fontWeight: 'normal',
+                        color: '#E9EBEF',
+                    }
+                }
+            }
+        }],
+        series: [{
+            name: '',
+            type: 'pie',
+            radius: ['65%', '95%'],
+            data: echartData,
+            hoverAnimation:true,
+            hoverOffset:3,
+            itemStyle: {
+              normal: {
+                borderColor: '#203463',
+                borderWidth: 3
+              }
+            },
+            label: {
+                normal: {
+                    show:false,
+                }
+            },
+        }]
+    };      
+    dom.setOption(option);
+}
 //折现图各科室甲级病历占比(长兴)
 function lineChart(dataX,dataY){
     if(dataX.length==0&&dataY.length==0){
@@ -1092,11 +1193,11 @@ function barChartPay(dataX,dataY){
 function barChartLevel(dataX,dataY){
     // console.log(dataX,dataY,7887878787)
     if(dataX.length==0&&dataY.length==0){
-        $("#barChart,.innerOuter").css("display","none")
+        $("#barChart,.toggleSlide").css("display","none")
         picEmptyData('.barChartPayEmpty')
         return
     }else{
-        $("#barChart").css("display","block")
+        $("#barChart,.toggleSlide").css("display","block")
         $(".barChartPayEmpty").css("display","none")
     }
     var myCharts = echarts.init(document.getElementById('barChart'));

+ 3 - 2
src/js/partDetailControl.js

@@ -16,14 +16,14 @@ $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,statisticsType="",
   nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNum="",doctorNameTemp="",doctorNumTemp="",
-  data_desc="",data_asc="";
+  data_desc="deptName",data_asc="";
   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)||""
-  data_desc = (lineType == "合格率")?"firstLevelPercent":(lineType=="完整率"?"emptyPercent":"errorPercent")
+  data_desc = (lineType == "合格率")?"firstLevelPercent":(lineType=="完整率"?"emptyPercent":"deptName")
   if(lineType){
         $("th[code="+data_desc+"]").addClass("desc");
   }
@@ -59,6 +59,7 @@ $(".abnormalClear").click(function(){
     data_asc=""
     setDatePicker($("#datepicker"),$("#datepicker2"),"default")
     $(".patientNumInp").val("")
+    $("th[code]").removeClass("desc asc");
     behospitalCode =behospitalCodeTemp= ""
     getTabData(1)
 })

+ 64 - 12
src/js/qcList.js

@@ -30,9 +30,10 @@ let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
 let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
 $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,
   nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNum="",doctorNameTemp="",doctorNumTemp="",
-  data_desc=["leave_hospital_date"],data_asc=[];
+  checkStatus="",checkStatusTemp="",data_desc=["leave_hospital_date"],data_asc=[];
 if(chengdu){
     levelTemp = chengdu
     level = chengdu
@@ -100,7 +101,8 @@ function getTabData(activePage){
         leaveHosDateStart: behosDateStart, //出院日期--开始时间
         leaveHosDateEnd: behosDateEnd, //出院日期--结束时间
         size: 15,
-        statisticsType:statisticsType
+        statisticsType:statisticsType,
+        checkStatus: checkStatus?Number(checkStatus):checkStatus, //核查状态
     }
     return post(api.qcList,param).then(res =>{
         if(res.data.code == '0'){
@@ -126,8 +128,8 @@ function getTabData(activePage){
 //getTabData(1)
 
 $(".filter").on("click", function(e){
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     const start = new Date(behosDateStart).getTime()
     const end = new Date(behosDateEnd).getTime()
     if(start > end){
@@ -147,6 +149,7 @@ $(".filter").on("click", function(e){
     deptId = deptIdTemp
     doctorName = doctorNameTemp
     doctorNum = doctorNumTemp
+    checkStatus = checkStatusTemp
     getTabData(1)
 })
 $(".abnormalClear").on("click", function(e){
@@ -164,7 +167,9 @@ $(".abnormalClear").on("click", function(e){
     doctorNum=""; 
     doctorNameTemp=""; 
     doctorNumTemp=""; 
-    data_desc=["leave_hospital_date"]
+    checkStatus="";
+    checkStatusTemp="";
+    data_desc=["leave_hospital_date"];
     data_asc=[];
     $('.patientNumInp').val('')
     $('.patientNameInp').val('')
@@ -192,10 +197,13 @@ $(".abnormalClear").on("click", function(e){
     $(".levelList").css("display", "none")
     $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     // $('.selectLevel ').addClass('unSelect')
+    $('.selectCheck').html('全部')
+    $(".checkList").css("display", "none")
+    $(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     $("th[code]").removeClass("asc desc")
     $(".leaveHospitalDate").addClass(" desc")
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     if(behosDateStart){
         behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
     }
@@ -224,7 +232,11 @@ function renderTab(data,hisId){
                 <td  class="recordScoreOperaBtn textCenter" style="opacity:${hasData('FUNC000017')?'1':'0.5'}">评分</td>`
         for(let j = 0; j < pageSet.length; j++){
             if(pageSet[j].status == 1){
-                str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] || "-"}<span></td>`
+                if(pageSet[j].val === "checkStatus"){
+                    str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] =="1"? "已核查" :item[pageSet[j].val] === 0 ? "未核查":"-"}<span></td>`
+                }else{
+                    str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] || "-"}<span></td>`
+                }
             }
         }
                 // <td >${item.behospitalCode || "-"}</td>
@@ -264,7 +276,7 @@ function renderTab(data,hisId){
 }
 
 function isTextCenter(name){
-    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime']
+    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime','checkStatus']
     return textCenterList.findIndex(item=> item==name) > -1
 }
 
@@ -277,6 +289,7 @@ function bindScoreDetail(hisId){
         const id = tabList[index].behospitalCode
         const age = tabList[index].age;
         const noScore = tabList[index].level == '未评分'
+        const checkStatus = tabList[index].checkStatus
         if(noScore){
             $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
             return
@@ -292,6 +305,8 @@ $('.selectLevel').on("click", function(e){
     e.stopPropagation()
     $(".deptList ").css("display", "none")
     $(".selectDept .arrow").attr("src",iconDown)
+    $(".checkList ").css("display", "none")
+    $(".selectCheck .arrow").attr("src",iconDown)
     const showList =  $(".levelList ").css("display")
     if(showList == "none" ||!showList){
         $(".levelList ").css("display","block")
@@ -302,8 +317,26 @@ $('.selectLevel').on("click", function(e){
     }
 })
 
+
+//选择核查状态
+$('.selectCheck').on("click", function(e){
+    e.stopPropagation()
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+    $(".levelList ").css("display","none")
+    $(".selectLevel .arrow").attr("src",iconDown)
+    const showList =  $(".checkList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".checkList ").css("display","block")
+        $(".selectCheck .arrow").attr("src",iconUp)
+    }else{
+        $(".checkList ").css("display", "none")
+        $(".selectCheck .arrow").attr("src",iconDown)
+    }
+})
+
 bindLeveldSelect()
-//是否启用选择
+//病历等级选择
 function bindLeveldSelect(){
     $('.levelItem').on("click",function(){
         const levelItemName = $(this).attr("data-name")
@@ -315,6 +348,19 @@ function bindLeveldSelect(){
         $('.selectLevel').removeClass('unSelect')
     })
 }
+bindCheckedSelect()
+//核查状态选择
+function bindCheckedSelect(){
+    $('.checkItem').on("click",function(){
+        const checkItemName = $(this).attr("data-name")
+        const checkItemItemId = $(this).attr("data-id")
+        checkStatusTemp =checkItemItemId
+        $('.selectCheck').html(checkItemName)
+        $(".checkList").css("display", "none")
+        $(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $('.selectCheck').removeClass('unSelect')
+    })
+}
 
 
 
@@ -357,6 +403,8 @@ $('.selectDept').on("click", function(e){
     e.stopPropagation()
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
+    $(".checkList ").css("display", "none")
+    $(".selectCheck .arrow").attr("src",iconDown)
     const showList =  $(".deptList ").css("display")
     if(showList == "none" ||!showList){
         $(".deptList ").css("display","block")
@@ -856,9 +904,10 @@ function renderPagination(totalPage,activePage,totalNum){
 $(document).on("click", function(){
     $(".levelList ").css("display", "none")
     $(".deptList").css("display", "none")
+    $(".checkList").css("display", "none")
     $(".selectDept .arrow").attr("src",iconDown)
     $(".selectLevel .arrow").attr("src",iconDown)
-    
+    $(".selectCheck .arrow").attr("src",iconDown)
 })
 $((function($){
 
@@ -872,10 +921,13 @@ $((function($){
             "deptId": deptId.trim(),
             "doctorCode":doctorNum,
             "doctorName": doctorName,
+            "asc":data_asc,     //升序
+            "desc":data_desc,       //降序
             "leaveHosDateEnd": behosDateEnd,
             "leaveHosDateStart": behosDateStart,
             "level": level,
-            "name": name
+            "name": name,
+            "checkStatus": checkStatus?Number(checkStatus):checkStatus, //核查状态
         }
         expJson(api.exportQcList,param).then(res =>{
             downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")

+ 73 - 11
src/js/qcListCopy.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("../css/qcListCopy.less");
 require('./modal.js');
 const {api} = require('./api.js')
-const {post,getCookie,getUrlArgObjectNew,emptyBox,downloadExportedData,expJson,initScroll} = require('./utils.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,downloadExportedData,expJson,initScroll,focusMenuItem} = 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")
@@ -33,12 +33,14 @@ let defectName = getUrlArgObjectNew("defectName",srcUrl)||"";
 let casesId = getUrlArgObjectNew("casesEntryId",srcUrl)||"";
 let isSingleReject = getUrlArgObjectNew("isSingleReject",srcUrl)||""
 let deptListDept = JSON.parse(getCookie("deptList"))||[]
+let currentPage;
 
 $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,
   nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", deptName="", deptNameTemp="",doctorNum="",doctorNameTemp="",doctorNumTemp="",
-  data_desc=["leaveHospitalDate"],data_asc=[];
+  checkStatus="",checkStatusTemp="",data_desc=["leaveHospitalDate"],data_asc=[];
 if(chengdu){
     levelTemp = chengdu
     level = chengdu
@@ -80,6 +82,11 @@ if(from==2){
 }else{
     $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台 / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
 }
+$(".partTitle .consoleD").click(function(){
+    //初始菜单选中   
+    focusMenuItem(from==2?'YH-KZTKS':'YH-KZT')
+    $(".container",parent.document).addClass("console-cont");
+})
 $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
 $('.iconCalen').on("mouseenter", function(e){
     $(this).attr("src", iconCalenBlue)
@@ -126,6 +133,7 @@ function getTabData(activePage){
         isReject: isSingleReject,
         doctorName: doctorName,
         doctorId: doctorNum,
+        checkStatus: checkStatus?Number(checkStatus):checkStatus, //核查状态
     }
     return post(from==2?api.qcResultShortByDeptPage:api.qcResultDefectList,param).then(res =>{
         if(res.data.code == '0'){
@@ -133,6 +141,7 @@ function getTabData(activePage){
             tabList = data.records;
             const totalPage = data.pages;
             const totalNum = data.total;
+            currentPage = activePage
             renderTab(tabList,data.hospitalId);
             renderPagination(totalPage,Number(activePage),totalNum)
             if(totalPage > 1){
@@ -151,8 +160,8 @@ function getTabData(activePage){
 //getTabData(1)
 
 $(".filter").on("click", function(e){
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     const start = new Date(behosDateStart).getTime()
     const end = new Date(behosDateEnd).getTime()
     if(start > end){
@@ -173,6 +182,7 @@ $(".filter").on("click", function(e){
     deptName = deptNameTemp
     doctorName = doctorNameTemp
     doctorNum = doctorNumTemp
+    checkStatus = checkStatusTemp
     getTabData(1)
 })
 $(".abnormalClear").on("click", function(e){
@@ -192,6 +202,8 @@ $(".abnormalClear").on("click", function(e){
     doctorNum=""; 
     doctorNameTemp=""; 
     doctorNumTemp=""; 
+    checkStatus="";
+    checkStatusTemp="";
     data_desc=["leaveHospitalDate"]
     data_asc=[];
     if(from == 2){
@@ -233,10 +245,13 @@ $(".abnormalClear").on("click", function(e){
     $(".levelList").css("display", "none")
     $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     // $('.selectLevel ').addClass('unSelect')
+    $('.selectCheck').html('全部')
+    $(".checkList").css("display", "none")
+    $(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     $("th[code]").removeClass("asc desc")
     $(".leaveHospitalDate").addClass(" desc")
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     if(behosDateStart){
         behosDateStart = behosDateStart + ' 00:00:00'
     }
@@ -261,10 +276,14 @@ function renderTab(data,hisId){
         }
         str += `
             <tr  data-index=${i}>
-                <td  class="textCenter">${i+1}</td>`
+                <td  class="textCenter">${(currentPage-1)*15 + i+1}</td>`
         for(let j = 0; j < pageSet.length; j++){
             if(pageSet[j].status == 1){
-                str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] || "-"}<span></td>`
+                if(pageSet[j].val === "checkStatus"){
+                    str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] =="1"? "已核查" :item[pageSet[j].val] === 0 ? "未核查":"-"}<span></td>`
+                }else{
+                    str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] || "-"}<span></td>`
+                }
             }
         }
                 // <td >${item.behospitalCode || "-"}</td>
@@ -304,7 +323,7 @@ function renderTab(data,hisId){
 }
 
 function isTextCenter(name){
-    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime']
+    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime','checkStatus']
     return textCenterList.findIndex(item=> item==name) > -1
 }
 
@@ -317,6 +336,7 @@ function bindScoreDetail(hisId){
         const id = tabList[index].behospitalCode
         const age = tabList[index].age;
         const noScore = tabList[index].level == '未评分'
+        const checkStatus = tabList[index].checkStatus
         if(noScore){
             $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
             return
@@ -332,6 +352,8 @@ $('.selectLevel').on("click", function(e){
     e.stopPropagation()
     $(".deptList ").css("display", "none")
     $(".selectDept .arrow").attr("src",iconDown)
+    $(".checkList ").css("display", "none")
+    $(".selectCheck .arrow").attr("src",iconDown)
     const showList =  $(".levelList ").css("display")
     if(showList == "none" ||!showList){
         $(".levelList ").css("display","block")
@@ -342,8 +364,26 @@ $('.selectLevel').on("click", function(e){
     }
 })
 
+//选择核查状态
+$('.selectCheck').on("click", function(e){
+    e.stopPropagation()
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+    $(".levelList ").css("display","none")
+    $(".selectLevel .arrow").attr("src",iconDown)
+    const showList =  $(".checkList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".checkList ").css("display","block")
+        $(".selectCheck .arrow").attr("src",iconUp)
+    }else{
+        $(".checkList ").css("display", "none")
+        $(".selectCheck .arrow").attr("src",iconDown)
+    }
+})
+
+
 bindLeveldSelect()
-//是否启用选择
+//病历等级选择
 function bindLeveldSelect(){
     $('.levelItem').on("click",function(){
         const levelItemName = $(this).attr("data-name")
@@ -356,6 +396,20 @@ function bindLeveldSelect(){
     })
 }
 
+bindCheckedSelect()
+//核查状态选择
+function bindCheckedSelect(){
+    $('.checkItem').on("click",function(){
+        const checkItemName = $(this).attr("data-name")
+        const checkItemItemId = $(this).attr("data-id")
+        checkStatusTemp =checkItemItemId
+        $('.selectCheck').html(checkItemName)
+        $(".checkList").css("display", "none")
+        $(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $('.selectCheck').removeClass('unSelect')
+    })
+}
+
 
 
 function bindScoreOperaItem(){
@@ -397,6 +451,8 @@ $('.selectDept').on("click", function(e){
     e.stopPropagation()
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
+    $(".checkList ").css("display", "none")
+    $(".selectCheck .arrow").attr("src",iconDown)
     const showList =  $(".deptList ").css("display")
     if(showList == "none" ||!showList){
         $(".deptList ").css("display","block")
@@ -900,9 +956,10 @@ function renderPagination(totalPage,activePage,totalNum){
 $(document).on("click", function(){
     $(".levelList ").css("display", "none")
     $(".deptList").css("display", "none")
+    $(".checkList").css("display", "none")
     $(".selectDept .arrow").attr("src",iconDown)
     $(".selectLevel .arrow").attr("src",iconDown)
-    
+    $(".selectCheck .arrow").attr("src",iconDown)
 })
 $(function($){
     $('.export').click(function(){
@@ -912,6 +969,10 @@ $(function($){
             $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
             return
         }
+        if((end - start)/24/60/60/1000 > 7){
+            $.alerModal({"message":"最多只能导出7天",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+            return
+        }
         const param = {
             behospitalCode: behospitalCode,
             patName: name, //病人姓名
@@ -926,6 +987,7 @@ $(function($){
             isReject: isSingleReject,
             doctorName: doctorName,
             doctorId: doctorNum,
+            checkStatus: checkStatus?Number(checkStatus):checkStatus, //核查状态
         }
         expJson(api.qcResultShortPageExport,param).then(res =>{
             downloadExportedData(res.data, $(".partTitle").text()+".xls")

+ 66 - 11
src/js/qcListDept.js

@@ -22,7 +22,7 @@ const goDownB = require("./../images/arrow_down_blue.png")
 let pageSet = [],pageSetCopy = [], showNum = 0, scrollTop=0;
 $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
-
+$(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let srcUrl = $("#contentIframe",parent.document).attr("src")
 let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || ""
 let chengdu = getUrlArgObjectNew("chengdu",srcUrl)||""
@@ -32,7 +32,8 @@ let docName = getUrlArgObjectNew("docName",srcUrl)||""
 let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
 let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,nameTemp = "",
-  behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNameTemp="", doctorNum="", doctorNumTemp="",data_desc=["leave_hospital_date"],data_asc=[];
+  behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNameTemp="", doctorNum="", doctorNumTemp="",
+  checkStatus="",checkStatusTemp="",data_desc=["leave_hospital_date"],data_asc=[];
 
 $("#filterToggler").click(function(){
   const text = $(this).text();
@@ -103,7 +104,8 @@ function getTabData(activePage){
         leaveHosDateStart: behosDateStart, //1-单项否决 0-非
         leaveHosDateEnd: behosDateEnd, //0-未启用 1-启用
         size: 15,
-        statisticsType:statisticsType
+        statisticsType:statisticsType,
+        checkStatus: checkStatus?Number(checkStatus):checkStatus, //核查状态
     }
     return post(api.qcListByDept,param).then(res =>{
         if(res.data.code == '0'){
@@ -128,8 +130,8 @@ function getTabData(activePage){
 //getTabData(1)
 
 $(".filter").on("click", function(e){
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     const start = new Date(behosDateStart).getTime()
     const end = new Date(behosDateEnd).getTime()
     if(start > end){
@@ -148,6 +150,7 @@ $(".filter").on("click", function(e){
     deptId = deptIdTemp
     doctorName = doctorNameTemp
     doctorNum = doctorNumTemp
+    checkStatus = checkStatusTemp
     getTabData(1)
 })
 
@@ -166,6 +169,8 @@ $(".abnormalClear").on("click", function(e){
     doctorNum=""; 
     doctorNameTemp=""; 
     doctorNumTemp=""; 
+    checkStatus="";
+    checkStatusTemp="";
     data_desc=["leave_hospital_date"]
     data_asc=[];
     $('.patientNumInp').val('')
@@ -194,10 +199,13 @@ $(".abnormalClear").on("click", function(e){
     $(".levelList").css("display", "none")
     $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     // $('.selectLevel ').addClass('unSelect')
+    $('.selectCheck').html('全部')
+    $(".checkList").css("display", "none")
+    $(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     $("th[code]").removeClass("asc desc")
     $(".leaveHospitalDate").addClass(" desc")
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     if(behosDateStart){
         behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
     }
@@ -243,7 +251,11 @@ function renderTab(data){
                 <td  class="recordScoreOperaBtn textCenter" style="opacity:${hasData('FUNC000017')?'1':'0.5'}">评分</td>`
         for(let j = 0; j < pageSet.length; j++){
             if(pageSet[j].status == 1){
-                str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':''}">${item[pageSet[j].val] || "-"}<span></td>`
+                if(pageSet[j].val === "checkStatus"){
+                    str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] =="1"? "已核查" :item[pageSet[j].val] === 0 ? "未核查":"-"}<span></td>`
+                }else{
+                    str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] || "-"}<span></td>`
+                }
             }
         }
                 // <td >${item.behospitalCode || "-"}</td>
@@ -283,7 +295,7 @@ function renderTab(data){
 }
 
 function isTextCenter(name){
-    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime']
+    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime','checkStatus']
     return textCenterList.findIndex(item=> item==name) > -1
 }
 
@@ -296,6 +308,7 @@ function bindScoreDetail(){
         const id = tabList[index].behospitalCode
         const age = tabList[index].age
         const noScore = tabList[index].level == '未评分'
+        const checkStatus = tabList[index].checkStatus
         if(noScore){
             $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
             return
@@ -311,6 +324,8 @@ $('.selectLevel').on("click", function(e){
     e.stopPropagation()
     $(".deptList ").css("display", "none")
     $(".selectDept .arrow").attr("src",iconDown)
+    $(".checkList ").css("display", "none")
+    $(".selectCheck .arrow").attr("src",iconDown)
     const showList =  $(".levelList ").css("display")
     if(showList == "none" ||!showList){
         $(".levelList ").css("display","block")
@@ -321,8 +336,26 @@ $('.selectLevel').on("click", function(e){
     }
 })
 
+
+//选择核查状态
+$('.selectCheck').on("click", function(e){
+    e.stopPropagation()
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+    $(".levelList ").css("display","none")
+    $(".selectLevel .arrow").attr("src",iconDown)
+    const showList =  $(".checkList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".checkList ").css("display","block")
+        $(".selectCheck .arrow").attr("src",iconUp)
+    }else{
+        $(".checkList ").css("display", "none")
+        $(".selectCheck .arrow").attr("src",iconDown)
+    }
+})
+
 bindLeveldSelect()
-//是否启用选择
+//病历等级选择
 function bindLeveldSelect(){
     $('.levelItem').on("click",function(){
         const levelItemName = $(this).attr("data-name")
@@ -335,6 +368,21 @@ function bindLeveldSelect(){
     })
 }
 
+bindCheckedSelect()
+//核查状态选择
+function bindCheckedSelect(){
+    $('.checkItem').on("click",function(){
+        const checkItemName = $(this).attr("data-name")
+        const checkItemItemId = $(this).attr("data-id")
+        checkStatusTemp =checkItemItemId
+        $('.selectCheck').html(checkItemName)
+        $(".checkList").css("display", "none")
+        $(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $('.selectCheck').removeClass('unSelect')
+    })
+}
+
+
 //全选绑定
 bindOperaAll()
 function bindScoreOperaItem(){
@@ -376,6 +424,8 @@ $('.selectDept').on("click", function(e){
     e.stopPropagation()
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
+    $(".checkList ").css("display", "none")
+    $(".selectCheck .arrow").attr("src",iconDown)
     const showList =  $(".deptList ").css("display")
     if(showList == "none" ||!showList){
         $(".deptList ").css("display","block")
@@ -851,8 +901,10 @@ function renderPagination(totalPage,activePage,totalNum){
 $(document).on("click", function(){
     $(".levelList ").css("display", "none")
     $(".deptList").css("display", "none")
+    $(".checkList").css("display", "none")
     $(".selectDept .arrow").attr("src",iconDown)
     $(".selectLevel .arrow").attr("src",iconDown)
+    $(".selectCheck .arrow").attr("src",iconDown)
     
 })
 
@@ -867,10 +919,13 @@ $((function($){
             "deptId": deptId.trim(),
             "doctorCode":doctorNum,
             "doctorName": doctorName,
+            "asc":data_asc,     //升序
+            "desc":data_desc,       //降序
             "leaveHosDateEnd": behosDateEnd,
             "leaveHosDateStart": behosDateStart,
             "level": level,
-            "name": name
+            "name": name,
+            "checkStatus": checkStatus?Number(checkStatus):checkStatus, //核查状态
         }
         expJson(api.exportQcListDept,param).then(res =>{
             downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")

+ 64 - 11
src/js/qcListDocteam.js

@@ -21,7 +21,7 @@ const goDownB = require("./../images/arrow_down_blue.png")
 
 let pageSet = [],pageSetCopy = [], showNum = 0, scrollTop=0;
 $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
-
+$(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let srcUrl = $("#contentIframe",parent.document).attr("src")
 let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || ""
 let chengdu = getUrlArgObjectNew("chengdu",srcUrl)||""
@@ -29,7 +29,8 @@ let deptIdPram = getUrlArgObjectNew("deptId",srcUrl)||""
 let deptNamePram = getUrlArgObjectNew("deptName",srcUrl)||""
 let docName = getUrlArgObjectNew("docName",srcUrl)||""
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,nameTemp = "",
-  behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNameTemp="", doctorNum="", doctorNumTemp="",data_desc=["leave_hospital_date"],data_asc=[];
+  behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNameTemp="", doctorNum="", doctorNumTemp="",
+  checkStatus="",checkStatusTemp="",data_desc=["leave_hospital_date"],data_asc=[];
 
 $("#filterToggler").click(function(){
   const text = $(this).text();
@@ -87,7 +88,8 @@ function getTabData(activePage){
         leaveHosDateStart: behosDateStart, //1-单项否决 0-非
         leaveHosDateEnd: behosDateEnd, //0-未启用 1-启用
         size: 15,
-        statisticsType:statisticsType
+        statisticsType:statisticsType,
+        checkStatus: checkStatus?Number(checkStatus):checkStatus, //核查状态
     }
     return post(api.qcListByDoc,param).then(res =>{
         if(res.data.code == '0'){
@@ -112,8 +114,8 @@ function getTabData(activePage){
 //getTabData(1)
 
 $(".filter").on("click", function(e){
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     const start = new Date(behosDateStart).getTime()
     const end = new Date(behosDateEnd).getTime()
     if(start > end){
@@ -132,6 +134,7 @@ $(".filter").on("click", function(e){
     deptId = deptIdTemp
     doctorName = doctorNameTemp
     doctorNum = doctorNumTemp
+    checkStatus = checkStatusTemp
     getTabData(1)
 })
 
@@ -150,6 +153,8 @@ $(".abnormalClear").on("click", function(e){
     doctorNum="";
     doctorNameTemp="";
     doctorNumTemp="";
+    checkStatus="";
+    checkStatusTemp="";
     data_desc=["leave_hospital_date"]
     data_asc=[];
     $('.patientNumInp').val('')
@@ -174,10 +179,13 @@ $(".abnormalClear").on("click", function(e){
     $(".levelList").css("display", "none")
     $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     // $('.selectLevel ').addClass('unSelect')
+    $('.selectCheck').html('全部')
+    $(".checkList").css("display", "none")
+    $(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     $("th[code]").removeClass("asc desc")
     $(".leaveHospitalDate").addClass(" desc")
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     if(behosDateStart){
         behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
     }
@@ -223,7 +231,11 @@ function renderTab(data){
                 <td  class="recordScoreOperaBtn textCenter" style="opacity:${hasData('FUNC000017')?'1':'0.5'}">评分</td>`
         for(let j = 0; j < pageSet.length; j++){
             if(pageSet[j].status == 1){
-                str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':''}">${item[pageSet[j].val] || "-"}<span></td>`
+                if(pageSet[j].val === "checkStatus"){
+                    str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] =="1"? "已核查" :item[pageSet[j].val] === 0 ? "未核查":"-"}<span></td>`
+                }else{
+                    str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] || "-"}<span></td>`
+                }
             }
         }
                 // <td >${item.behospitalCode || "-"}</td>
@@ -263,7 +275,7 @@ function renderTab(data){
 }
 
 function isTextCenter(name){
-    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime']
+    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime','checkStatus']
     return textCenterList.findIndex(item=> item==name) > -1
 }
 
@@ -276,6 +288,7 @@ function bindScoreDetail(){
         const id = tabList[index].behospitalCode
         const age = tabList[index].age
         const noScore = tabList[index].level == '未评分'
+        const checkStatus = tabList[index].checkStatus
         if(noScore){
             $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
             return
@@ -289,6 +302,8 @@ function bindScoreDetail(){
 //选择病历等级
 $('.selectLevel').on("click", function(e){
     e.stopPropagation()
+    $(".checkList ").css("display", "none")
+    $(".selectCheck .arrow").attr("src",iconDown)
     const showList =  $(".levelList ").css("display")
     if(showList == "none" ||!showList){
         $(".levelList ").css("display","block")
@@ -299,8 +314,28 @@ $('.selectLevel').on("click", function(e){
     }
 })
 
+//选择核查状态
+$('.selectCheck').on("click", function(e){
+    e.stopPropagation()
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+    $(".levelList ").css("display","none")
+    $(".selectLevel .arrow").attr("src",iconDown)
+    const showList =  $(".checkList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".checkList ").css("display","block")
+        $(".selectCheck .arrow").attr("src",iconUp)
+    }else{
+        $(".checkList ").css("display", "none")
+        $(".selectCheck .arrow").attr("src",iconDown)
+    }
+})
+
+
+
+
 bindLeveldSelect()
-//是否启用选择
+//病历等级选择
 function bindLeveldSelect(){
     $('.levelItem').on("click",function(){
         const levelItemName = $(this).attr("data-name")
@@ -313,6 +348,21 @@ function bindLeveldSelect(){
     })
 }
 
+bindCheckedSelect()
+//核查状态选择
+function bindCheckedSelect(){
+    $('.checkItem').on("click",function(){
+        const checkItemName = $(this).attr("data-name")
+        const checkItemItemId = $(this).attr("data-id")
+        checkStatusTemp =checkItemItemId
+        $('.selectCheck').html(checkItemName)
+        $(".checkList").css("display", "none")
+        $(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $('.selectCheck').removeClass('unSelect')
+    })
+}
+
+
 //全选绑定
 bindOperaAll()
 function bindScoreOperaItem(){
@@ -786,10 +836,13 @@ $((function($){
       "deptId": deptId,
       "doctorCode":doctorNum,
       "doctorName": doctorName,
+      "asc":data_asc,     //升序
+      "desc":data_desc,       //降序
       "leaveHosDateEnd": behosDateEnd,
       "leaveHosDateStart": behosDateStart,
       "level": level,
-      "name": name
+      "name": name,
+      "checkStatus": checkStatus?Number(checkStatus):checkStatus, //核查状态
     }
     expJson(api.exportQcDocteam,param).then(res =>{
       downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")

File diff suppressed because it is too large
+ 1041 - 0
src/js/qcListOutHospital.js


+ 63 - 10
src/js/qcListPerson.js

@@ -34,7 +34,7 @@ $("#filterToggler").click(function(){
 });
 $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
-
+$(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let srcUrl = $("#contentIframe",parent.document).attr("src")
 let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || ""
 let chengdu = getUrlArgObjectNew("chengdu",srcUrl)||""
@@ -43,7 +43,8 @@ let deptNamePram = getUrlArgObjectNew("deptName",srcUrl)||""
 let docName = getUrlArgObjectNew("docName",srcUrl)||""
 
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,nameTemp = "",
-  behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName=doctorName_global, doctorNameTemp=doctorName_global,data_desc=["leave_hospital_date"],data_asc=[];
+  behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName=doctorName_global, doctorNameTemp=doctorName_global,
+  checkStatus="",checkStatusTemp="",data_desc=["leave_hospital_date"],data_asc=[];
 
 
 if(chengdu){
@@ -106,7 +107,8 @@ function getTabData(activePage){
         leaveHosDateStart: behosDateStart, //1-单项否决 0-非
         leaveHosDateEnd: behosDateEnd, //0-未启用 1-启用
         size: 15,
-        statisticsType:statisticsType
+        statisticsType:statisticsType,
+        checkStatus: checkStatus?Number(checkStatus):checkStatus, //核查状态
     }
     return post(api.qcListByPerson,param).then(res =>{
         if(res.data.code == '0'){
@@ -131,8 +133,8 @@ function getTabData(activePage){
 //getTabData(1)
 
 $(".filter").on("click", function(e){
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     const start = new Date(behosDateStart).getTime()
     const end = new Date(behosDateEnd).getTime()
     if(start > end){
@@ -150,6 +152,7 @@ $(".filter").on("click", function(e){
     level = levelTemp==="全部"?"":levelTemp
     deptId = deptIdTemp
     doctorName = doctorNameTemp
+    checkStatus = checkStatusTemp
     getTabData(1)
 })
 $(".abnormalClear").on("click", function(e){
@@ -167,6 +170,8 @@ $(".abnormalClear").on("click", function(e){
     doctorNum=""; 
     doctorNameTemp=""; 
     doctorNumTemp=""; 
+    checkStatus="";
+    checkStatusTemp="";
     data_desc=["leave_hospital_date"]
     data_asc=[];
     $('.patientNumInp').val('')
@@ -195,10 +200,13 @@ $(".abnormalClear").on("click", function(e){
     $(".levelList").css("display", "none")
     $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     // $('.selectLevel ').addClass('unSelect')
+    $('.selectCheck').html('全部')
+    $(".checkList").css("display", "none")
+    $(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     $("th[code]").removeClass("asc desc")
     $(".leaveHospitalDate").addClass(" desc")
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     if(behosDateStart){
         behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
     }
@@ -244,7 +252,11 @@ function renderTab(data){
                 <td  class="recordScoreOperaBtn textCenter" style="opacity:${hasData('FUNC000017')?'1':'0.5'}">评分</td>`
         for(let j = 0; j < pageSet.length; j++){
             if(pageSet[j].status == 1){
-                str +=  `<td  class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':''}">${item[pageSet[j].val] || "-"}<span></td>`
+                if(pageSet[j].val === "checkStatus"){
+                    str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] =="1"? "已核查" :item[pageSet[j].val] === 0 ? "未核查":"-"}<span></td>`
+                }else{
+                    str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] || "-"}<span></td>`
+                }
             }
         }
                 // <td >${item.behospitalCode || "-"}</td>
@@ -284,7 +296,7 @@ function renderTab(data){
 }
 
 function isTextCenter(name){
-    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime']
+    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime','checkStatus']
     return textCenterList.findIndex(item=> item==name) > -1
 }
 
@@ -297,6 +309,7 @@ function bindScoreDetail(){
         const id = tabList[index].behospitalCode
         const age = tabList[index].age
         const noScore = tabList[index].level == '未评分'
+        const checkStatus = tabList[index].checkStatus
         if(noScore){
             $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
             return
@@ -312,6 +325,8 @@ $('.selectLevel').on("click", function(e){
     e.stopPropagation()
     $(".deptList ").css("display", "none")
     $(".selectDept .arrow").attr("src",iconDown)
+    $(".checkList ").css("display", "none")
+    $(".selectCheck .arrow").attr("src",iconDown)
     const showList =  $(".levelList ").css("display")
     if(showList == "none" ||!showList){
         $(".levelList ").css("display","block")
@@ -322,8 +337,27 @@ $('.selectLevel').on("click", function(e){
     }
 })
 
+
+//选择核查状态
+$('.selectCheck').on("click", function(e){
+    e.stopPropagation()
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+    $(".levelList ").css("display","none")
+    $(".selectLevel .arrow").attr("src",iconDown)
+    const showList =  $(".checkList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".checkList ").css("display","block")
+        $(".selectCheck .arrow").attr("src",iconUp)
+    }else{
+        $(".checkList ").css("display", "none")
+        $(".selectCheck .arrow").attr("src",iconDown)
+    }
+})
+
+
 bindLeveldSelect()
-//是否启用选择
+//病历等级选择
 function bindLeveldSelect(){
     $('.levelItem').on("click",function(){
         const levelItemName = $(this).attr("data-name")
@@ -336,6 +370,21 @@ function bindLeveldSelect(){
     })
 }
 
+
+bindCheckedSelect()
+//核查状态选择
+function bindCheckedSelect(){
+    $('.checkItem').on("click",function(){
+        const checkItemName = $(this).attr("data-name")
+        const checkItemItemId = $(this).attr("data-id")
+        checkStatusTemp =checkItemItemId
+        $('.selectCheck').html(checkItemName)
+        $(".checkList").css("display", "none")
+        $(".selectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $('.selectCheck').removeClass('unSelect')
+    })
+}
+
 //全选绑定
 function bindScoreOperaItem(){
     $(".scoreOperaItem").off("click").on("click",  function(e){
@@ -376,6 +425,8 @@ $('.selectDept').on("click", function(e){
     e.stopPropagation()
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
+    $(".checkList ").css("display", "none")
+    $(".selectCheck .arrow").attr("src",iconDown)
     const showList =  $(".deptList ").css("display")
     if(showList == "none" ||!showList){
         $(".deptList ").css("display","block")
@@ -841,8 +892,10 @@ function renderPagination(totalPage,activePage,totalNum){
 $(document).on("click", function(){
     $(".levelList ").css("display", "none")
     $(".deptList").css("display", "none")
+    $(".checkList").css("display", "none")
     $(".selectDept .arrow").attr("src",iconDown)
     $(".selectLevel .arrow").attr("src",iconDown)
+    $(".selectCheck .arrow").attr("src",iconDown)
     
 })
 

+ 45 - 10
src/js/qcScore.js

@@ -4,6 +4,7 @@ require('jquery-templates');
 require('./modal.js');
 const {post,getUrlArgObject,setBoxHeight,getCookie,initScroll} = require('./utils.js');
 const {api} = require('./api.js');
+let checkOk = require('./../images/checkOk.png')
 window.document.title="质控评分-"+getUrlArgObject("name");
 
 $(function(){
@@ -11,6 +12,7 @@ $(function(){
   let global_flawData = {};    //缺陷数据
   const global_id=getUrlArgObject("id");
   const global_age = getUrlArgObject("age");
+  let global_check;
   const global_code = getUrlArgObject("code");
   let global_activeTab=$(".sub-menu .page.active").attr("code");  //当前激活菜单项
   let global_modules ={};   //模板数据缓存
@@ -80,6 +82,7 @@ function initMenu(data){
     $(".content-item,.flaw-item").hide();
     $(".content-item[code='"+code+"']").show();
     showFlawList();
+    $("#contentInfo").scrollTop(0)
   });
   // initScroll("subMenu","Y",2)
 }
@@ -101,7 +104,8 @@ function getRecordDetail(){
     if(res.data.code==='0'){
       const data = res.data.data;
    
-      const {beHospital,result,msg} = data;
+      const {beHospital,result,msg,checkStatus} = data;
+      global_check = checkStatus
       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");
@@ -119,8 +123,16 @@ function getRecordDetail(){
 
 //填充患者信息
 function initPatientInfo(data){
-  const obj=Object.assign({},data,{age:!global_age||global_age=="null"?"-":global_age});
+  let hasCheck = false
+  if(hasData("FUNC000014")){
+    hasCheck = true
+  }
+  const obj=Object.assign({},data,{age:!global_age||global_age=="null"?"-":global_age,hasCheck,checkState:global_check});
+  
   $("#infoTmpl").tmpl(obj).appendTo("#patientInfo");
+  $(".check").on("click", function(){
+    checkQc()
+  })
 }
 //显示病例模块明细
 function initContent(data){
@@ -177,7 +189,7 @@ function formatInfoData(k,data){
     $("#appointBookTmpl").tmpl({title,data}).appendTo(".flaw-table");
     $(".page-anchor").on("click",function(){
       const code=$(this).attr("code");
-      const pCode=$(this).parents("tr").attr("code");
+      const pCode=$(this).parents("tr").attr("code").replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g,'');
       //菜单同步状态
       $(".sub-menu .page[code="+pCode+"]").parents(".list-1").click();
       $(".sub-menu .page[code="+pCode+"],.menu-mini .page[code="+pCode+"").click();
@@ -397,12 +409,14 @@ function showModal(flag,code,i){
       addScore(obj);
     });
   }else{
-    $("#delModal .title").text("删除评分");
-    $("#delModal .cancel").show();
+    $("#delModal .title").text("删除提示");
     $("#delModal .modal-body").html('<p>确定要删除该评分记录吗?</p>');
-    $("#delModal .confirm").text("确定").click(function(){
+    $("#delModal .confirm").text("删除").click(function(){
       delScore(code,info);
     });
+    $("#delModal .cancel").show().text("取消").click(function(){
+      $("#delModal .divModal",parent.document).remove()
+    });
   }
 }
 //缺陷列表key值去掉特殊符号
@@ -537,6 +551,7 @@ function formatFlawKeys(data){
     return hml+"</div></div>";
   }
 
+
   //基础类型结构生成
   function simpleStructure(data,obj){
     const {name, val,monoLine,addLine,position,bold,retract,id} = data;
@@ -605,19 +620,39 @@ function formatFlawKeys(data){
   }
 //获取所有模板
   function getAllModules(){
-  const param={
-    hospitalId:getUrlArgObject("hid"),
-    modeId:''
-  };
+    const param={
+      hospitalId:getUrlArgObject("hid"),
+      modeId:''
+    };
     post(api.getModuleById,param).then((res)=>{
       if(res.data.code==='0') {
         const data = res.data.data;
         global_modules=data;
         getRecordDetail();
         $("#loading").hide();
+        setTimeout(function(){
+          $(".operation").show()
+        },50)
+      }
+    });
+  }
+  function checkQc(){
+    const param={
+      behospitalCode:getUrlArgObject("id"),
+      hospitalId:getUrlArgObject("hid")
+    };
+    post(api.checkQc,param).then((res)=>{
+      if(res.data.code==='0') {
+        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});
+       
+      }else{
+        $.alerModal({"message":res.data.msg ||"核查失败",type:"tip",time:'1000',isFather: false});
       }
     });
   }
+  
 
 });
 

+ 7 - 6
src/js/utils.js

@@ -27,17 +27,19 @@ const pageMap={
   'YH-ZKK-GKSQXZB':'deptScoreDetailControl.html',
   "YH-ZKK-GKSZKPJF_XQ":'deptScoreDetailControl.html',
   'YH-JCSJWH':'deptScoreDetailControl.html',
-  "YH-ZKK-GKSQXZB_XQ":'deptScoreDetailControl.html',
+  'YH-ZKK-GKSQXZB_XQ':'deptScoreDetailControl.html',
   
-  "YH-KSZR-KSQXZB_XQ":'deptScoreDetail.html?from=2',
-  "YH-ZKK-GKSJJBLZB_XQ":'jiaji.html',
+  'YH-KSZR-KSQXZB_XQ':'deptScoreDetail.html?from=2',
+  'YH-ZKK-GKSJJBLZB_XQ':'jiaji.html',
   
   "YH-ZKK-BASYHGLZB_XQ":'partDetailControl.html',
   "YH-KSZR-BASYHGLZB_XQ":'partDetail.html',
+  "YH-ZKK-ZKHCTJ":'checkControl.html',
 
   "YH-JCSJWH-ZKLXWH":'assertType.html',
-  "YH-BLZK-ZKPFYLZ":"qcListDocteam.html",
-  "YH-ZKK-GJTMQXZB":'keyItemFlawControl.html',
+  'YH-BLZK-ZKPFYLZ':'qcListDocteam.html',
+  'YH-ZKK-GJTMQXZB':'keyItemFlawControl.html',
+  'YH-ZKK-CYRSTJ':'qcListOutHospital.html'
 };
 
 //重写assign方法
@@ -409,7 +411,6 @@ function initScroll(el,sliderDir,sliderMode,top){
 
  
   if(sliderDir == "YX"){
-    console.log("yx", el)
     new CusScrollBar({
         contentSelector: `${'.'+el+'_scroll_cont'}`, //滚动内容区
         barSelector: `${'.'+el+'_scroll_bar'}`, //滚动条

+ 28 - 0
webpack.config.js

@@ -48,6 +48,8 @@ module.exports = {
     itemDefectDetail:path.resolve(__dirname, 'src/js', 'itemDefectDetail.js'),
     keyItemFlawControl:path.resolve(__dirname, 'src/js', 'keyItemFlawControl.js'),
     qcListCopy:path.resolve(__dirname, 'src/js', 'qcListCopy.js'),
+    qcListOutHospital:path.resolve(__dirname, 'src/js', 'qcListOutHospital.js'),
+    checkControl:path.resolve(__dirname, 'src/js', 'checkControl.js'),
     vendor: 'lodash'// 多个页面所需的公共库文件,防止重复打包带入
   },
   output: {
@@ -99,6 +101,19 @@ module.exports = {
         collapseWhitespace: true //删除空白符与换行符
       }
     }),
+    new HtmlWebpackPlugin({
+      title: 'checkControl.html',
+      template: path.resolve(__dirname, 'src/html', 'checkControl.html'),
+      filename: 'checkControl.html',
+      chunks: ['checkControl', 'vendor', 'common'],
+      hash: true, //防止缓存
+      inject: true,
+      minify: {
+        removeAttributeQuotes: true, //压缩 去掉引号
+        removeComments: true, //移除HTML中的注释
+        collapseWhitespace: true //删除空白符与换行符
+      }
+    }),
     new HtmlWebpackPlugin({
       title: 'assertTypeDetail.html',
       template: path.resolve(__dirname, 'src/html', 'assertTypeDetail.html'),
@@ -411,6 +426,19 @@ module.exports = {
         collapseWhitespace: true //删除空白符与换行符
       }
     }),
+    new HtmlWebpackPlugin({
+      title: 'qcListOutHospital.html',
+      template: path.resolve(__dirname, 'src/html', 'qcListOutHospital.html'),
+      filename: 'qcListOutHospital.html',
+      chunks: ['qcListOutHospital', 'vendor', 'common'],
+      hash: true, //防止缓存
+      inject: true,
+      minify: {
+        removeAttributeQuotes: true, //压缩 去掉引号
+        removeComments: true, //移除HTML中的注释
+        collapseWhitespace: true //删除空白符与换行符
+      }
+    }),
     new HtmlWebpackPlugin({
       title: 'qcListDocteam.html',
       template: path.resolve(__dirname, 'src/html', 'qcListDocteam.html'),