morphone1995 4 years atrás
parent
commit
b87a872bc4

+ 2 - 2
src/css/common.less

@@ -65,7 +65,7 @@ th[code]{
 .dataSelectLight {
     .partDetailControl .filterItem input {
         width: 120px;
-        height: 40px;
+        height: 34px;
         border-radius: 4px;
         border: 1px solid #E2E5EF;
         outline: none;
@@ -75,7 +75,7 @@ th[code]{
     }
     .partDetailControl .filterItem span {
         display: inline-block;
-        line-height: 40px;
+        line-height: 34px;
         position: relative;
     }
     .datapickerBox input {

+ 420 - 0
src/css/dept/deptScoreDetailControlDept.less

@@ -0,0 +1,420 @@
+@import '../reset.less';
+
+.container{
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+    background: #fff;
+    .partTitle {
+        border-bottom: 10px #EFF1F6 solid;
+        height: 54px;
+    }
+}
+.deptScoreDetailControl {
+    // background-color: #fff;
+    .dayFilter {
+        .levelList {
+            height: 80px;
+        }
+        .selectLevel,.levelList  {
+            width: 180px;
+        }
+    }
+    .filterItem.deptListWrap {
+        display: none;
+        .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: 1250px;
+        border: 0;
+        border-left: 10px #EFF1F6 solid;
+        // box-sizing: border-box;
+        /*width: 100%;*/
+    }
+    table{
+        .table;
+        min-width: 1090px;
+        th,td{
+            text-align: center;
+        }
+        th{
+            white-space: nowrap;
+        }
+        th[code]{
+            cursor: pointer;
+            &:after{
+                content:"";
+                display:inline-block;
+                width: 11px;
+                height: 14px;
+                margin-left: 4px;
+                vertical-align: middle;
+                background: url("../../images/grey.png");
+            }
+            &.asc:after{
+                background: url("../../images/up_blue.png");
+                background-size: 11px 14px;
+            }
+            &.desc:after{                
+                background: url("../../images/down_blue.png");
+                background-size: 11px 14px;
+            }
+        }
+        td{
+            white-space: nowrap;
+            position: relative;
+        }
+        .moduleNumber{
+            text-align: center;
+        }
+        .scoreOperaItem{
+            width: 50px;
+            cursor: pointer;
+        }
+        .updownimg {
+            width: 9px;
+            margin-left: 5px;
+            position: absolute;
+            top: 7px;
+            right: 1px;
+        }
+    }
+    .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: 15px;
+    }*/
+    .filterItem{
+        position: relative;
+        display: inline-block;
+        float: left;
+        height: 34px;
+        line-height: 34px;
+        margin: 0 20px 20px 0;
+        span{
+            display: inline-block;
+            line-height: 34px;
+            position: relative;
+        }
+        input{
+            width:120px;
+            height:34px;
+            border-radius:4px;
+            border: 1px solid #E2E5EF;
+            outline: none;
+            margin-right: 10px;
+            padding: 0 10px;
+            box-sizing: border-box;
+        }
+        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;
+        top: 34px !important;
+        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,.selectLeaveHosType{
+        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,.selectLeaveHosType{
+        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:0 0 20px 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;
+    }
+    .datapickerBox{
+        position: relative;
+        display: inline-block;
+        width: 120px;
+        height: 40px;
+        input{
+            position: absolute;
+        }
+    }
+    .iconCalen{
+        position: absolute;
+        width: 15px;
+        top: 12px;
+        right: 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;
+}
+.levelList,.checkList,.leaveHosTypeList {
+    width: 120px;
+    // height: 200px;
+    li:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+}
+.leaveHosTypeList{
+    width: 158px;
+    max-height: 300px;
+}
+
+.deptScoreDetailControlDept {
+    .selectModuleType {
+        height: 34px !important;
+        line-height: 34px !important;
+    }
+}

+ 362 - 0
src/css/dept/keyItemFlawControlDept.less

@@ -0,0 +1,362 @@
+@import '../reset.less';
+
+.container{
+  width: 100%;
+  height: 100%;
+  overflow: auto;
+  background-color: #fff;
+  border-bottom: 10px @disColor solid;
+  box-sizing: border-box;
+  .partTitle{
+    border-bottom: 10px @disColor solid;
+    height: 54px;
+  }
+}
+.partDetailControl {
+  .dayFilter {
+    .levelList {
+      height: 80px;
+    }
+    .selectLevel,.levelList  {
+      width: 180px;
+    }
+    .deptListWrap {
+      display: none;
+    }
+  }
+  .filterItem.deptListWrap {
+    .selectDept,.deptList {
+      width: 160px;
+    }
+  }
+  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;
+    border: none;
+    padding-top: 30px;
+    border-left: 10px @disColor solid;
+    min-width: 1090px;
+    /*width: 100%;*/
+    min-height: calc(100% - 44px);
+  }
+  .tableBox{
+    // border-right: 10px solid  @disColor;
+  }
+  table{
+    .table;
+    min-width: 1090px;
+    th,td{
+      text-align: center;
+    }
+    th{
+      white-space: nowrap;
+      &.textBreak{
+        padding: 5px 10px;
+        /*white-space: normal;
+        width: 120px;*/
+        &:after{
+          display: block;
+          margin: auto;
+        }
+      }
+    }
+
+    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: 32px;
+    line-height: 32px;
+    margin: 0 20px 20px 0;
+    span{
+      display: inline-block;
+      line-height: 40px;
+      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;
+    top: 34px !important;
+    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;
+  }
+  .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;
+}

+ 402 - 0
src/css/dept/qcListCopyDept.less

@@ -0,0 +1,402 @@
+@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);
+    padding-top: 30px;
+    .selectDefect{
+        background-color: #EFF1F6;
+        min-width: 120px;
+        width: auto;
+        display: inline-block;
+        position: relative;
+        padding: 0 10px;
+        height:32px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        box-sizing: border-box;
+        cursor: default;
+    }
+}
+.qctable{
+    .table;
+    min-width: 1090px;
+    th,td{
+        padding:5px 10px;
+    }
+    th{
+        white-space: nowrap;
+    }
+    th[code]{
+        cursor: pointer;
+        &:after{
+            content:"";
+            display:inline-block;
+            width: 11px;
+            height: 14px;
+            margin-left: 4px;
+            vertical-align: middle;
+            background-size: 100%;
+            background-image: url("../../images/grey.png");
+        }
+        &.asc:after{
+            background: url("../../images/up_blue.png");
+            background-size: 100%;
+        }
+        &.desc:after{
+            background: url("../../images/down_blue.png");
+            background-size: 100%;
+        }
+    }
+    td{
+        white-space: nowrap;
+    }
+    .moduleNumber{
+        text-align: center;
+    }
+    .scoreOperaItem{
+        width: 50px;
+        cursor: pointer;
+    }
+    .tabTitle   {
+        background: #EFF0F9 !important;
+      }
+    
+}
+.tabFoot{
+    height: 40px;
+    background: none;
+    /*border: 1px solid #E2E5EF;
+    border-top: none;
+    box-sizing: border-box;*/
+}
+.scoreOpera{
+    height: 50px;
+    line-height: 50px;
+    margin: 0 20px 0 0;
+    cursor: pointer;
+    img{
+        margin: 0 10px 0 0;
+        vertical-align: middle;
+    }
+}
+
+.recordScoreOperaBtn{
+    cursor: pointer;
+    color: @activeColor;
+}
+.recordScoreBtn{
+    cursor: pointer;
+    display: inline-block;
+    width:68px;
+    height:30px;
+    line-height: 30px;
+    text-align: center;
+    border-radius:4px;
+    box-sizing: border-box;
+    border: 1px solid @activeColor;
+    color: #fff;
+    background: @activeColor;
+}
+.filterBox{
+    position: relative;
+}
+.overAuto{
+    display: table;
+    padding-right: 20px;
+    width: 100%;
+}
+.toggle-item{
+    display: none;
+}
+.filter-toggler{
+    position: absolute;
+    left: 1048px;
+    top: 8px;
+    color: #777;
+    white-space: nowrap;
+    font-size: 14px;
+    background: url("../../images/arrow_down.png") 60px center no-repeat;
+    padding-right: 15px;
+    background-size: 10px 6px;
+    &.up{
+        background: url("../../images/arrow_up.png") 60px center no-repeat;
+        background-size: 10px 6px;
+    }
+}
+.filterItem{
+    position: relative;
+    display: inline-block;
+    float: left;
+    height: 40px;
+    line-height: 40px;
+    margin: 0 20px 20px 0;
+    span{
+        display: inline-block;
+        line-height: 32px;
+        position: relative;
+    }
+    input{
+        width:120px;
+        height:32px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        outline: none;
+        margin-right: 10px;
+        padding: 0 10px;
+        box-sizing: border-box;
+    }
+    input:focus{
+        border: 1px solid @activeColor ;
+        outline: 0;
+        -webkit-box-shadow:@activeColor  0px 0px 2px;
+        -moz-box-shadow: @activeColor  0px 0px 2px;
+        box-shadow: @activeColor  0px 0px 2px;
+    }
+}
+
+.filterDropList{
+    position: absolute;
+    right: 0;
+    top: 34px !important;
+    max-height: 200px;
+    overflow-y: auto;
+    background: #fff;
+    display: none;
+    border: 1px solid #e4e7ed;
+    box-shadow: 0 2px 12px 0 #e4e7ed;
+    z-index: 2;
+    li{
+        padding: 0 10px;
+    }
+}
+.deptList{
+    width: 160px;
+    max-height: 400px;
+}
+.levelList,.checkList{
+    width: 120px;
+    // height: 200px;
+    li:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+}
+.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck{
+    display: inline-block;
+    position: relative;
+    width:120px;
+    padding: 0 10px;
+    height:32px;
+    border-radius:4px;
+    border: 1px solid #E2E5EF;
+    box-sizing: border-box;
+    cursor: pointer;
+}
+.selectDept{
+    width: 160px;
+}
+
+.filter,.reset,.export{
+    display: inline-block;
+    width:60px;
+    height:32px;
+    background:@activeColor;
+    border-radius:4px;
+    color: #fff;
+    text-align: center;
+    line-height: 32px;
+    position: relative;
+    top: 2px;
+    cursor: pointer;
+    float: left;
+    margin: 0 0px 22px 0;
+}
+.export{
+    height:34px;
+    background: #fff;
+    border-radius: 4px;
+    color: #777;
+    border: 1px solid #777;
+    box-sizing: border-box;
+    cursor: pointer;
+    margin-left: 10px;
+    float: left;
+    top: 0px;
+}
+.arrow{
+    position: absolute;
+    width: 10px;
+    top: 12px;
+    right: 10px;
+}
+.iconCheck{
+    width: 14px;
+}
+.fl{
+    float: left;
+}
+.clearfix:after {
+    content: '';
+    height: 0;
+    line-height: 0;
+    display: block;
+    visibility: hidden;
+    clear: both;
+}
+.clearfix{
+    zoom:1
+}
+.divide{
+    margin: 0 10px;
+}
+.datapickerBox{
+    position: relative;
+    display: inline-block;
+    width: 120px;
+    height: 32px;
+    input{
+        position: absolute;
+    }
+}
+.setCol{
+    color: #777;
+    cursor: pointer;
+    display: inline-block;
+    // margin: 10px 0 0  0px;
+    margin: 0 0 0  50px;
+}
+.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;
+}
+.tipIcon{
+  color: #777;
+  cursor: pointer;
+  display: inline-block;
+  margin-left: 6px;
+  margin-right: 2px;
+}
+.toolTipIcon{
+    width: 18px;
+    position: relative;
+    top: 3px;
+}
+
+.tooltip{
+    visibility: hidden;
+    position: relative;
+    padding: 7px 10px;
+    border-radius: 4px;
+    margin: 100px auto;
+    background-color: #4D4D4D;
+    text-align: center;
+    color: #fff;
+    font-size: 14px;
+}
+.tooltip:before{
+    content: '';
+    display: block;
+    position: absolute;
+    bottom: 9px;
+    left: -12px;
+    border-bottom: 6px solid transparent;
+    border-top: 6px solid transparent;
+    border-left: 6px solid transparent;
+    border-right: 6px solid #4D4D4D;
+}
+
+
+
+
+

+ 9 - 0
src/css/quexianDetailHome.less

@@ -4,6 +4,10 @@
     width: 100%;
     height: 100%;
     overflow-y: auto;
+    .canJump{
+        color: #00A1F0;
+        cursor: pointer;
+    }
     .filterDropList{
         position: absolute;
         right: 0;
@@ -41,6 +45,11 @@
         .selectDept,.deptList {
             width: 180px;
         }
+        .selectDepts {
+            min-width: 120px;
+            background-color: #EFF1F6;
+            width: auto;
+        }
     }
     .filterItem{
         position: relative;

+ 65 - 0
src/html/dept/deptScoreDetailControlDept.html

@@ -0,0 +1,65 @@
+<!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 deptScoreDetailControl deptScoreDetailControlDept">
+        <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 style="overflow:hidden">科室:</span>
+                    <span class="selectDept ellipsis" data-id=""><i>--</i></span>
+                    <ul class="deptList filterDropList">
+                        
+                    </ul>
+                </span>
+                <span class="filterItem">
+                    <span>主管医生:</span>
+                    <input type="text" class="selectModuleType canEditModule" value="全部" />
+                    <ul class="moduleTypeList filterDropList moduleLisWid"></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 class="deptScoreDetailControlTable">
+                <table>
+
+                </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>

+ 70 - 0
src/html/dept/keyItemFlawControlDept.html

@@ -0,0 +1,70 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>关键条目缺陷占比</title>
+</head>
+
+<body>
+<div class="container partDetailControl">
+    <div class="partTitle">
+        <p>关键条目缺陷占比</p>
+        <div class="dateDetail fr">
+
+        </div>
+    </div>
+    <div class="partTitleT"></div>
+    <div class="main-body">
+        <div class="filterBox clearfix">
+            <span class="filterItem typeFilter deptListWrap">
+                <span style="overflow:hidden">科室:</span>
+                <span class="selectDept ellipsis" data-id=" "><i>--</i></span>
+                <ul class="deptList filterDropList">
+                    
+                </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="exportData">导出</span>
+        </div>
+        <div style="display: table;padding-right: 30px;" class="tableBox">
+            <table class="key-list">
+                <thead>
+                <th class="moduleName" style="width: 65px;">序号</th>
+                <th class="beHospitalId textCenter" code="deptName">主管医生</th>
+                <th class="beHospitalId textCenter textBreak" code="consultationNum">未在24小时内<br/>完成会诊数</th>
+                <th class="beHospitalId textCenter textBreak" code="consultationPercentStr">未在24小时内<br/>完成会诊率</th>
+                <th class="beHospitalId textCenter textBreak" code="operationNameNum">手术记录名称不<br/>匹配数</th>
+                <th class="beHospitalId textCenter textBreak" code="operationNamePercentStr">手术记录名称不<br/>匹配率</th>
+                <th class="beHospitalId textCenter textBreak" code="operation15MinuteNum">术后首程未在15<br/>分钟内完成数</th>
+                <th class="beHospitalId textCenter textBreak" code="operation15MinutePercentStr">术后首程未在15<br/>分钟内完成率</th>
+                <th class="beHospitalId textCenter textBreak" code="operationTimeNum">病案首页手术时<br/>间不匹配数</th>
+                <th class="beHospitalId textCenter textBreak" code="operationTimePercentStr">病案首页手术时<br/>间不匹配率</th>
+                <th class="beHospitalId textCenter textBreak" code="crisisNum">未在6小时内书<br/>写危急值记录数</th>
+                <th class="beHospitalId textCenter textBreak" code="crisisPercentStr">未在6小时内书<br/>写危急值记录率</th>
+                <th class="beHospitalId textCenter textBreak" code="beHosGT31DaysMRNum">住院超过31日<br/>病人数</th>
+                <th class="beHospitalId textCenter textBreak" code="stageSummaryNum">阶段小结未书写<br/>数</th>
+                <th class="beHospitalId textCenter textBreak" code="stageSummaryPercentStr">阶段小结未书写<br/>率</th>
+                </thead>
+                <tbody>
+
+                </tbody>
+            </table>
+        </div>
+
+        <div class="pagination"></div>
+    </div>
+
+</div>
+</body>
+
+</html>

+ 6 - 9
src/html/dept/partDetailControlDept.html

@@ -23,15 +23,6 @@
         <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">
-                    <span>主管医生:</span>
-                    <input type="text" class="selectModuleType canEditModule" value="全部" />
-                    <ul class="moduleTypeList filterDropList moduleLisWid"></ul>
-                </span>
                 <span class="filterItem typeFilter deptListWrap">
                     <span style="overflow:hidden">科室:</span>
                     <span class="selectDept ellipsis" data-id=""><i>--</i></span>
@@ -39,6 +30,11 @@
                         
                     </ul>
                 </span>
+                <span class="filterItem">
+                    <span>主管医生:</span>
+                    <input type="text" class="selectModuleType canEditModule" value="全部" />
+                    <ul class="moduleTypeList filterDropList moduleLisWid"></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>
@@ -47,6 +43,7 @@
                 </span>
                 <span class="filter">查询</span>
                 <span class="filterclear abnormalClear">重置</span>
+                <span class="exportData">导出</span>
             </div>
             <div>
                 <table>

+ 164 - 0
src/html/dept/qcListCopyDept.html

@@ -0,0 +1,164 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>病历质控评分</title>
+    
+</head>
+
+<body>
+    <div class="container qcListCopy">
+        <!-- <h2>质控评分</h2>控制台 / 条目缺陷占比 / 缺陷详情 -->
+        <div class="partTitle">
+            <p class="titlePic"></p>
+          </div>
+        <div class="main-body">
+            <div class="filterBox">
+                <div class="clearfix">
+                    <span class="filterItem typeFilter deptListWrap">
+                        <span>科室:</span>
+                        <div type="text" class="selectDept canEditDept" value="全部"></div>
+                        <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="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="filter">查询</span>
+                    <span class="filterclear abnormalClear filterclearT">重置</span>
+                    <span class="export">导出</span>
+                </div>
+                <a href="javascript:void(0);" class="filter-toggler" id="filterToggler">展开筛选</a>
+                <div class="toggle-item clearfix">
+                    <span class="filterItem typeFilter">
+                        <span>病人姓名:</span>
+                        <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+                    </span>
+                    <span class="filterItem typeFilter">
+                        <span>病人住院序号:</span>
+                        <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>医生姓名:</span>
+                        <input class="doctorInp" type="text" placeholder="请输入医生姓名">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>医生工号:</span>
+                        <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
+                    </span>
+                    <span class="filterItem fpFilterItem">
+                        <span>病案首页核查状态:</span>
+                        <span class="fpSelectCheck">全部</span>
+                        <ul class="checkList filterDropList fpCheckList">
+                            <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
+                            <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                            <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
+                        </ul>
+                    </span>
+                    <span class="filterItem doctorFilter fpFilterItem">
+                        <span>病案首页核查人:</span>
+                        <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
+                    </span>
+                    <span class="filterItem typeFilter clearfix" >
+                        <span class="fl">病案首页核查时间:</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1" autocomplete="off" readonly /></span>
+                        <span  class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"  autocomplete="off" readonly/></span>
+                    </span>
+                    <span class="filterItem qcFiliterItem">
+                        <span>病历核查状态:</span>
+                        <span class="qcSelectCheck">全部</span>
+                        <ul class="checkList filterDropList qcCheckList">
+                            <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
+                            <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                            <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
+                        </ul>
+                    </span>
+                    <span class="filterItem doctorFilter qcFiliterItem">
+                        <span>病历核查人:</span>
+                        <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
+                    </span>
+                    <span class="filterItem typeFilter clearfix qcFiliterItem" >
+                        <span class="fl">病历核查时间:</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1" autocomplete="off" readonly /></span>
+                        <span  class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"  autocomplete="off" readonly/></span>
+                    </span>
+                    <span class="filterItem doctorFilter defectItem">
+                        <span>缺陷名称:</span>
+                        <span class="selectDefect"> 
+                        
+                        </span>
+                        <!-- <input class="doctorInp" type="text" placeholder="请输入医生姓名"> -->
+                    </span>
+                    <span class="filterItem doctorFilter qcFiliterItem">
+                        <span>主诊断:</span>
+                        <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+                    </span>
+                    
+                </div>
+            </div>
+            <div class="overAuto">
+                <table class="qctable">
+                    <thead>
+                    <tr class="tabOpera">
+                        
+                    </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>
+                        
+                    </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>

+ 6 - 6
src/html/mukuai.html

@@ -24,12 +24,6 @@
         <div class="partTitleT"></div>
         <div class="main-body">
             <div class="filterBox">
-                <span class="filterItem">
-                    <span>模块名称:</span>
-                    <span class="">
-                        <input class="moduleItemInp" type="text" placeholder="请输入模块名称">
-                    </span>
-                </span>
                 <span class="filterItem typeFilter deptListWrap">
                     <span style="overflow:hidden">科室:</span>
                     <span class="selectDept ellipsis" data-id=" "><i>--</i></span>
@@ -37,6 +31,11 @@
                         
                     </ul>
                 </span>
+                <span class="filterItem">
+                    <span>模块名称:</span>
+                    <input type="text" class="selectModuleType canEditModule" value="全部">
+                    <ul class="moduleTypeList filterDropList moduleLisWid"></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>
@@ -45,6 +44,7 @@
                 </span>
                 <span class="filter">查询</span>
                 <span class="filterclear abnormalClear">重置</span>
+                <span class="exportData">导出</span>
             </div>
             <table>
                 <thead>

+ 11 - 1
src/html/quexianDetailHome.html

@@ -25,6 +25,14 @@
         <!-- <div class="grayLine"></div> -->
         <div class="main-body">
             <div class="filterBox">
+                <span class="filterItem typeFilter deptListWrap">
+                    <span>科室:</span>
+                    <span class="selectDept selectDepts" data-id="">
+                        <span class="selectDefect"> 
+                            
+                        </span>
+                    </span>
+                </span>
                 <span class="filterItem">
                     <span>缺陷名称:</span>
                     <span class="">
@@ -39,13 +47,15 @@
                 </span>
                 <span class="filter">查询</span>
                 <span class="filterclear abnormalClear">重置</span>
+                <span class="exportData">导出</span>
             </div>
             <table>
                 <thead>
                     <th class="moduleName" style="width: 65px;">序号</th>
+                    <th class="moduleItemName desc">模块名称</th>
                     <th class="moduleItemName">缺陷名称</th>
                     <th class="moduleItemName textCenter">数量</th>
-                    <th class="moduleScore" style="width: 80px;">缺陷占比</th>
+                    <th class="moduleScore" style="width: 100px;">缺陷占比</th>
                 </thead>
                 <tbody class="tbody">
     

+ 10 - 0
src/js/api.js

@@ -146,6 +146,16 @@ const api = {
   qcCheckStatisticsByDept: '/consoleByDept/qcCheckStatisticsByDept', //(质控核查统计-科室)
   qcCheckStaExportByDept: '/print/export/qcCheckStaExportByDept', //(质控核查统计-科室)
   reHos31DaysPageByDept: '/consoleByDept/reHos31DaysPageByDept', // 31日再入院-科室)
+  getmedCheckPage: '/qc/medPacsInfo/getCheckPage', //检查信息
+  getExaminePage: '/qc/medLisInfo/getExaminePage', //检验信息
+  getExamineSonPage: '/qc/medLisInfo/getExamineSonPage', //检验信息detail
+
+  homePageLevelExportByDept: '/print/export/homePageLevelExportByDept', //(科室病案首页合格率导出,终末)
+  entryGroupExportByDeptEntry: '/print/export/entryGroupExportByDeptEntry', //(科室病案首页合格率/缺陷列表导出,终末)
+  qcResultShortExportByDeptPage: '/print/export/qcResultShortExportByDeptPage', //(科室病案首页合格率/缺陷列表导出/病历列表,终末)
+  entryGroupExportByDeptCase: '/print/export/entryGroupExportByDeptCase', //(条目缺陷占比,终末)
+  entryStatisticsByDept: '/consoleByDept/entryStatisticsByDept', //(关键条目缺陷占比,终末)
+  entryStatisticsExportByDept: '/print/export/entryStatisticsExportByDept', //(关键条目缺陷占比导出,终末)
 };
 module.exports = {
   api,

+ 710 - 0
src/js/dept/deptScoreDetailControlDept.js

@@ -0,0 +1,710 @@
+const $ = require('jquery');
+require("@less/dept/deptScoreDetailControlDept.less");
+require('../modal.js');
+const {api} = require('../api.js')
+const {post,getCookie,getUrlArgObjectNew,focusMenuItem,emptyBox,setDatePicker,getPickerDate,downloadExportedData,expJson,initScroll,listenScroll} = 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")
+const jiantou_up = require("@images/jiantou_up.png")
+const jiantou_down = require("@images/jiantou_down.png")
+let isPlacefile = getCookie('isPlacefile')||1
+let deptList = JSON.parse(getCookie("deptList"))||[]
+
+listenScroll()
+$(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectLeaveHosType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+let tabList = [], name = "",leaveHosType="",leaveHosTypeTemp="", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,statisticsType="",deptType = "",
+  nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", deptName="",deptNameTemp="", doctorName="", doctorNum="",doctorNameTemp="",doctorNumTemp="",
+  data_desc="entryNum",data_asc="",hospital=getCookie("hospital");
+  let srcUrl = $("#contentIframe",parent.document).attr("src")
+  statisticsType = getUrlArgObjectNew("dateType",srcUrl)||""
+  deptType = getUrlArgObjectNew("deptType",srcUrl)||""
+  deptName = getUrlArgObjectNew("deptName",srcUrl)||""
+  let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
+  let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
+  if(hospital == '台州市立'){
+    $(".deptListWrap").css("display","inline-block")
+    $('.selectLeaveHosType').html(deptType?(deptType+'系统'):"全部").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    $(".leaveHosTypeList").css("display", "none")
+    $('.selectLeaveHosType').removeClass('unSelect')
+    leaveHosType = leaveHosTypeTemp = deptType
+    deptName = deptNameTemp
+  }else{
+    $(".deptListWrap").css("display","none")
+  }
+  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(){
+    setDatePicker($("#datepicker"),$("#datepicker2"),"default")
+    behospitalCode=behospitalCodeTemp = ""
+    deptId =deptIdTemp= ""
+    leaveHosType =leaveHosTypeTemp= ""
+    deptName =deptNameTemp= ""
+    leaveHosType="";
+    leaveHosTypeTemp="";
+    deptId =deptIdTemp= deptList[0]&&deptList[0].deptName
+    $(".selectDept").html(deptId).attr({
+        "data-id":deptId,
+        "title":deptId
+    }).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    $('.selectLeaveHosType').html('全部')
+    $(".leaveHosTypeList").css("display", "none")
+    $(".selectLeaveHosType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    $(".patientNumInp").val("")
+    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)
+    })
+}
+// YH-ZKK-GKSQXZB_XQ
+$(".menu .page", parent.document).removeClass("active")
+$(parent.document).find(".menu .page[code=YH-KSZR-KSQXZB_XQ]").addClass("active")
+
+bindleaveHosTypeSelect()
+//出院人数类型选择
+function bindleaveHosTypeSelect(){
+    $('.leaveHosTypeItem').on("click",function(){
+        const leaveHosTypeItemName = $(this).attr("data-name")
+        const leaveHosTypeItemItemId = $(this).attr("data-id")
+        leaveHosTypeTemp =leaveHosTypeItemItemId
+        $('.selectLeaveHosType').html(leaveHosTypeItemName)
+        $(".leaveHosTypeList").css("display", "none")
+        $(".selectLeaveHosType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $('.selectLeaveHosType').removeClass('unSelect')
+    })
+}
+//判断有无某一权限
+  function hasData(data,parent){
+    let codeLis = getCookie("codeLis")
+    if(parent){
+        if(codeLis.indexOf(parent)==-1){//有权限
+            return false
+        }
+    }
+    if(codeLis.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 = {
+        "asc": data_asc,
+        "desc": data_desc,
+        "name": behospitalCode||"",
+        "deptClass": leaveHosType||'',
+        "deptName": deptName=="全部"?"":deptName||"",
+        "type": 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去)
+        "startDate":dateStatrt,
+        "endDate":dateEnd
+    }
+    let url = ''
+    startDateParam = dateStatrt
+    endDateParam = dateEnd
+    $('.pagination').html("")
+    $('.deptScoreDetailControlTable table').html(`<tbody>${emptyBox('努力加载中...','',1)}</tbody>`)
+
+    post(api.levelStatisticsByDept,param).then(res =>{
+        if(res.data.code == '0'){
+            const data = res.data.data;
+            tabList = data.records;
+            const totalPage = data.pages;
+            const totalNum = data.total;
+            renderTab(data,data.hospitalId,activePage);
+            renderPagination(totalPage,Number(activePage),totalNum)
+            if(totalPage > 1){
+                renderPagination(totalPage,Number(activePage),totalNum)
+            } else{
+                $('.pagination').html("")
+            }
+        }else{
+            $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+        }
+    }).catch((e) =>{
+        
+    })
+}
+
+getTabData(1)
+
+
+$("body").on("click","th[code]",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);
+});
+$(".filter").on("click", function(e){
+    name = nameTemp
+    behospitalCode = behospitalCodeTemp
+    level = levelTemp
+    deptId = deptIdTemp
+    leaveHosType = leaveHosTypeTemp
+    deptName = deptNameTemp
+    if(deptName == ""){
+        $(".selectDept").attr({'title':"全部",'data-id':''}).val("全部")
+    }
+    getTabData(1)
+})
+function renderTab(data,hisId,activePage){
+    let str = ``
+    let tHead = `
+        <thead>
+        <th class="moduleName" style="width: 65px;">序号</th>
+        <th class="beHospitalId textCenter">主管医生</th>
+        <th class="beHospitalId textCenter ${data_asc == 'entryNum'?'asc':data_desc == 'entryNum'?'desc':''}" code="entryNum">缺陷总数</th>
+        <th class="beHospitalId textCenter ${data_asc == 'sameNum'?'asc':data_desc == 'sameNum'?'desc':''}" code="sameNum">同比总数</th>
+        <th class="beHospitalId textCenter ${data_asc == 'averageValue'?'asc':data_desc == 'averageValue'?'desc':''}" code="averageValue">质控平均分</th>
+        <th class="beHospitalId textCenter ${data_asc == 'sameAvgValue'?'asc':data_desc == 'sameAvgValue'?'desc':''}" code="sameAvgValue">同比平均分</th>
+        <th class="beHospitalId textCenter ${data_asc == 'mrNum'?'asc':data_desc == 'mrNum'?'desc':''}" code="mrNum">质控病历数</th>
+        <th class="beHospitalId textCenter ${data_asc == 'sameMrNum'?'asc':data_desc == 'sameMrNum'?'desc':''}" code="sameMrNum">同比质控数</th>
+        <th class="beHospitalId textCenter ${data_asc == 'firstLevelNum'?'asc':data_desc == 'firstLevelNum'?'desc':''}" code="firstLevelNum">甲级病历数</th>
+        <th class="beHospitalId textCenter ${data_asc == 'sameFirstLevelNum'?'asc':data_desc == 'sameFirstLevelNum'?'desc':''}" code="sameFirstLevelNum">同比甲级数</th>
+        <th class="beHospitalId textCenter ${data_asc == 'secondLevelNum'?'asc':data_desc == 'secondLevelNum'?'desc':''}" code="secondLevelNum">乙级病历数</th>
+        <th class="beHospitalId textCenter ${data_asc == 'sameSecondLevelNum'?'asc':data_desc == 'sameSecondLevelNum'?'desc':''}" code="sameSecondLevelNum">同比乙级数</th>
+        <th class="beHospitalId textCenter ${data_asc == 'thirdLevelNum'?'asc':data_desc == 'thirdLevelNum'?'desc':''}" code="thirdLevelNum">丙级病历数</th>
+        <th class="beHospitalId textCenter ${data_asc == 'sameThirdLevelNum'?'asc':data_desc == 'sameThirdLevelNum'?'desc':''}" code="sameThirdLevelNum">同比丙级数</th>
+        <th class="beHospitalId textCenter ${data_asc == 'firstLevelPercentStr'?'asc':data_desc == 'firstLevelPercentStr'?'desc':''}" code="firstLevelPercentStr">甲级率</th>
+        <th class="beHospitalId textCenter ${data_asc == 'sameFirstLevelPercent'?'asc':data_desc == 'sameFirstLevelPercent'?'desc':''}" code="sameFirstLevelPercent">同比甲级率</th>
+        <th class="beHospitalId textCenter ${data_asc == 'secondLevelPercentStr'?'asc':data_desc == 'secondLevelPercentStr'?'desc':''}" code="secondLevelPercentStr">乙级率</th>
+        <th class="beHospitalId textCenter ${data_asc == 'sameSecondLevelPercent'?'asc':data_desc == 'sameSecondLevelPercent'?'desc':''}" code="sameSecondLevelPercent">同比乙级率</th>
+        <th class="beHospitalId textCenter ${data_asc == 'thirdLevelPercentStr'?'asc':data_desc == 'thirdLevelPercentStr'?'desc':''}" code="thirdLevelPercentStr">丙级率</th>
+        <th class="beHospitalId textCenter ${data_asc == 'sameThirdLevelPercent'?'asc':data_desc == 'sameThirdLevelPercent'?'desc':''}" code="sameThirdLevelPercent">同比丙级率</th>
+        </thead>`
+    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.doctorName || "-"}</td>
+                <td class="goHomeDetailQuexian goHomeDetail" data-dept="${item.deptName || ""}" dept-id="${item.deptId || ""}">
+                    ${item.entryNum || "-"}
+                    ${item.entrySameNum<0?'<img class="updownimg" src="'+jiantou_down+'"/>':item.entrySameNum>0?'<img class="updownimg" src="'+jiantou_up+'"/>':''}
+                </td>
+                <td data-dept="${item.deptName || ""}" dept-id="${item.deptId || ""}">${item.sameNum}</td>
+                <td >
+                ${item.averageValue || "-"}
+                ${item.avSameValue<0?'<img class="updownimg" src="'+jiantou_down+'"/>':item.avSameValue>0?'<img class="updownimg" src="'+jiantou_up+'"/>':''}
+                </td>
+                <td >${item.sameAvgValue}</td>
+                <td >
+                ${item.mrNum || "-"}
+                ${item.mrSameNum<0?'<img class="updownimg" src="'+jiantou_down+'"/>':item.mrSameNum>0?'<img class="updownimg" src="'+jiantou_up+'"/>':''}
+                </td>
+                <td >${item.sameMrNum}</td>
+                <td  class="goHomeDetailB goHomeDetail" data-dept="${item.deptName || ""}" dept-id="${item.deptId || ""}" data-c="甲">
+                ${item.firstLevelNum+'' || "-"}
+                ${item.firSameLevelNum<0?'<img class="updownimg" src="'+jiantou_down+'"/>':item.firSameLevelNum>0?'<img class="updownimg" src="'+jiantou_up+'"/>':''}
+                </td>
+                <td data-dept="${item.deptName || ""}" dept-id="${item.deptId || ""}" data-c="甲">
+                ${item.sameFirstLevelNum+'' || "-"}
+                </td>
+                <td  class="goHomeDetailB goHomeDetail" data-dept="${item.deptName || ""}" dept-id="${item.deptId || ""}" data-c="乙">
+                ${item.secondLevelNum+'' || "-"}
+                ${item.secSameLevelNum<0?'<img class="updownimg" src="'+jiantou_down+'"/>':item.secSameLevelNum>0?'<img class="updownimg" src="'+jiantou_up+'"/>':''}
+                </td>
+                <td  data-dept="${item.deptName || ""}" dept-id="${item.deptId || ""}" data-c="乙">
+                ${item.sameSecondLevelNum+'' || "-"}
+                </td>
+                <td  class="goHomeDetailB goHomeDetail" data-dept="${item.deptName || ""}" dept-id="${item.deptId || ""}" data-c="丙">
+                ${item.thirdLevelNum+'' || "-"}
+                ${item.thiSameLevelNum<0?'<img class="updownimg" src="'+jiantou_down+'"/>':item.thiSameLevelNum>0?'<img class="updownimg" src="'+jiantou_up+'"/>':''}
+                </td>
+                <td  data-dept="${item.deptName || ""}" dept-id="${item.deptId || ""}" data-c="丙">${item.sameThirdLevelNum+'' || "-"}</td>
+                <td >
+                ${item.firstLevelPercentStr || "-"}
+                ${item.firSameLevelPercent<0?'<img class="updownimg" src="'+jiantou_down+'"/>':item.firSameLevelPercent>0?'<img class="updownimg" src="'+jiantou_up+'"/>':''}
+                </td>
+                <td >${item.sameFirstLevelPercentStr}</td>
+                <td >
+                ${item.secondLevelPercentStr || "-"}
+                ${item.secSameLevelPercent<0?'<img class="updownimg" src="'+jiantou_down+'"/>':item.secSameLevelPercent>0?'<img class="updownimg" src="'+jiantou_up+'"/>':''}
+                </td>
+                <td >${item.sameSecondLevelPercentStr}</td>
+                <td >
+                ${item.thirdLevelPercentStr || "-"}
+                ${item.thiSameLevelPercent<0?'<img class="updownimg" src="'+jiantou_down+'"/>':item.thiSameLevelPercent>0?'<img class="updownimg" src="'+jiantou_up+'"/>':''}
+                </td>
+                <td >${item.sameThirdLevelPercentStr}</td>
+            </tr>
+        `
+    }
+    $('.deptScoreDetailControlTable table').html(str?tHead+'<tbody>'+str+'</tbody>':tHead+`<tbody>${emptyBox()}</tbody>`)
+    bindScoreDetail(hisId)
+    $(".goHomeDetailQuexian").click(function(){
+        let deptName = $(this).attr("data-dept")
+        let deptId = $(this).attr("dept-id")
+        // focusMenuItem("YH-ZKK-GKSQXZB_XQ");
+        $(parent.document).find("#contentIframe").attr("src", "quexianDetailControl.html?deptName=" + deptName+"&deptId=" + deptId +"&from=2"+"&shijian=3"+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
+    })
+    $(".goHomeDetailB").click(function(){
+        let deptName = $(this).attr("data-dept")
+        let deptC = $(this).attr("data-c")
+        let deptIds = $(this).attr("dept-id")
+        focusMenuItem("YH-BLZK-ZKPF");
+        $(parent.document).find("#contentIframe").attr("src","qcList.html?deptName="+deptName+"&from=2"+"&shijian=3&chengdu="+deptC+"&deptId="+deptIds+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
+    })
+    // initScroll("deptScoreDetailControl","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,win: true, fatherWrapper: $("#mainBox", parent.document)});
+        }else{
+            $.alerModal({"message":'删除失败,请重试~',type:"tip",time:'1000',win:'default',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+            
+        }
+    }).catch((e) =>{
+        $.alerModal({"message":'删除失败,请重试~',type:"tip",time:'1000',win:'default',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+    
+    })
+}
+//保存修改
+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,win: true, fatherWrapper: $("#mainBox", parent.document)});
+        }else{
+            $.alerModal({"message":'修改失败,请重试~',type:"tip",time:'1000',isFather: true,win: 'default', fatherWrapper: $("#mainBox", parent.document)});
+            
+        }
+    }).catch((e) =>{
+        $.alerModal({"message":'修改失败,请重试~',type:"tip",time:'1000',isFather: true,win: 'default', fatherWrapper: $("#mainBox", parent.document)});
+        
+    })
+}
+
+//选择出院人数类型
+$('.selectLeaveHosType').on("click", function(e){
+    e.stopPropagation()
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+    $(".levelList ").css("display","none")
+    $(".checkList ").css("display", "none")
+    $(".selectCheck .arrow").attr("src",iconDown)
+    $(".selectLeaveHosType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    const showList =  $(".leaveHosTypeList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".leaveHosTypeList ").css("display","block")
+        $(".selectLeaveHosType .arrow").attr("src",iconUp)
+    }else{
+        $(".leaveHosTypeList ").css("display", "none")
+        $(".selectLeaveHosType .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="下拉">`)
+    })
+}
+//科室选择
+bindDeptSelect()
+function bindDeptSelect(){
+    $(document).on("click",'.deptItem',function(){
+        const deptItemName = $(this).attr("data-name")||''
+        const deptItemId = $(this).attr("data-id")
+        deptName =deptNameTemp=deptItemName
+        if(deptItemName.length > 10){
+            $('.selectDept').html(deptItemName.substring(0,8)+'...')
+        }else{
+            $('.selectDept').html(deptItemName)
+        }
+        $('.selectDept ').attr({'title':deptItemName,'data-id':deptItemName})
+        $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+        $(".deptList").css("display", "none")
+    })
+}
+$('.selectDept').on("click", function(e){
+    e.stopPropagation()
+    $(".levelList ").css("display","none")
+    $(".selectLevel .arrow").attr("src",iconDown)
+    const showList =  $(".deptList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".deptList ").css("display","block")
+        $(".selectDept .arrow").attr("src",iconUp)
+    }else{
+        $(".deptList ").css("display", "none")
+        $(".selectDept .arrow").attr("src",iconDown)
+    }
+})
+getDeptList()
+function getDeptList(){
+    let str = ``
+    if(deptList.length<=0)return
+    $(".selectDept ").attr("data-id",deptList[0].deptName).find("i").html(deptList[0].deptName)
+    for(let i = 0;i < deptList.length;i++){
+        let tmp = deptList[i]
+        str += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptName}" data-name="${tmp.deptName}">${tmp.deptName}</li>`
+    }
+    $(".filterDropList").html(str)
+}
+
+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','YH-BLZK-ZKPF')){
+        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)
+        }
+    }
+})
+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")
+    $(".selectLevel .arrow").attr("src",iconDown)
+    $(".deptList").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+})
+
+$(function() {
+    const  iconCalenBlue= require("@images/darkDate.png")
+    const  iconCalenGrey= require("@images/icon_calen_grey.png")
+    $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
+    $('.iconCalen').on("mouseenter", function(e){
+        $(this).attr("src", iconCalenBlue)
+    })
+    $('.iconCalen').on("mouseleave", function(e){
+        $(this).attr("src", iconCalenGrey)
+    })
+    $('.iconCalen').on("click", function(e){
+        $(this).parent().find("input").focus()
+    });
+  $('.export').click(function(){
+    const start = new Date(startDateParam).getTime()
+    const end = new Date(endDateParam).getTime()
+    if(start > end){
+      $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+      return
+    }
+    const param = {
+        "asc": data_asc,
+        "desc": data_desc,
+        "name": behospitalCode||"",
+        "deptClass": leaveHosType||'',
+        "deptName": deptName=="全部"?"":deptName||"",
+        "type": statisticsType||2, //1-本月,2-本年
+        "startDate":startDateParam,
+        "isPlacefile":isPlacefile,
+        "endDate":endDateParam
+    };
+    const url = hospital == '台州市立'?api.exportDeptFlawsTz:api.exportDeptFlaws;
+    expJson(url,param).then(res =>{
+      downloadExportedData(res.data, "各科室缺陷占比.xls")
+    })
+  })
+});

