Browse Source

病历质控报表联调

zhouna 4 years ago
parent
commit
6c4cd88907
10 changed files with 3543 additions and 13 deletions
  1. 0 1
      src/css/console.less
  2. 436 0
      src/css/qcListDeptYw.less
  3. 401 0
      src/css/qcListYw.less
  4. 138 0
      src/html/qcListDeptYw.html
  5. 136 0
      src/html/qcListYw.html
  6. 1 10
      src/js/api.js
  7. 1 1
      src/js/console.js
  8. 1203 0
      src/js/qcListDeptYw.js
  9. 1224 0
      src/js/qcListYw.js
  10. 3 1
      src/js/utils.js

+ 0 - 1
src/css/console.less

@@ -15,7 +15,6 @@ div.console {
     border-left: 0 none;
     border-radius: 4px;
     overflow: hidden;
-    box-sizing: border-box;
     height: 28px !important;
     line-height: 28px !important;
     box-sizing: border-box;

+ 436 - 0
src/css/qcListDeptYw.less

@@ -0,0 +1,436 @@
+@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
+}
+.main-body{
+    .main-body-com;
+    border: none;
+    border-left:10px @disColor solid;
+    margin: 54px 0 0;
+    min-width: 1090px;
+    min-height: calc(100% - 84px);
+    /*width: 100%;*/
+}
+.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: 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;
+    /*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_up.png") 60px center no-repeat;
+    padding-right: 15px;
+    background-size: 10px 6px;
+    &.up{
+        background: url("../images/arrow_down.png") 60px center no-repeat;
+        background-size: 10px 6px;
+    }
+}
+.filterItem{
+    position: relative;
+    display: inline-block;
+    float: left;
+    height: 40px;
+    line-height: 40px;
+    margin: 0 20px 20px 0;
+    span{
+        display: inline-block;
+        line-height: 32px;
+        position: relative;
+    }
+    input{
+        width:120px;
+        height:32px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        outline: none;
+        margin-right: 10px;
+        padding: 0 10px;
+        box-sizing: border-box;
+    }
+    input:focus{
+        border: 1px solid @activeColor ;
+        outline: 0;
+        -webkit-box-shadow:@activeColor  0px 0px 2px;
+        -moz-box-shadow: @activeColor  0px 0px 2px;
+        box-shadow: @activeColor  0px 0px 2px;
+    }
+}
+
+.filterDropList{
+    position: absolute;
+    right: 0;
+    max-height: 200px;
+    overflow-y: auto;
+    background: #fff;
+    display: none;
+    border: 1px solid #e4e7ed;
+    box-shadow: 0 2px 12px 0 #e4e7ed;
+    z-index: 2;
+    li{
+        padding: 0 10px;
+    }
+}
+.deptList{
+    width: 160px;
+    max-height: 400px;
+}
+.levelList,.checkList{
+    width: 120px;
+    // height: 200px;
+    li:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+}
+
+.selectLevel,.selectDept,.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;
+    margin: 0 0 0  50px;
+}
+.iconSetting{
+    width: 18px;
+    position: relative;
+    top: 3px;
+    margin: 0 3px 0 0;
+}
+.iconCalen{
+    position: absolute;
+    width: 15px;
+    top: 8px;
+    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;
+}
+
+
+
+.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;
+}
+.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;
+}

+ 401 - 0
src/css/qcListYw.less

@@ -0,0 +1,401 @@
+@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;
+}
+.main-body{
+    .main-body-com;
+    border: none;
+    border-left:10px @disColor solid;
+    margin: 54px 0 0;
+    min-width: 1090px;
+    min-height: calc(100% - 54px);
+    // overflow: auto;
+}
+.borderRight{
+    position: absolute;
+    height: 100%;
+}
+.qctable{
+    .table;
+    min-width: 1090px;
+    th,td{
+        padding:5px 10px;
+    }
+ 
+    th{
+        white-space: nowrap;
+    }
+    th[sortable]{
+        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_up.png") 60px center no-repeat;
+    padding-right: 15px;
+    background-size: 10px 6px;
+    &.up{
+        background: url("../images/arrow_down.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;
+    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;
+    .more-cont{
+        display: inline-block;
+        white-space: normal;
+        width: 180px;
+        a{
+            cursor: pointer;
+            font-size: 12px;
+            color: @activeColor;
+        }
+        .part-2{
+            display: none;
+        }
+        &.spread{
+
+        }
+    }
+}
+.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;
+}
+
+
+
+
+

+ 138 - 0
src/html/qcListDeptYw.html

@@ -0,0 +1,138 @@
+<!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 qcListDept">
+        <h2>病历质控报表</h2>
+        <div class="main-body">
+            <div class="filterBox">
+                <div class="clearfix">
+                    <span class="filterItem typeFilter">
+                        <span>科室:</span>
+                        <span class="selectDept">
+                            全部
+                        </span>
+
+                        <ul class="deptList filterDropList"></ul>
+                    </span>
+                    <span class="filterItem typeFilter clearfix">
+                        <span class="fl">出院日期:</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly/></span>
+                        <span  class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/></span>
+                    </span>
+                    <span class="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 up" id="filterToggler">展开筛选</a>
+                <div class="toggle-item clearfix">
+                    <span class="filterItem typeFilter">
+                        <span>病人姓名:</span>
+                        <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+                    </span>
+                    <span class="filterItem typeFilter">
+                        <span>病人住院序号:</span>
+                        <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>主管医生:</span>
+                        <input class="doctorInp" type="text" placeholder="请输入主管医生">
+                    </span>
+                    <span class="filterItem doctorFilter fpFilterItem">
+                        <span>病案首页核查人:</span>
+                        <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
+                    </span>
+                    <span class="filterItem doctorFilter qcFiliterItem">
+                        <span>病历核查人:</span>
+                        <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
+                    </span>
+                </div>
+            </div>
+            <div class="overAuto">
+                <table class="qctable">
+                    <thead>
+                    <!--<tr class="tabOpera">
+                        <!-- colspan="18" style="background: #fff">
+                            <div class="tabFoot">
+                                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                <span class="recordScoreBtn">评分</span>
+                            </div>
+                        </td>
+                        </tr>-->
+                        <tr class="tabTitle">
+                            <th class="beHospitalId textCenter">序号</th>
+                            <th class="patientName textCenter" code key="name" style="width: 100px;">病人姓名</th>
+                            <th class="beHospitalId textCenter" code key="behospitalCode">病人住院序号</th>
+                            <th class="doctorName textCenter" code key="doctorName">主管医生</th>
+                            <th class="deptName textCenter" code key="deptName">科室</th>
+                            <th class="outHospitalDate textCenter desc" code key="leaveHospitalDate">出院日期</th>
+                            <th class="patientNo textCenter" key="medHomePage">病案首页</th>
+                            <th class="patientNo textCenter" key="medHomePageScore">扣分</th>
+                            <th class="patientNo textCenter" key="admissionNote">入院记录</th>
+                            <th class="patientNo textCenter" key="admissionNoteScore">扣分</th>
+                            <th class="patientNo textCenter" key="firstCourseNote">首次病程录</th>
+                            <th class="patientNo textCenter" key="firstCourseNoteScore">扣分</th>
+                            <th class="patientNo textCenter" key="courseRecord">病程记录</th>
+                            <th class="patientNo textCenter" key="courseRecordScore">扣分</th>
+                            <th class="patientNo textCenter" key="operationInfo">手术信息</th>
+                            <th class="patientNo textCenter" key="operationInfoScore">扣分</th>
+                            <th class="patientNo textCenter" key="dischargeNote">出院记录</th>
+                            <th class="patientNo textCenter" key="dischargeNoteScore">扣分</th>
+                            <th class="patientNo textCenter" key="docAdviceNote">医嘱单</th>
+                            <th class="patientNo textCenter" key="docAdviceNoteScore">扣分</th>
+                            <th class="patientNo textCenter" key="otherCase">其他</th>
+                            <th class="patientNo textCenter" key="otherCaseScore">扣分</th>
+                            <th class="recordScore textCenter" key="totalScore">总分</th>
+                            <th class="recordLevel textCenter" code key="level">病历等级</th>
+                            <th class="patientSex textCenter" code key="mrName">病案首页核查人</th>
+                            <th class="patientSex textCenter" code key="chName">病历核查人</th>
+                        </tr>
+                    </thead>
+                    <tbody class="tbody">
+
+                    </tbody>
+                    <!-- <tfoot>
+                    <tr>
+                        <td colspan="17">
+                            <div class="tabFoot">
+                                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                <span class="recordScoreBtn">评分</span>
+                            </div>
+                        </td>
+                    </tr>
+                    </tfoot> -->
+                </table>
+            </div>
+
+            <!--<div class="tabFoot">
+                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="" alt="checkbox">全选</span>
+                <span class="recordScoreBtn">评分</span>
+            </div>-->
+
+            <div class="pagination"></div>
+        </div>
+        
+    </div>
+</body>
+
+</html>

+ 136 - 0
src/html/qcListYw.html

@@ -0,0 +1,136 @@
+<!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 qcList">
+        <h2>病历质控报表</h2>
+        <div class="main-body">
+            <div class="filterBox">
+                <div class="clearfix">
+                    <span class="filterItem typeFilter deptListWrap">
+                        <span>科室:</span>
+                        <input type="text" class="selectDept canEditDept" value="全部">
+                        <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 up" id="filterToggler">展开筛选</a>
+                <div class="toggle-item clearfix">
+                    <span class="filterItem typeFilter">
+                        <span>病人姓名:</span>
+                        <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+                    </span>
+                    <span class="filterItem typeFilter">
+                        <span>病人住院序号:</span>
+                        <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>主管医生:</span>
+                        <input class="doctorInp" type="text" placeholder="请输入主管医生">
+                    </span>
+                    <span class="filterItem doctorFilter fpFilterItem">
+                        <span>病案首页核查人:</span>
+                        <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
+                    </span>
+                    <span class="filterItem doctorFilter qcFiliterItem">
+                        <span>病历核查人:</span>
+                        <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
+                    </span>
+                </div>
+            </div>
+            <div class="overAuto">
+                <table class="qctable">
+                    <thead>
+                    <!--<tr class="tabOpera">
+                         <td colspan="18" style="background: #fff">
+                            <div class="tabFoot">
+                                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                <span class="recordScoreBtn">评分</span>
+                            </div>
+                        </td>
+                    </tr>-->
+                    <tr class="tabTitle">
+                        <!--code用于排序兼容之前的页面,key用于获取字段值-->
+                        <th class="beHospitalId textCenter">序号</th>
+                        <th class="patientName textCenter" code="name" key="name" style="width: 100px;">病人姓名</th>
+                        <th class="beHospitalId textCenter" code="behospitalCode" key="behospitalCode">病人住院序号</th>
+                        <th class="doctorName textCenter" code="doctorName" key="doctorName">主管医生</th>
+                        <th class="deptName textCenter" code="deptName" key="deptName">科室</th>
+                        <th class="outHospitalDate textCenter desc" code key="leaveHospitalDate">出院日期</th>
+                        <th class="patientNo textCenter" key="medHomePage">病案首页</th>
+                        <th class="patientNo textCenter" key="medHomePageScore">扣分</th>
+                        <th class="patientNo textCenter" key="admissionNote">入院记录</th>
+                        <th class="patientNo textCenter" key="admissionNoteScore">扣分</th>
+                        <th class="patientNo textCenter" key="firstCourseNote">首次病程录</th>
+                        <th class="patientNo textCenter" key="firstCourseNoteScore">扣分</th>
+                        <th class="patientNo textCenter" key="courseRecord">病程记录</th>
+                        <th class="patientNo textCenter" key="courseRecordScore">扣分</th>
+                        <th class="patientNo textCenter" key="operationInfo">手术信息</th>
+                        <th class="patientNo textCenter" key="operationInfoScore">扣分</th>
+                        <th class="patientNo textCenter" key="dischargeNote">出院记录</th>
+                        <th class="patientNo textCenter" key="dischargeNoteScore">扣分</th>
+                        <th class="patientNo textCenter" key="docAdviceNote">医嘱单</th>
+                        <th class="patientNo textCenter" key="docAdviceNoteScore">扣分</th>
+                        <th class="patientNo textCenter" key="otherCase">其他</th>
+                        <th class="patientNo textCenter" key="otherCaseScore">扣分</th>
+                        <th class="recordScore textCenter" key="totalScore">总分</th>
+                        <th class="recordLevel textCenter" code="level" key="level">病历等级</th>
+                        <th class="patientSex textCenter" code="mrName" key="mrName">病案首页核查人</th>
+                        <th class="patientSex textCenter" code="chName" key="chName">病历核查人</th>
+                    </tr>
+                    </thead>
+                    <tbody class="tbody">
+
+                    </tbody>
+                    <tfoot>
+                        <!-- <tr>
+                            <td colspan="17">
+                                <div class="tabFoot">
+                                    <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                    <span class="recordScoreBtn">评分</span>
+                                </div>
+                            </td>
+                        </tr> -->
+                    </tfoot>
+                </table>
+            </div>
+
+            <!--<div class="tabFoot">
+                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="" alt="checkbox">全选</span>
+                <span class="recordScoreBtn">评分</span>
+            </div>-->
+
+            <div class="pagination"></div>
+        </div>
+
+    </div>
+</body>
+
+</html>

+ 1 - 10
src/js/api.js

@@ -16,6 +16,7 @@ const api = {
   qcListByDept: '/qc/behospitalInfo/page_dept',
   qcListByPerson: '/qc/behospitalInfo/page_person',
   qcListByDoc: '/qc/behospitalInfo/page_group', //质控评分(医疗组)
+  qcListYw:'/console/qualityControl',  //病历质控报表-义务全院
   saveQcCases: '/qc/cases/saveQcCases',
   recordScore: '/qc/behospitalInfo/analyze',
   getInfoModule: '/qc/module/getById',
@@ -127,22 +128,12 @@ const api = {
   casesEntryStatisticsById: '/console/casesEntryStatisticsById', //入院记录24小时未完成
   beHosCount: '/console/beHosCount', //入院人数
 
-  getmedCheckPage: '/qc/medPacsInfo/getCheckPage', //检查信息
-  getExaminePage: '/qc/medLisInfo/getExaminePage', //检验信息
-  getExamineSonPage: '/qc/medLisInfo/getExamineSonPage', //检验信息detail
-
   medicalCheckTitle: '/console/medicalCheckTitle', //稽查表头
   medicalCheckForm: '/console/medicalCheckForm', //稽查表格
   medicalCheckExport: '/console/export/medicalCheckExport', //稽查表导出
   getMedNursePage: '/qc/medNurse/getMedNursePage', //护理信息
 
-  exportQcresultByPerson: '/qc/behospitalInfo/exportQcresultByPerson', //个人质控导出
-
-  beHosCountByDept: '/consoleByDept/beHosCountByDept', //入院记录(科室首页,运行)
-  casesEntryStatisticsByDept: '/consoleByDept/casesEntryStatisticsByDept', //24h(科室首页,运行)
-  homePageOrGoodLevelByDept: '/consoleByDept/homePageOrGoodLevelByDept', //(科室病案首页,终末)
   entryGroupExportByDeptPage: '/print/export/entryGroupExportByDeptPage', //(科室病案首页导出,终末)
-  getListDoctor: '/bas/doctor/getList', //(科室医生列表)
   qcCheckStatisticsByDept: '/consoleByDept/qcCheckStatisticsByDept', //(质控核查统计-科室)
   qcCheckStaExportByDept: '/print/export/qcCheckStaExportByDept', //(质控核查统计-科室)
   reHos31DaysPageByDept: '/consoleByDept/reHos31DaysPageByDept', // 31日再入院-科室)

+ 1 - 1
src/js/console.js

@@ -221,7 +221,7 @@ $(parent.document).find(".menu .page[code=YH-KZT]").addClass("active")
 
 //判断有无某一权限
 function hasData(data){
-    let lis = JSON.parse(getCookie("codeLis"))
+    let lis = JSON.parse(getCookie("codeLis"))||''
     // console.log(lis)
     if(lis.indexOf(data)>-1){//有权限
         return true

File diff suppressed because it is too large
+ 1203 - 0
src/js/qcListDeptYw.js


File diff suppressed because it is too large
+ 1224 - 0
src/js/qcListYw.js


+ 3 - 1
src/js/utils.js

@@ -3,7 +3,7 @@ const $ = require('jquery');
 const axios = require('axios');
 var Utils = require('./rePromise');
 require('./scrollBar.js');
-const baseUrl = 'http://192.168.2.241:5858';
+const baseUrl = 'http://192.168.2.236:5858';
 //页面映射
 const pageMap = {
   'YH-KZT': 'console.html',
@@ -62,6 +62,8 @@ const pageMap = {
   'YH-KSZR-GJTMQXZB_XQ': 'keyItemFlawControlDept.html',
   'YH-KSZR-CYRSTJ_XQ': 'qcListOutHospitalDept.html?from=2',
   'YH-KSZR-RYRSTJ_XQ': 'qcListOutHospitalDept.html?inner=2&from=2',
+  'YH-ZKK-BLZK_XQ':'qcListYw.html',
+  'YH-KSZR-BLZK_XQ':'qcListDeptYw.html',
 };
 
 //导出时间天数