Browse Source

出院人数统计

zhangxc 4 years ago
parent
commit
cf6bc1fec0

+ 371 - 0
src/css/qcListOutHospital.less

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

+ 1 - 1
src/html/qcList.html

@@ -23,7 +23,7 @@
 
                         <ul class="deptList filterDropList"></ul>
                     </span>
-                    <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                    <span class="filterItem typeFilter clearfix" >
                         <span class="fl">出院日期:</span>
                         <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly /></span>
                         <span  class="divide fl">-</span>

+ 1 - 1
src/html/qcListCopy.html

@@ -26,7 +26,7 @@
 
                         <ul class="deptList filterDropList"></ul>
                     </span>
-                    <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                    <span class="filterItem typeFilter clearfix" >
                         <span class="fl">出院日期:</span>
                         <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly /></span>
                         <span  class="divide fl">-</span>

+ 1 - 1
src/html/qcListDept.html

@@ -23,7 +23,7 @@
 
                         <ul class="deptList filterDropList"></ul>
                     </span>
-                    <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                    <span class="filterItem typeFilter clearfix">
                         <span class="fl">出院日期:</span>
                         <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly/></span>
                         <span  class="divide fl">-</span>

+ 1 - 1
src/html/qcListDocteam.html

@@ -15,7 +15,7 @@
         <div class="main-body">
             <div class="filterBox">
                 <div class="clearfix">
-                    <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                    <span class="filterItem typeFilter clearfix" >
                         <span class="fl">出院日期:</span>
                         <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly/></span>
                         <span  class="divide fl">-</span>

+ 152 - 0
src/html/qcListOutHospital.html

@@ -0,0 +1,152 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>病历质控评分</title>
+    
+</head>
+
+<body>
+    <div class="container qcListOutHospital">
+        <!-- <h2>质控评分</h2>控制台 / 条目缺陷占比 / 缺陷详情 -->
+        <div class="partTitle">
+            <p class="titlePic"></p>
+          </div>
+        <div class="main-body">
+            <div class="filterBox">
+                <div class="clearfix">
+                    <span class="filterItem">
+                        <span>出院人数:</span>
+                        <span class="selectLeaveHosType">全部</span>
+                        <ul class="leaveHosTypeList filterDropList">
+                            <Li class="leaveHosTypeItem" data-name="全部" data-id="全部">全部</Li>
+                            <Li class="leaveHosTypeItem" data-name="死亡人数" data-id="1">死亡人数</Li>
+                            <Li class="leaveHosTypeItem" data-name="新生儿" data-id="2">新生儿</Li>
+                            <li class="leaveHosTypeItem" data-name="手术病人数" data-id="3">手术病人数</li>
+                            <li class="leaveHosTypeItem" data-name="非医嘱离院病人" data-id="4">非医嘱离院病人</li>
+                            <li class="leaveHosTypeItem" data-name="31日再入院病人" data-id="5">31日再入院病人</li>
+                        </ul>
+                    </span>
+                    <span class="filterItem typeFilter deptListWrap">
+                        <span>科室:</span>
+                        <span class="selectDept">
+                            全部
+                        </span>
+
+                        <ul class="deptList filterDropList"></ul>
+                    </span>
+                    <span class="filterItem typeFilter clearfix" >
+                        <span class="fl">出院日期:</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly /></span>
+                        <span  class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/></span>
+                    </span>
+                    
+                    <span class="filter">查询</span>
+                    <span class="filterclear abnormalClear filterclearT">重置</span>
+                    <span class="export">导出</span>
+                </div>
+                <a href="javascript:void(0);" class="filter-toggler up" id="filterToggler">收起筛选</a>
+                <div class="toggle-item clearfix">
+                    <span class="filterItem">
+                        <span>病历等级:</span>
+                        <span class="selectLevel">全部</span>
+                        <ul class="levelList filterDropList">
+                            <Li class="levelItem" data-name="全部" data-id="全部">全部</Li>
+                            <Li class="levelItem" data-name="未评分" data-id="未评分">未评分</Li>
+                            <Li class="levelItem" data-name="甲" data-id="甲">甲</Li>
+                            <li class="levelItem" data-name="乙" data-id="乙">乙</li>
+                            <li class="levelItem" data-name="丙" data-id="丙">丙</li>
+                        </ul>
+                    </span>
+                    <span class="filterItem typeFilter">
+                        <span>病人姓名:</span>
+                        <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+                    </span>
+                    <span class="filterItem typeFilter">
+                        <span>病人住院序号:</span>
+                        <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>医生姓名:</span>
+                        <input class="doctorInp" type="text" placeholder="请输入医生姓名">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>医生工号:</span>
+                        <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
+                    </span>
+                    
+                    <span class="filterItem">
+                        <span>核查状态:</span>
+                        <span class="selectCheck">全部</span>
+                        <ul class="checkList filterDropList">
+                            <Li class="checkItem" data-name="全部" data-id="全部">全部</Li>
+                            <Li class="checkItem" data-name="未核查" data-id="0">未核查</Li>
+                            <Li class="checkItem" data-name="已核查" data-id="1">已核查</Li>
+                        </ul>
+                    </span>
+                </div>
+            </div>
+            <div class="overAuto">
+                <table>
+                    <thead>
+                    <tr class="tabOpera">
+                        <!-- <td colspan="18" style="background: #fff">
+                            <div class="tabFoot">
+                                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                <span class="recordScoreBtn">评分</span>
+                            </div>
+                        </td> -->
+                    </tr>
+                    <tr class="tabTitle">
+                        <!-- <th class="textCenter" ></th>
+                        <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th>
+                        <th class="beHospitalId textCenter" code="behospital_code">病人住院序号</th>
+                        <th class="patientNo textCenter" code="file_code">病案号</th>
+                        <th class="patientName textCenter" code="name" style="width: 100px;">病人姓名</th>
+                        <th class="patientSex textCenter" code="sex">性别</th>
+                        <th class="patientage textCenter" code="age">年龄</th>
+                        <th class="bedNum textCenter" code="bed_code">床号</th>
+                        <th class="inHospitalDate textCenter" code="behospital_date">入院日期</th>
+                        <th class="outHospitalDate textCenter desc" code="leave_hospital_date">出院日期</th>
+                        <th class="diagnose textCenter" code="diagnose">主诊断</th>
+                        <th class="doctorName textCenter" code="beh_doctor_name">住院医生</th>
+                        <th class="doctorName textCenter" code="doctor_name">主管医生</th>
+                        <th class="doctorName textCenter" code="director_doctor_name">主任医生</th>
+                        <th class="deptName textCenter" code="beh_dept_name">科室</th>
+                        <th class="recordLevel textCenter" code="level">病历等级</th>
+                        <th class="recordScore textCenter" code="score_res">病历得分</th>
+                        <th class="scoreTime textCenter" code="grade_time">评分时间</th> -->
+                    </tr>
+                    </thead>
+                    <tbody class="tbody">
+
+                    </tbody>
+                    <tfoot>
+                        <!-- <tr>
+                            <td colspan="17">
+                                <div class="tabFoot">
+                                    <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                    <span class="recordScoreBtn">评分</span>
+                                </div>
+                            </td>
+                        </tr> -->
+                    </tfoot>
+                </table>
+            </div>
+
+            <!--<div class="tabFoot">
+                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="" alt="checkbox">全选</span>
+                <span class="recordScoreBtn">评分</span>
+            </div>-->
+
+            <div class="pagination"></div>
+        </div>
+
+    </div>
+</body>
+
+</html>