+ 338 - 0
src/js/dept/keyItemFlawControlDept.js

@@ -0,0 +1,338 @@
+const $ = require('jquery');
+require("@less/keyItemFlawControl.less");
+require('../modal.js');
+const {api} = require('../api.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,setTitleTxt,setDatePicker,getPickerDate,expJson,downloadExportedData,initScroll,listenScroll} = require('../utils.js')
+require('../../resource/jquery-ui/jquery-ui.min.js');
+require('../../resource/jquery-ui/jquery-ui.min.css');
+const iconCheck= require("@images/icon_check.png")
+const iconUnCheck = require("@images/icon_unchecked.png")
+const iconDown= require("@images/arrow_down.png")
+const iconUp = require("@images/arrow_up.png")
+const loadingImg = require("@images/loading.gif")
+const arrowLeft= require("@images/arrow_left.png")
+const arrowRight = require("@images/arrow_right.png")
+let  deptName = "", behospitalCode="", deptNameTemp = "",deptId='',deptIdTemp='', behospitalCodeTemp="", data_desc="",data_asc="";
+let srcUrl = $("#contentIframe",parent.document).attr("src")
+statisticsType = getUrlArgObjectNew("dateType",srcUrl)||"";
+from = getUrlArgObjectNew("from",srcUrl)||""
+lineType = getUrlArgObjectNew("lineType",srcUrl)||""
+let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
+let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
+$(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+/*if(lineType){
+  $("th[code="+data_desc+"]").addClass("desc");
+}*/
+//setTitleTxt('',from)         //导航栏面包屑
+listenScroll()
+let isPlacefile = getCookie('isPlacefile')||1
+let deptList = JSON.parse(getCookie("deptList"))||[]
+
+if(statisticsType == 1){
+  setDatePicker($("#datepicker"),$("#datepicker2"),1)
+}else if(statisticsType == 2){
+  setDatePicker($("#datepicker"),$("#datepicker2"),2)
+}else if(statisticsType == 3){
+  setDatePicker($("#datepicker"),$("#datepicker2"),3,new Date(startDateParam),new Date(endDateParam))
+}else{
+  setDatePicker($("#datepicker"),$("#datepicker2"),'default')
+}
+if(!statisticsType){
+  setDatePicker($("#datepicker"),$("#datepicker2"),'default')
+}
+$(".abnormalClear").click(function(){
+  data_desc="";
+  data_asc="";
+  deptId="";
+  deptIdTemp="";
+  deptName="";
+  deptNameTemp="";
+  setDatePicker($("#datepicker"),$("#datepicker2"),"default")
+  deptName =deptNameTemp= deptList[0]&&deptList[0].deptName
+  $(".selectDept").attr({'title':deptName,'data-id':''}).html(deptName).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+  $("th[code]").removeClass("asc desc")
+  //behospitalCode =behospitalCodeTemp= ""
+  getTabData(1)
+})
+$(".partTitle a").click(function(){
+  //初始菜单选中
+  $(".menu .page",parent.document).removeClass("active").eq(0).addClass("active");
+  $(".container",parent.document).addClass("console-cont");
+})
+
+// YH-ZKK-GJTMQXZB
+$(".menu .page", parent.document).removeClass("active")
+$(parent.document).find(".menu .page[code=YH-KSZR-GJTMQXZB_XQ]").addClass("active")
+
+//判断有无某一权限
+/*function hasData(data){
+  let trdObj = JSON.parse(getCookie("trdObj"))
+  let lis = trdObj['YH-BLZK-ZKPF']
+  if(!lis){
+    return false
+  }
+  if(lis.indexOf(data)>-1){//有权限
+    return true
+  }
+  return false;
+}*/
+function getTabData(activePage){
+  const dateStatrt = getPickerDate($("#datepicker"),1)
+  const dateEnd = getPickerDate($("#datepicker2"),2)
+  const start = new Date(dateStatrt).getTime()
+  const end = new Date(dateEnd).getTime()
+  if(start > end){
+    $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+    return
+  }
+  const param = {
+    current: 1,
+    size: 15,
+    "deptName": deptName=="全部"?"":deptName||"",
+    "asc":data_asc,     //升序
+    "desc":data_desc,       //降序
+    //"type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
+    "startDate":dateStatrt.replace(/\//g,'-'),
+    "endDate":dateEnd.replace(/\//g,'-')
+  }
+  startDateParam = dateStatrt
+  endDateParam = dateEnd
+  $('.pagination').html("")
+  $('.key-list tbody').html(emptyBox('努力加载中...','',1))
+  post(api.entryStatisticsByDept,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){
+  deptName = deptNameTemp;
+  behospitalCode = behospitalCodeTemp;
+  if(deptName == ""){
+      $(".selectDept").attr({'title':"全部",'data-id':''}).val("全部")
+  }
+  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.doctorName || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.consultationEntryId || ""}" data-name="${item.consultationEntryName || ""}">${item.consultationNum+'' || "-"}</td>
+                <td >${item.consultationPercentStr || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.operationNameEntryId || ""}" data-name="${item.operationNameEntryName || ""}">${item.operationNameNum+'' || "-"}</td>
+                <td >${item.operationNamePercentStr+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.operation15MinuteEntryId || ""}" data-name="${item.operation15MinuteEntryName || ""}">${item.operation15MinuteNum+'' || "-"}</td>
+                <td >${item.operation15MinutePercentStr+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.operationTimeEntryId || ""}" data-name="${item.operationTimeEntryName || ""}">${item.operationTimeNum+'' || "-"}</td>
+                <td >${item.operationTimePercentStr+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.crisisEntryId || ""}" data-name="${item.crisisEntryName || ""}">${item.crisisNum+'' || "-"}</td>
+                <td >${item.crisisPercentStr+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-fromDays="1">${item.beHosGT31DaysMRNum + '' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.stageSummaryEntryId || ""}" data-name="${item.stageSummaryEntryName || ""}">${item.stageSummaryNum+'' || "-"}</td>
+                <td >${item.stageSummaryPercentStr+'' || "-"}</td>
+            </tr>
+        `
+  }
+  $('.key-list tbody').html(str?str:emptyBox())
+  /*bindScoreDetail(hisId)*/
+  $(".goHomeDetail").click(function(){
+    let casesName = $(this).attr("data-name");
+    let casesId = $(this).attr("data-id");
+    let name=$(this).attr("dept-name");
+    name=name==="全院"?"全部":name;
+    let id=$(this).attr("dept-id");
+    // 确定31天处跳转
+    let fromDays = $(this).attr("data-fromDays");
+    $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?from=3&deptName=" + name + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&fromDays=" + fromDays)
+  })
+  // initScroll("partDetailControl","YX",1)
+}
+//科室相关
+bindDeptSelect()
+//科室选择
+function bindDeptSelect(){
+    $(document).on("click",'.deptItem',function(){
+        const deptItemName = $(this).attr("data-name")||''
+        const deptItemId = $(this).attr("data-id")
+        deptName =deptNameTemp=deptItemName
+        if(deptItemName.length > 10){
+            $('.selectDept').html(deptItemName.substring(0,8)+'...')
+        }else{
+            $('.selectDept').html(deptItemName)
+        }
+        $('.selectDept ').attr({'title':deptItemName,'data-id':deptItemName})
+        $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+        $(".deptList").css("display", "none")
+    })
+}
+$('.selectDept').on("click", function(e){
+  e.stopPropagation()
+  $(".levelList ").css("display","none")
+  $(".selectLevel .arrow").attr("src",iconDown)
+  const showList =  $(".deptList ").css("display")
+  if(showList == "none" ||!showList){
+      $(".deptList ").css("display","block")
+      $(".selectDept .arrow").attr("src",iconUp)
+  }else{
+      $(".deptList ").css("display", "none")
+      $(".selectDept .arrow").attr("src",iconDown)
+  }
+})
+getDeptList()
+function getDeptList(){
+  let str = ``
+  if(deptList.length<=0)return
+  $(".selectDept").attr("data-id",deptList[0].deptName).find("i").html(deptList[0].deptName)
+  for(let i = 0;i < deptList.length;i++){
+      let tmp = deptList[i]
+      str += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptName}" data-name="${tmp.deptName}">${tmp.deptName}</li>`
+  }
+  $(".filterDropList").html(str)
+}
+
+function loading(){
+  const str = `
+    <div class="loadingBox">
+            <div class="mask"></div>
+            <img class="loadingImg" src=${loadingImg}  alt="loading" />
+        </div>
+    `
+  $("#mainBox", parent.document).append(str)
+}
+function hideLoading(){
+  $("#mainBox .loadingBox", parent.document).remove()
+}
+$(document).on("click", function(){
+  $(".deptList").css("display", "none");
+  $(".selectDept .arrow").attr("src",iconDown)
+})
+$("th[code]").on("click",function(e){
+  const code=$(this).attr("code");
+  if(data_asc==code){
+    data_desc=code;
+    data_asc="";
+    $("th[code]").removeClass("asc desc");
+    $(this).addClass("desc");
+  }else{
+    data_desc="";
+    data_asc=code;
+    $("th[code]").removeClass("asc desc");
+    $(this).addClass("asc");
+  }
+  getTabData(1);
+});
+
+
+//分页渲染
+function renderPagination(totalPage,activePage,totalNum){
+  let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
+  if(totalPage <= 6){
+    for(let i = 1; i <= totalPage; i++){
+
+      str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+    }
+  }else{
+    if(activePage <= 3){ //选中页数小于4
+      for(let i = 1; i <= 4; i++){
+        str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+      }
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+
+    } else if(activePage > totalPage -3){
+      str += `<span class="pageNum page1" data-page=1>1</span>`
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
+      str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
+      str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
+      str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+    } else {
+      str += `<span class="pageNum page1" data-page=1>1</span>`
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
+      str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
+      str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+    }
+
+  }
+  str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
+  $('.pagination').html(str)
+  $('.page' + activePage).addClass('activePage')
+  $(".pageNum").on("click", function(e){
+    const activePageNow = Number($(this).attr('data-page'))
+    getTabData(activePageNow)
+    // renderPagination(totalPage,activePageNow,totalNum)
+  })
+  $(".prePage").on("click", function(e){
+    let activePageNow = Number($(".activePage").attr('data-page'))
+    if(activePageNow > 1){
+      activePageNow--
+      getTabData(activePageNow)
+      // renderPagination(totalPage,activePageNow,totalNum)
+    }
+  })
+  $(".nextPage").on("click", function(e){
+    let activePageNow = Number($(".activePage").attr('data-page'))
+    if(activePageNow < totalPage){
+      activePageNow++
+      getTabData(activePageNow)
+      // renderPagination(totalPage,activePageNow,totalNum)
+    }
+  })
+
+}
+
+$(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()
+  })
+  $('.exportData').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 = {
+        "isPlacefile":isPlacefile,
+        "deptName": deptName=="全部"?"":deptName||"",
+        "asc":data_asc,     //升序
+        "desc":data_desc,       //降序
+        "startDate":startDateParam.replace(/\//g,'-'),
+        "endDate":endDateParam.replace(/\//g,'-')
+      }
+      expJson(api.entryStatisticsExportByDept,param).then(res =>{
+          downloadExportedData(res.data, "关键条目缺陷占比.xls")
+      })
+  })
+});

+ 53 - 16
src/js/dept/partDetailControlDept.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("@less/dept/partDetailControlDept.less");
 require('../modal.js');
 const {api} = require('@js/api.js')
-const {post,getCookie,getUrlArgObjectNew,emptyBox,setDatePicker,getPickerDate,initScroll,listenScroll} = require('@js/utils.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,setDatePicker,getPickerDate,initScroll,listenScroll,expJson, downloadExportedData } = require('@js/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")
@@ -17,10 +17,11 @@ const arrowRight = require("@images/arrow_right.png")
 listenScroll()
 $(".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="",
+let tabList = [], name = "", behospitalCode="", behosDateStart="",casesNameTemp="",casesName="", level="",behosDateEnd="", scoreSum = 0,statisticsType="",
   nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNum="",doctorNameTemp="",doctorNumTemp="",
   data_desc='',data_asc='';
 let deptList = JSON.parse(getCookie("deptList"))||[]
+let isPlacefile = getCookie('isPlacefile')||1
 $(function(){
     let srcUrl = $("#contentIframe",parent.document).attr("src")
     statisticsType = getUrlArgObjectNew("dateType",srcUrl)||""
@@ -67,6 +68,7 @@ $(function(){
 $(".abnormalClear").click(function(){
     deptId=deptIdTemp = deptList[0]&&deptList[0].deptName
     behospitalCode=behospitalCodeTemp = ""
+    casesName = casesNameTemp = ''
     setDatePicker($("#datepicker"),$("#datepicker2"),"default")
     $(".patientNumInp").val("")
     $(".selectDept").html(deptId).attr({
@@ -74,6 +76,7 @@ $(".abnormalClear").click(function(){
         "title":deptId
     }).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     getmoduleTypeList()
+    $(".selectModuleType").attr({'title':"全部",'data-id':''}).val("全部")
     getTabData(1)
 })
 $(".partTitle a").click(function(){
@@ -182,7 +185,7 @@ function getTabData(activePage){
         "asc": data_asc,
         "desc": data_desc,
         "deptName": deptId||"",
-        "name": behospitalCode||"",
+        "name": casesName||"",
         "type": 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去)
         "startDate":dateStatrt,
         "endDate":dateEnd
@@ -274,28 +277,28 @@ function renderTab(data,hisId,activePage){
     for(let i = 0; i < data.length; i++){
         const item = data[i]
         str += `
-            <tr  data-index=${i}>
+            <tr  data-index=${i} data-doc=${item.doctorName}>
                 <td  class="textCenter">${(activePage-1)*15 + i+1}</td>
-                <td >${item.doctorName || "-"}</td>
+                <td class="">${item.doctorName || "-"}</td>
                 <td class="goHomeDetail" data-ruleType="" data-dept="${item.deptName || ""}">${item.entryNum || "-"}</td>
-                <td class="goHomeDetail1" data-dept="${item.deptName || ""}" data-title="不合格数">${item.secondLevelNum}</td>
-                <td class="goHomeDetail1" data-dept="${item.deptName || ""}" data-title="合格数">${item.firstLevelNum}</td>
-                <td >${item.firstLevelPercentStr || "-"}</td>
+                <td class="goHomeDetail" data-dept="${item.deptName || ""}" data-title="不合格数">${item.secondLevelNum}</td>
+                <td class="goHomeDetail" data-dept="${item.deptName || ""}" data-title="合格数">${item.firstLevelNum}</td>
+                <td class="">${item.firstLevelPercentStr || "-"}</td>
                 <td class="goHomeDetail" data-ruleType="1" data-dept="${item.deptName || ""}">${item.emptyNum+'' || "-"}</td>
-                <td >${item.emptyPercentStr+'' || "-"}</td>
+                <td class="">${item.emptyPercentStr+'' || "-"}</td>
                 <td class="goHomeDetail" data-ruleType="2" data-dept="${item.deptName || ""}">${item.errorNum+'' || "-"}</td>
-                <td >${item.errorPercentStr+'' || "-"}</td>
-                <td >${item.averageValue===null?'-':item.averageValue}</td>
-                <td >${item.mrNum+'' || "-"}</td>
+                <td class="">${item.errorPercentStr+'' || "-"}</td>
+                <td class="">${item.averageValue===null?'-':item.averageValue}</td>
+                <td class="">${item.mrNum+'' || "-"}</td>
             </tr>
         `
     }
     $('.tbody').html(str?str:emptyBox())
     bindScoreDetail(hisId)
     $(".goHomeDetail").click(function(){
-        let docName = $(this).attr("data-doc")
+        let docName = $(this).parent().attr("data-doc")
         let ruleType = $(this).attr("data-ruleType")
-        $(parent.document).find("#contentIframe").attr("src","quexianDetailHome.html?from=1&casesId=243&deptName="+deptIdTemp+"&docName="+docName+"&shijian=3"+"&ruleType="+ruleType+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
+        $(parent.document).find("#contentIframe").attr("src","quexianDetailHome.html?from=10&casesId=243&deptName="+deptIdTemp+"&docName="+docName+"&shijian=3"+"&ruleType="+ruleType+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
     })
     // initScroll("partDetail","YX",1)
 }
@@ -686,5 +689,39 @@ $(document).on("click", function(){
     $(".selectDept .arrow").attr("src",iconDown)
 })
 
-$((function($){
-})($));
+
+$(function() {
+    $('.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()
+    })
+    $('.exportData').click(function(){
+        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 = {
+        "isPlacefile":isPlacefile,
+        "asc": data_asc,
+        "desc": data_desc,
+        "deptName": deptId||"",
+        "name": casesName||"",
+        "type": 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去)
+        "startDate":dateStatrt,
+        "endDate":dateEnd
+        }
+        expJson(api.homePageLevelExportByDept,param).then(res =>{
+        downloadExportedData(res.data,"病案首页合格率占比.xls")
+        })
+    })
+});

File diff suppressed because it is too large
+ 1440 - 0
src/js/dept/qcListCopyDept.js


+ 1 - 1
src/js/deptConsole.js

@@ -62,7 +62,7 @@ function tiaomu(dateType){
     });
     $(".homePage .title").click(function(){
         focusMenuItem("YH-KSZR-BASYHGLZB_XQ")
-        $(parent.document).find("#contentIframe").attr("src","partDetail.html?from=2&deptName="+curDept+"&dateType="+dateType+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
+        $(parent.document).find("#contentIframe").attr("src","partDetailControlDept.html?from=2&deptName="+curDept+"&dateType="+dateType+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
     });
     $(".part02 .bingliLis").click(function(){
         focusMenuItem("YH-KSZR-KSQXZB_XQ");

+ 69 - 27
src/js/mukuai.js

@@ -3,7 +3,7 @@ require("../css/mukuai.less");
 require('./../resource/jquery-ui/jquery-ui.min.js');
 require('./modal.js');
 const {api} = require('./api.js')
-const {post,getCookie,getUrlArgObjectNew,emptyBox,setDatePicker,getPickerDate,initScroll,listenScroll} = require('./utils.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,setDatePicker,getPickerDate,expJson,listenScroll,downloadExportedData} = require('./utils.js')
 const switchIconOpen = require("./../images/btn_open.png")
 const switchIconClose = require("./../images/btn_close.png")
 const iconDown= require("./../images/arrow_down.png")
@@ -17,6 +17,7 @@ $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`
 $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectUsed").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+let isPlacefile = getCookie('isPlacefile')||1
 let deptList = JSON.parse(getCookie("deptList"))||[]
 $(function(){
     dateChange()
@@ -223,21 +224,21 @@ $(".filterclear").on("click", function(e){
     nameTemp = ""
     $(".moduleItemInp").val("")
 })
-$('.selectModuleType').on("click", function(e){
-    e.stopPropagation()
-    $(".rejectList ").css("display","none")
-    $(".usedList ").css("display", "none")
-    $(".selectReject .arrow").attr("src",iconDown)
-    $(".selectUsed .arrow").attr("src",iconDown)
-    const showList =  $(".moduleTypeList ").css("display")
-    if(showList == "none" ||!showList){
-        $(".moduleTypeList ").css("display","block")
-        $(".selectModuleType .arrow").attr("src",iconUp)
-    }else{
-        $(".moduleTypeList ").css("display", "none")
-        $(".selectModuleType .arrow").attr("src",iconDown)
-    }
-})
+// $('.selectModuleType').on("click", function(e){
+//     e.stopPropagation()
+//     $(".rejectList ").css("display","none")
+//     $(".usedList ").css("display", "none")
+//     $(".selectReject .arrow").attr("src",iconDown)
+//     $(".selectUsed .arrow").attr("src",iconDown)
+//     const showList =  $(".moduleTypeList ").css("display")
+//     if(showList == "none" ||!showList){
+//         $(".moduleTypeList ").css("display","block")
+//         $(".selectModuleType .arrow").attr("src",iconUp)
+//     }else{
+//         $(".moduleTypeList ").css("display", "none")
+//         $(".selectModuleType .arrow").attr("src",iconDown)
+//     }
+// })
     
 $('.selectReject').on("click", function(e){
     e.stopPropagation()
@@ -412,20 +413,43 @@ function saveEdit(item,activePage){
     })
 }
 
+
+
+$('.selectModuleType').on("focus", function(e){
+    e.stopPropagation()
+    $(".rejectList ").css("display","none")
+    $(".usedList ").css("display", "none")
+    $(".selectReject .arrow").attr("src",iconDown)
+    $(".selectUsed .arrow").attr("src",iconDown)
+    $(".moduleTypeList ").css("display","block")
+})
+$('.selectModuleType').on("blur", function(e){
+    $(".moduleTypeList ").css("display","none")
+})
+$('.selectModuleType').on("input", function(e){
+    let val = $(this).val().trim()
+    casesName = casesNameTemp = val
+    getmoduleTypeList(val)
+})
+getmoduleTypeList()
 //获取模块类型
-function getmoduleTypeList(){
-    post(api.getQcCasesAll).then(res =>{
+function getmoduleTypeList(val){
+    post(api.getQcCasesAll,{casesName:val=="全部"?"":val||""}).then(res =>{
         if(res.data.code == '0'){
            const  moduleTypeList = res.data.data
            renderModuleTypeList(moduleTypeList)
-        }else{}
+        }else{
+            renderModuleTypeList([])
+        }
     }).catch((e) =>{
     
     })
 }
-
-
 function renderModuleTypeList(moduleTypeList){
+    if(moduleTypeList.length == 0){
+      $('.moduleTypeList').html("")
+      return
+    }
     let str = `<li class="modeTypeItem " data-id=" " data-name="全部">全部</li>`
     for(let i = 0; i < moduleTypeList.length; i++){
         str += `<li class="modeTypeItem ellipsis" title=${moduleTypeList[i].name} data-id=${moduleTypeList[i].id} data-name=${moduleTypeList[i].name}> ${moduleTypeList[i].name}</li>`
@@ -436,13 +460,11 @@ function renderModuleTypeList(moduleTypeList){
 
 //模块类型选择
 function bindModuleTypeSelect(){
-    $('.modeTypeItem').on("click",function(){
+    $('.modeTypeItem').on("mousedown",function(){
         const modeTypeItemName = $(this).attr("data-name")
         const modeTypeItemId = $(this).attr("data-id")
-        casesIdTemp =modeTypeItemId
-        $('.selectModuleType').html(modeTypeItemName).attr("title",modeTypeItemName)
-        $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
-
+        name=nameTemp = modeTypeItemName=="全部"?"":modeTypeItemName;
+        $('.selectModuleType').val(modeTypeItemName).attr("title",modeTypeItemName)
         $(".moduleTypeList ").css("display", "none")
     })
 }
@@ -534,7 +556,7 @@ function renderPagination(totalPage,activePage,totalNum){
 }
 
 $(document).on("click", function(){
-    $(".moduleTypeList ").css("display", "none")
+    // $(".moduleTypeList ").css("display", "none")
     $(".rejectList ").css("display","none")
     $(".usedList ").css("display", "none")
     $(".selectModuleType .arrow").attr("src",iconDown)
@@ -556,4 +578,24 @@ $(function() {
     $('.iconCalen').on("click", function(e){
         $(this).parent().find("input").focus()
     })
+
+    $('.exportData').click(function(){
+        const start = new Date(startDateParam).getTime()
+        const end = new Date(endDateParam).getTime()
+        if(start > end){
+            $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+            return
+        }
+        const param = {
+            type: 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去)
+            name: name, //条目名
+            deptName: deptId||(deptList.length>0?deptList[0].deptName:''), //科室名
+            "startDate":startDateParam,
+            "endDate":endDateParam,
+            "isPlacefile":isPlacefile
+        }
+        expJson(api.entryGroupExportByDeptCase,param).then(res =>{
+            downloadExportedData(res.data, "各模块缺陷占比.xls")
+        })
+    })
 });

+ 1 - 1
src/js/quexianDetailControlHome.js

@@ -611,7 +611,7 @@ $(function() {
             "startDate":startDateParam,
             "endDate":endDateParam
         }
-        expJson(api.entryCountGroupByEntryExport,param).then(res =>{
+        expJson(api.entryGroupExportByDeptEntry,param).then(res =>{
             downloadExportedData(res.data, "病案首页合格率占比 / 缺陷列表.xls")
         })
     })

+ 52 - 16
src/js/quexianDetailHome.js

@@ -3,7 +3,7 @@ require("../css/quexianDetailHome.less");
 require('./../resource/jquery-ui/jquery-ui.min.js');
 require('./modal.js');
 const {api} = require('./api.js')
-const {post,getCookie,getUrlArgObjectNew,emptyBox,setDatePicker,getPickerDate,initScroll,listenScroll} = require('./utils.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,setDatePicker,getPickerDate,downloadExportedData,expJson,listenScroll} = require('./utils.js')
 require('./../resource/jquery-ui/jquery-ui.min.js');
 require('./../resource/jquery-ui/jquery-ui.min.css');
 const switchIconOpen = require("./../images/btn_open.png")
@@ -13,12 +13,13 @@ const iconUp = require("./../images/arrow_up.png")
 const arrowLeft= require("./../images/arrow_left.png")
 const arrowRight = require("./../images/arrow_right.png")
 listenScroll('.quexianDetailHome')
+let isPlacefile = getCookie('isPlacefile')||1
 
 let casesId="", name="", isReject ="",deptName="", isUsed ="",ruleType="",casesIdTemp="", data_asc=[],data_desc=["casesName"],nameTemp="",casesIds="", isRejectTemp ="", isUsedTemp ="",from="",deptIdTemp="",deptItemId="",deptId=""
 $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectUsed").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
-$(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+// $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let deptList = JSON.parse(getCookie("deptList"))||[]
 $(function(){
     dateChange()
@@ -31,6 +32,7 @@ $(function(){
     ruleType= getUrlArgObjectNew("ruleType",srcUrl)||""
     let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
     let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
+    $('.selectDefect').html(deptName).attr("title",deptName)
     if(isReject == 1){
         $(".monthYear .mon").css({
             backgroundColor:'#00A1FF',
@@ -59,7 +61,7 @@ $(function(){
     }
     from = getUrlArgObjectNew("from",srcUrl)||""
     if(from == 1){
-        $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a><a class="consoleP" href="partDetail.html">病案首页合格率占比 / </a>缺陷详情`)
+        $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a><a class="consoleP" href="partDetailControlDept.html">病案首页合格率占比 / </a>缺陷列表`)
         $(".partTitle .consoleD").click(function(){
             focusMenuItem('YH-KZTKS')
             $(".container",parent.document).addClass("console-cont");
@@ -68,7 +70,7 @@ $(function(){
             focusMenuItem('YH-KSZR-BASYHGLZB_XQ')
         })
     }else{
-        $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台(科室) / </a><a class="consoleP" href="deptScoreDetail.html">各科室缺陷占比 / </a>缺陷详情`)
+        $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台(科室) / </a><a class="consoleP" href="deptScoreDetail.html">各科室缺陷占比 / </a>缺陷列表`)
         $(".partTitle .consoleD").click(function(){
             focusMenuItem('YH-KZT')
             $(".container",parent.document).addClass("console-cont");
@@ -119,7 +121,7 @@ function bindDeptSelect(){
             $('.selectDept').html(deptItemName)
         }
         $('.selectDept ').attr('title',deptItemName)
-        $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        // $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 
         $(".deptList").css("display", "none")
     })
@@ -128,16 +130,16 @@ function bindDeptSelect(){
 
 $('.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)
-    }
+    // $(".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)
+    // }
 })
 
 //科室处理
@@ -315,8 +317,9 @@ function renderTab(data,activePage){
         str += `
             <tr data-id=${item.id} data-index=${i}>
                 <td  class="textCenter">${(activePage-1)*15 + i+1}</td>
+                <td class="textCenter">${item.casesName}</td>
                 <td>${item.name}</td>
-                <td class="textCenter">${item.num}</td>
+                <td class="textCenter canJump" data-ruleType="${item.ruleType}">${item.num}</td>
                 <td  class="textCenter">${item.percentStr}</td>
             </tr>
         `
@@ -324,6 +327,12 @@ function renderTab(data,activePage){
     $('.tbody').html(str?str:emptyBox())
     bindEdit(data,activePage)
     // initScroll("quexianDetailHome","Y",1)
+    $(".canJump").click(function(){
+        // let ruleType = $(this).attr("data-ruleType")
+        let index = $(this).parent().attr("data-index")
+        let defectName = data[index].name
+        $(parent.document).find("#contentIframe").attr("src","../qcListCopyDept.html?deptName="+deptName+"&deptId="+deptId+"&from=10&casesId=243"+"&shijian=3"+"&ruleType="+ruleType+"&startDate="+startDateParam+"&endDate="+endDateParam+"&defectName="+defectName)
+    })
 }
 
 function bindEdit(data,activePage){
@@ -584,4 +593,31 @@ $(function() {
     $('.iconCalen').on("click", function(e){
         $(this).parent().find("input").focus()
     })
+    
+    $('.exportData').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 = {
+            isPlacefile:isPlacefile,
+            type: 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去)
+            name: name, //条目名
+            doctorName:docName||"",
+            deptName:deptName=="全院"?"":(deptName||""),
+            casesName:deptId||"",
+            casesId:casesIds||"",
+            ascs:data_asc,
+            descs:data_desc,
+            ruleType:ruleType||null,
+            size: 15,
+            "startDate":startDateParam,
+            "endDate":endDateParam
+        }
+        expJson(api.entryCountGroupByEntryExport,param).then(res =>{
+            downloadExportedData(res.data, "病案首页合格率占比 / 缺陷列表.xls")
+        })
+    })
 });

+ 11 - 5
src/js/singleVeto.js

@@ -51,10 +51,14 @@ $(function(){
     if(special){
         $(".singleVeto .partTitle .pices span").html("条目缺陷占比")
     }
+    // YH-ZKK-TMQXZB_XQ
+    $(".menu .page", parent.document).removeClass("active")
     if(from == 2){
+        $(parent.document).find(".menu .page[code=YH-KSZR-TMQXZB_XQ]").addClass("active")
         $(".partTitle a").attr("href","deptConsole.html").html("控制台(科室) / ")
         $(".partTitle .pices span").html("条目缺陷占比")
     }else{
+        $(parent.document).find(".menu .page[code=YH-ZKK-TMQXZB_XQ]").addClass("active")
         $(".partTitle a").attr("href","console.html").html("控制台 / ")
         $(".partTitle .pices span").html("条目缺陷占比")
     }
@@ -255,9 +259,7 @@ function hasData(data){
     return false;
 }
 
-// YH-ZKK-TMQXZB_XQ
-$(".menu .page", parent.document).removeClass("active")
-$(parent.document).find(".menu .page[code=YH-ZKK-TMQXZB_XQ]").addClass("active")
+
 
 $(".moduleItemInp").on("input", function(e){
     const val = $(this).val().trim()
@@ -338,8 +340,12 @@ function goDetail(data){
          let defectId = $(this).parent().attr("data-id")
          let caseId = $(this).parent().attr("data-caseId")
         const item = data[index]
-        // focusMenuItem("YH-ZKK-GKSQXZB_XQ");
-        $(parent.document).find("#contentIframe").attr("src",`./qcListCopy.html?defectName=${defectName}&casesId=${caseId} &defectId=${defectId}&startDate=${startDateParam}&endDate=${endDateParam}&from=${from}&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`)
+        alert(from)
+        if(from == 2){
+            $(parent.document).find("#contentIframe").attr("src",`./qcListCopyDept.html?defectName=${defectName}&casesId=${caseId} &defectId=${defectId}&startDate=${startDateParam}&endDate=${endDateParam}&from=2&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`)
+        }else{
+            $(parent.document).find("#contentIframe").attr("src",`./qcListCopy.html?defectName=${defectName}&casesId=${caseId} &defectId=${defectId}&startDate=${startDateParam}&endDate=${endDateParam}&from=${from}&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`)
+        }
     })
 }
 

+ 10 - 1
src/js/utils.js

@@ -29,6 +29,13 @@ const pageMap = {
   'YH-JCSJWH': 'deptScoreDetailControl.html',
   'YH-ZKK-GKSQXZB_XQ': 'deptScoreDetailControl.html',
 
+  'YH-KSZR-KSQXZB_XQ': 'deptScoreDetailControlDept.html?from=2',
+  'YH-ZKK-GKSJJBLZB_XQ': 'jiaji.html',
+
+  'YH-ZKK-BASYHGLZB_XQ': 'partDetailControl.html',
+  'YH-KSZR-BASYHGLZB_XQ': 'partDetailControlDept.html',
+  'YH-ZKK-ZKHCTJ': 'checkControl.html',
+
   'YH-KSZR-KSQXZB_XQ': 'deptScoreDetail.html?from=2',
   'YH-ZKK-GKSJJBLZB_XQ': 'jiaji.html',
 
@@ -49,6 +56,8 @@ const pageMap = {
   'YH-ZKK-WZGBLTJ': 'uncorrectedCasesStatistics.html',
   'YH-ZKK-31TZRYRS': 'readmission.html',
   'YH-ZKK-YXBLJCB': 'uncorrectedCopy.html',
+
+  'YH-KSZR-GJTMQXZB_XQ': 'keyItemFlawControlDept.html',
 };
 
 //导出时间天数
@@ -160,7 +169,7 @@ const post = function(url, data) {
         if (error.status === 403 || error.status === 401) {
           setCookie('behosDateStart', '');
           setCookie('behosDateEnd', '');
-          wd.location.href = '../login.html';
+          // wd.location.href = "../login.html";
         } else if (error.status === 500 || error.status === 501 || error.status === 404) {
           wd.location.href = '../error.html?code=' + error.status;
         }