+ 1 - 1
src/html/qcListPerson.html

@@ -22,7 +22,7 @@
                     </span>
                     <ul class="deptList filterDropList"></ul>
                 </span>
-                 <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                 <span class="filterItem typeFilter clearfix" >
                     <span class="fl">出院日期:</span>
                     <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly/></span>
                     <span  class="divide fl">-</span>

+ 3 - 0
src/js/api.js

@@ -93,6 +93,8 @@ const api = {
     getQcListPageSet:'/sys/user/pageset/getPageSet',
     saveQcListPageSet:'/sys/user/pageset/savePageSet',
     checkQc:'/qc/medCheckInfo/addMedCheckInfo', //核查病历
+    leaveHosMRPage:'/console/leaveHosMRPage', //出院人数统计详情
+    
 
     //导出接口
     getAverageDayNumExport:'/console/export/getAverageDayNumExport',//科室平均住院天数
@@ -102,6 +104,7 @@ const api = {
     entryStatisticsExport:'/console/export/entryStatisticsExport',//关键条目缺陷占比
     entryCountGroupByCaseExport:'/console/export/entryCountGroupByCaseExport',//各模块缺陷占比导出
     qcResultShortPageExport:'/console/export/qcResultShortPageExport',//关键条目占比详情,条目缺陷占比详情导出
+    leaveHosMrPageExport:'/console/export/leaveHosMrPageExport' //出院人数导出
 }
 module.exports = {
     api

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


+ 8 - 7
src/js/utils.js

@@ -27,17 +27,18 @@ const pageMap={
   'YH-ZKK-GKSQXZB':'deptScoreDetailControl.html',
   "YH-ZKK-GKSZKPJF_XQ":'deptScoreDetailControl.html',
   'YH-JCSJWH':'deptScoreDetailControl.html',
-  "YH-ZKK-GKSQXZB_XQ":'deptScoreDetailControl.html',
+  'YH-ZKK-GKSQXZB_XQ':'deptScoreDetailControl.html',
   
-  "YH-KSZR-KSQXZB_XQ":'deptScoreDetail.html?from=2',
-  "YH-ZKK-GKSJJBLZB_XQ":'jiaji.html',
+  'YH-KSZR-KSQXZB_XQ':'deptScoreDetail.html?from=2',
+  'YH-ZKK-GKSJJBLZB_XQ':'jiaji.html',
   
-  "YH-ZKK-BASYHGLZB_XQ":'partDetailControl.html',
-  "YH-KSZR-BASYHGLZB_XQ":'partDetail.html',
+  'YH-ZKK-BASYHGLZB_XQ':'partDetailControl.html',
+  'YH-KSZR-BASYHGLZB_XQ':'partDetail.html',
 
   "YH-JCSJWH-ZKLXWH":'assertType.html',
-  "YH-BLZK-ZKPFYLZ":"qcListDocteam.html",
-  "YH-ZKK-GJTMQXZB":'keyItemFlawControl.html',
+  'YH-BLZK-ZKPFYLZ':'qcListDocteam.html',
+  'YH-ZKK-GJTMQXZB':'keyItemFlawControl.html',
+  'YH-ZKK-CYRSTJ':'qcListOutHospital.html?dateType=2'
 };
 
 //重写assign方法

+ 14 - 0
webpack.config.js

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