瀏覽代碼

新页面

luolei 5 年之前
父節點
當前提交
76a307951c

+ 1 - 0
src/css/common.less

@@ -33,6 +33,7 @@ input:disabled {
     box-sizing: border-box;
     cursor: pointer;
     margin-left: 10px;
+    margin-bottom: 10px;
     float: left;
     top: 0px;
 }

+ 351 - 0
src/css/qcListCopy.less

@@ -0,0 +1,351 @@
+@import "./reset.less";
+.container{
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+    background: #fff;
+}
+ul,li{
+    list-style: none;
+}
+h2{
+    .h2;
+    border-bottom: 10px @disColor solid;
+    position: absolute;
+}
+.main-body{
+    .main-body-com;
+    border: none;
+    border:10px @disColor solid;
+    margin: 44px 0 0;
+    min-width: 1090px;
+    min-height: calc(100% - 84px);
+    // overflow: auto;
+    .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;
+    }
+    
+}
+.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_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 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{
+    width: 120px;
+    // height: 200px;
+    li:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+}
+.selectLevel,.selectDept{
+    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;
+}
+.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 - 0
src/css/single.less

@@ -204,6 +204,7 @@
         box-sizing: border-box;
         cursor: pointer;
         margin-left: 10px;
+        margin-bottom: 10px;
         float: left;
         top: 0px;
     }

+ 1 - 0
src/html/keyItemFlawControl.html

@@ -34,6 +34,7 @@
                 </span>
             <span class="filter">查询</span>
             <span class="filterclear abnormalClear">重置</span>
+            <span class="exportData">导出</span>
         </div>
         <div style="display: table;padding-right: 20px;">
             <table class="key-list">

+ 136 - 0
src/html/qcListCopy.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">
+        <!-- <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>
+                        <span class="selectDept">
+                            全部
+                        </span>
+
+                        <ul class="deptList filterDropList"></ul>
+                    </span>
+                    <span class="filterItem typeFilter clearfix" style="margin-top: 3px;">
+                        <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">
+                        <span>医生工号:</span>
+                        <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>缺陷名称:</span>
+                        <span class="selectDefect"> 
+                        
+                        </span>
+                        <!-- <input class="doctorInp" type="text" placeholder="请输入医生姓名"> -->
+                    </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/quexianDetailControlHome.html

@@ -53,8 +53,8 @@
             <table>
                 <thead>
                     <th class="moduleName" style="width: 65px;">序号</th>
+                    <th class="moduleItemName desc">所属模块</th>
                     <th class="moduleItemName">缺陷名称</th>
-                    <!-- <th class="moduleItemName desc" code="casesName">所属模块</th> -->
                     <th class="moduleItemName textCenter">数量</th>
                     <th class="moduleScore" style="width: 80px;">缺陷占比</th>
                 </thead>

+ 3 - 3
src/js/api.js

@@ -94,13 +94,13 @@ const api = {
     saveQcListPageSet:'/sys/user/pageset/savePageSet',
 
     //导出接口
-    exportMukuai:'/qc/behospitalInfo/exportQcresult',//各模块缺陷占比导出
-    exportHomeAverage:'/qc/behospitalInfo/exportQcresult',//病案首页合格率占比-缺陷详情
-    exportTiaomuDetail:'/qc/behospitalInfo/exportQcresult',//条目缺陷占比-缺陷详情
     getAverageDayNumExport:'/console/export/getAverageDayNumExport',//科室平均住院天数
     getAverageFeeExport:'/console/export/getAverageFeeExport',//科室平均住院花费
     levelPercentGroupByDeptExport:'/console/export/levelPercentGroupByDeptExport',//各科室甲级占比
     entryCountGroupByEntryExport:'/console/export/entryCountGroupByEntryExport',//各科室缺陷详情,病案首页详情
+    entryStatisticsExport:'/console/export/entryStatisticsExport',//关键条目缺陷占比
+    entryCountGroupByCaseExport:'/console/export/entryCountGroupByCaseExport',//各模块缺陷占比导出
+    qcResultShortPageExport:'/console/export/qcResultShortPageExport',//关键条目占比详情,条目缺陷占比详情导出
 }
 module.exports = {
     api

+ 2 - 2
src/js/itemDefectDetail.js

@@ -667,8 +667,8 @@ $(function(){
             casesEntryId:casesId,
             isReject: isSingleReject
         }
-        expJson(api.exportTiaomuDetail,param).then(res =>{
-            downloadExportedData(res.data, $(".consoleP").html()+"缺陷详情.xls")
+        expJson(api.qcResultShortPageExport,param).then(res =>{
+            downloadExportedData(res.data, $(".partTitle").text()+".xls")
         })
     })
 });

+ 20 - 2
src/js/keyItemFlawControl.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("../css/keyItemFlawControl.less");
 require('./modal.js');
 const {api} = require('./api.js')
-const {post,getCookie,getUrlArgObjectNew,emptyBox,setTitleTxt,setDatePicker,getPickerDate} = require('./utils.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,setTitleTxt,setDatePicker,getPickerDate,expJson,downloadExportedData} = 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")
@@ -147,7 +147,7 @@ function renderTab(data,hisId,activePage){
     let name=$(this).attr("dept-name");
     name=name==="全院"?"全部":name;
     let id=$(this).attr("dept-id");
-    $(parent.document).find("#contentIframe").attr("src","itemDefectDetail.html?from=3&deptName="+name+"&deptId="+id+"&casesEntryId="+casesId+"&defectName="+casesName+"&startDate="+startDateParam+"&endDate="+endDateParam)
+    $(parent.document).find("#contentIframe").attr("src","qcListCopy.html?from=3&deptName="+name+"&deptId="+id+"&casesEntryId="+casesId+"&defectName="+casesName+"&startDate="+startDateParam+"&endDate="+endDateParam)
   })
 }
 
@@ -309,4 +309,22 @@ $(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 = {
+        "deptName": deptName,
+        "asc":data_asc,     //升序
+        "desc":data_desc,       //降序
+        "startDate":startDateParam,
+        "endDate":endDateParam
+      }
+      expJson(api.entryStatisticsExport,param).then(res =>{
+          downloadExportedData(res.data, "关键条目缺陷占比.xls")
+      })
+  })
 });

+ 3 - 3
src/js/mukuaiControl.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,expJson } = require('./utils.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,setDatePicker,getPickerDate,expJson,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")
@@ -578,8 +578,8 @@ $(function() {
             "startDate":startDateParam,
             "endDate":endDateParam
         }
-        expJson(api.exportMukuai,param).then(res =>{
-            downloadExportedData(res.data, "模块缺陷占比.xls")
+        expJson(api.entryCountGroupByCaseExport,param).then(res =>{
+            downloadExportedData(res.data, "模块缺陷占比.xls")
         })
     })
 });

+ 906 - 0
src/js/qcListCopy.js

@@ -0,0 +1,906 @@
+const $ = require('jquery');
+require("../css/qcListCopy.less");
+require('./modal.js');
+const {api} = require('./api.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,downloadExportedData,expJson} = 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  iconCalenBlue= require("./../images/icon_calen_blue.png")
+const  iconCalenGrey= require("./../images/icon_calen_grey.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 goUpG= require("./../images/arrow_up_grey.png")
+const goUpB = require("./../images/arrow_up_blue.png")
+const goDownG= require("./../images/arrow_down_grey.png")
+const goDownB = require("./../images/arrow_down_blue.png")
+
+let pageSet = [],pageSetCopy = [], showNum = 0, scrollTop=0;
+let srcUrl = $("#contentIframe",parent.document).attr("src")
+let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || ""
+let chengdu = getUrlArgObjectNew("chengdu",srcUrl)||""
+let deptIdPram = getUrlArgObjectNew("deptId",srcUrl)||""
+let deptNamePram = getUrlArgObjectNew("deptName",srcUrl)||""
+let docName = getUrlArgObjectNew("docName",srcUrl)||""
+let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
+let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
+let from = getUrlArgObjectNew("from",srcUrl)||""
+let defectName = getUrlArgObjectNew("defectName",srcUrl)||"";
+
+$(".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,
+  nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNum="",doctorNameTemp="",doctorNumTemp="",
+  data_desc=["leave_hospital_date"],data_asc=[];
+if(chengdu){
+    levelTemp = chengdu
+    level = chengdu
+    $('.selectLevel').html(chengdu)
+    $(".levelList").css("display", "none")
+    $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+}
+if(defectName){
+    casesEntryName=defectName
+    $('.selectDefect').html(casesEntryName)
+}
+if(docName){
+    doctorNameTemp = docName
+    doctorName = docName
+    $('.doctorInp').val(docName)
+}
+if(deptIdPram&&deptNamePram){
+    deptIdTemp = deptIdPram
+    deptId = deptIdPram
+    if(deptNamePram.length > 10){
+        $('.selectDept').html(deptNamePram.substring(0,8)+'...')
+    }else{
+        $('.selectDept').html(deptNamePram)
+    }
+    $('.selectDept ').attr('title',deptNamePram)
+    $(".deptList").css("display", "none")
+    $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+}
+if(from==2){
+    $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
+}else if(from==3){
+  $(".partTitle .titlePic ").html(`<a href="keyItemFlawControl.html">关键条目缺陷占比 / </a>缺陷详情`)
+}else{
+    $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台 / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
+}
+$('.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()
+})
+$('.recordScoreBtn').css("opacity",hasData('FUNC000017')?'1':'0.5')
+
+$("#filterToggler").click(function(){
+    const text = $(this).text();
+    $(".toggle-item").slideToggle();
+    $(this).text(text==="收起筛选"?"展开筛选":"收起筛选").toggleClass("up");
+});
+//判断有无某一权限
+  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 param = {
+    //     current:activePage,
+    //     behospitalCode: behospitalCode,
+    //     patName: name, //病人姓名
+    //     level:level,//病历等级
+    //     // behDeptName: deptName,
+    //     ascs:data_asc,     //升序
+    //     descs:data_desc,       //降序
+    //     startDate: behosDateStart, //出院日期--开始时间
+    //     endDate: behosDateEnd, //出院日期--结束时间
+
+    //     // casesEntryName: casesEntryName,
+    //     // casesEntryId:casesId,
+    //     // size: 15,
+    //     // isReject: isSingleReject,
+        
+    //     // name: name, //条目名
+    //     // deptId: deptId,
+    //     // doctorName: doctorName,
+    //     // doctorCode: doctorNum,
+    //     // statisticsType:statisticsType
+    // }
+    const param = {"current":1,"behospitalCode":"","patName":"","level":"","behDeptName":"","ascs":[],"descs":["leaveHospitalDate"],"startDate":"2020-01-01 00:00:00","endDate":"2020-07-01 23:59:59","casesEntryName":"整份病历无主治医师查房记录","casesEntryId":"","size":15,"isReject":"0"}
+
+    return post(from==2?api.qcResultDefectListDept:api.qcResultDefectList,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(tabList,data.hospitalId);
+            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){
+    behosDateStart = $("#datepicker").val().trim()
+    behosDateEnd = $("#datepicker2").val().trim()
+    const start = new Date(behosDateStart).getTime()
+    const end = new Date(behosDateEnd).getTime()
+    if(start > end){
+        $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+        return
+    }
+    if(behosDateStart){
+        behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
+    }
+    if(behosDateEnd){
+        behosDateEnd = behosDateEnd.replace(/\//g,'-') + ' 23:59:59'
+    }
+
+    name = nameTemp
+    behospitalCode = behospitalCodeTemp
+    level = levelTemp==="全部"?"":levelTemp
+    deptId = deptIdTemp
+    doctorName = doctorNameTemp
+    doctorNum = doctorNumTemp
+    getTabData(1)
+})
+$(".abnormalClear").on("click", function(e){
+    tabList = []; 
+    name = ""; 
+    behospitalCode="";  
+    level=""; 
+    scoreSum = 0; 
+    nameTemp = "";  
+    behospitalCodeTemp=""; 
+    levelTemp="";  
+    deptId=""; 
+    deptIdTemp="";  
+    doctorName=""; 
+    doctorNum=""; 
+    doctorNameTemp=""; 
+    doctorNumTemp=""; 
+    data_desc=["leave_hospital_date"]
+    data_asc=[];
+    $('.patientNumInp').val('')
+    $('.patientNameInp').val('')
+    $('.doctorInp').val('')
+    $('.doctorNumInp').val('')
+    $('.doctorInp').val('')
+    // $('#datepicker').val('')
+    // $('#datepicker2').val('')
+    //默认日期为近一个月
+    $( "#datepicker" ).datepicker({
+        changeMonth: true,
+        changeYear: true,
+        dateFormat:"yy/mm/dd",
+    }).datepicker( "setDate", "-6d");
+    $( "#datepicker2" ).datepicker({
+        changeMonth: true,
+        changeYear: true,
+        dateFormat:"yy/mm/dd"
+    }).datepicker( "setDate",new Date());
+    $('.selectDept ').html('全部')
+    $(".deptList").css("display", "none")
+    $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    // $('.selectDept ').addClass('unSelect')
+    $('.selectLevel').html('全部')
+    $(".levelList").css("display", "none")
+    $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    // $('.selectLevel ').addClass('unSelect')
+    $("th[code]").removeClass("asc desc")
+    $(".leaveHospitalDate").addClass(" desc")
+    behosDateStart = $("#datepicker").val().trim()
+    behosDateEnd = $("#datepicker2").val().trim()
+    if(behosDateStart){
+        behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
+    }
+    if(behosDateEnd){
+        behosDateEnd = behosDateEnd.replace(/\//g,'-') + ' 23:59:59'
+    }
+   
+    getTabData(1)
+})
+function renderTab(data,hisId){
+    let str = ``
+    let hasSelectAll = true;
+    if(data.length===0){
+      $('.tbody').html(emptyBox(null,showNum+2))
+      return;
+    }
+    for(let i = 0; i < data.length; i++){
+        const item = data[i]
+        if(!item.hasSelect){
+            hasSelectAll = false
+        }
+        str += `
+            <tr  data-index=${i}>
+                <td class="scoreOperaItem textCenter">${item.hasSelect ? `<img class="iconCheck" src=${iconCheck} />`:`<img class="iconCheck" src=${iconUnCheck} />`}</td>
+                <td  class="recordScoreOperaBtn textCenter" style="opacity:${hasData('FUNC000017')?'1':'0.5'}">评分</td>`
+        for(let j = 0; j < pageSet.length; j++){
+            if(pageSet[j].status == 1){
+                str +=  `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] || "-"}<span></td>`
+            }
+        }
+                // <td >${item.behospitalCode || "-"}</td>
+                // <td>${item.fileCode || "-"}</td>
+                // <td  class="textCenter"><span data-index=${i} class="patientNameSpan">${item.name || "-"}<span></td>
+                // <td  class="textCenter">${item.sex || "-"}</td>
+                // <td  class="textCenter">${item.age || "-"}</td>
+                // <td  class="textCenter">${item.bedCode || "-"}</td>
+                // <td  class="textCenter">${item.behospitalDate&&item.behospitalDate.slice(0,10) || "-"}</td>
+                // <td  class="textCenter">${item.leaveHospitalDate&&item.leaveHospitalDate.slice(0,10)|| "-"}</td>
+                // <td  class="textCenter">${item.diagnose|| "-"}</td>
+                // <td  class="textCenter">${item.behDoctorName   || "-"}</td>
+                // <td  class="textCenter">${item.doctorName || "-"}</td>
+                // <td  class="textCenter">${item.directorDoctorName || "-"}</td>
+                // <td  class="textCenter">${item.behDeptName || "-"}</td>
+                // <td  class="textCenter">${item.level || "-"}</td>
+                // <td  class="textCenter">${item.scoreRes || "-"}</td>
+                // <td  class="textCenter">${item.gradeTime&&item.gradeTime.slice(0,10) || "-"}</td>
+            
+        str += "</tr>"
+    }
+    if(data.length === 0){
+        hasSelectAll = false
+    }
+    if(hasSelectAll){
+        $('.scoreOpera img').attr("src" ,iconCheck)
+        $('.scoreOpera').attr("data-selectall",true)
+    }else{
+        $('.scoreOpera img').attr("src" ,iconUnCheck)
+        $('.scoreOpera').attr("data-selectall",false)
+    }
+    $('.tbody').html(str)
+    bindScoreOperaItem()
+    bindRecordScoreOper()
+    bindScoreDetail(hisId)
+}
+
+function isTextCenter(name){
+    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime']
+    return textCenterList.findIndex(item=> item==name) > -1
+}
+
+function scoreDetail(id,age,hid,code,name){
+    window.open(`./qcScore.html?id=${id}&age=${age}&name=${name}&hid=${getCookie('hospitalid')}&code=${code}`)
+}
+function bindScoreDetail(hisId){
+    $('.patientNameSpan').on('click',function(e){
+        const index = $(this).attr("data-index")
+        const id = tabList[index].behospitalCode
+        const age = tabList[index].age;
+        const noScore = tabList[index].level == '未评分'
+        if(noScore){
+            $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+            return
+        } else{
+            scoreDetail(id,age,hisId,'YH-BLZK-ZKPF',tabList[index].name)
+        }
+       
+    })
+}
+
+//选择病历等级
+$('.selectLevel').on("click", function(e){
+    e.stopPropagation()
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+    const showList =  $(".levelList ").css("display")
+    if(showList == "none" ||!showList){
+        $(".levelList ").css("display","block")
+        $(".selectLevel .arrow").attr("src",iconUp)
+    }else{
+        $(".levelList ").css("display", "none")
+        $(".selectLevel .arrow").attr("src",iconDown)
+    }
+})
+
+bindLeveldSelect()
+//是否启用选择
+function bindLeveldSelect(){
+    $('.levelItem').on("click",function(){
+        const levelItemName = $(this).attr("data-name")
+        const levelItemItemId = $(this).attr("data-id")
+        levelTemp =levelItemItemId
+        $('.selectLevel').html(levelItemName)
+        $(".levelList").css("display", "none")
+        $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $('.selectLevel').removeClass('unSelect')
+    })
+}
+
+
+
+function bindScoreOperaItem(){
+    $(".scoreOperaItem").off("click").on("click",  function(e){
+        const index = $(this).parent().attr("data-index")
+        tabList[index].hasSelect = tabList[index].hasSelect ? false:true
+        renderTab(tabList)
+    })
+}
+function bindRecordScoreOper(){
+    $(".recordScoreOperaBtn").on("click",  function(e){
+        if(!hasData('FUNC000017')){
+            return
+        }
+        const index = $(this).parent().attr("data-index")
+        const behospitalCode = tabList[index].behospitalCode
+        loading()
+        recordScore(behospitalCode,1,true)
+    })
+}
+function bindOperaAll(){
+    $('.scoreOpera').on("click", function(e){
+        const hasSelectAll = $('.scoreOpera').attr("data-selectall")
+        if(hasSelectAll == 'true'){
+
+            for(let i = 0; i < tabList.length; i++){
+                tabList[i].hasSelect = false
+            }
+        }else{
+            for(let i = 0; i < tabList.length; i++){
+                tabList[i].hasSelect = true
+            }
+        }
+        renderTab(tabList)
+    })
+}
+
+$('.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(){
+    post(api.getDeptList,{inputStr:""}).then(res =>{
+        if(res.data.code == '0'){
+           const  deptList = res.data.data
+           rendeDeptList(deptList)
+        }else{}
+    }).catch((e) =>{
+
+    })
+}
+
+//获取页面配置
+
+function getPageSet(){
+    return post(api.getQcListPageSet,{pageType:1}).then(res =>{
+        if(res.data.code == '0'){
+        pageSet = res.data.data
+          pageSetCopy = JSON.parse(JSON.stringify(pageSet))
+          showNum = 0
+          renderTabTitle(pageSet)
+          
+        }else{}
+    }).catch((e) =>{
+
+    })
+}
+
+function renderTabTitle(data){
+    let str = ` <th class="textCenter" ></th>
+    <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th>`
+    for(let i = 0; i < data.length; i++){
+        const item = data[i]
+        if(item.status == 1){
+            showNum++
+            str += `<th class="textCenter ${item.val} ${item.val =='leaveHospitalDate' ? 'desc':''}" code="${item.val.replace(/([A-Z])/g,function(match) {
+                return '_' + match.toLowerCase()    
+            })}">${item.name}</th>`
+        }
+    }
+    let operStr=`<td colspan="${showNum+2}" style="background: #fff">
+        <div class="tabFoot">
+            <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="${iconUnCheck}" alt="checkbox">全选</span>
+            <span class="recordScoreBtn">评分</span>
+            <span class="setCol"><img class="iconSetting" src=${require('./../images/setting.png')} alt="关闭" />列设置</span>
+        </div>
+    </td>`
+    $(".tabOpera").html(operStr)
+    $(".tabTitle").html(str)
+    //全选绑定
+    bindOperaAll()
+    bindRecordScoreBtn()
+    bindSetCol()
+    bindOrder()
+}
+
+function bindSetCol(){
+    $(".setCol").off("click").on("click", function(){
+        renderColSet(pageSetCopy)
+    })
+}
+
+function rendeDeptList(deptList){
+    let str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`;
+    for(let i = 0; i < deptList.length; i++){
+        str += `<li class="deptItem ellipsis" title=${deptList[i].deptName} data-id=${deptList[i].deptId} data-name=${deptList[i].deptName}> ${deptList[i].deptName}</li>`
+    }
+    $('.deptList').html(str)
+    bindDeptSelect()
+}
+//科室选择
+function bindDeptSelect(){
+    $('.deptItem').on("click",function(){
+        const deptItemName = $(this).attr("data-name")
+        const deptItemId = $(this).attr("data-id")
+        deptIdTemp =deptItemId
+        if(deptItemName.length > 10){
+            $('.selectDept').html(deptItemName.substring(0,8)+'...')
+        }else{
+            $('.selectDept').html(deptItemName)
+        }
+        $('.selectDept ').attr('title',deptItemName)
+        $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $(".deptList").css("display", "none")
+        $('.selectDept').removeClass('unSelect')
+    })
+}
+function loading(){
+    const str = `
+    <div class="loadingBox">
+            <div class="mask"></div>
+            <img class="loadingImg" src=${loadingImg}  alt="loading" />
+        </div>
+    `
+    $("#mainBox", parent.document).append(str)
+}
+function hideLoading(){
+    $("#mainBox .loadingBox", parent.document).remove()
+}
+
+function bindRecordScoreBtn(){
+    $('.recordScoreBtn').off("click").on("click",function(e){
+        if(!hasData('FUNC000017')){
+            return
+        }
+        let scoreList = []
+        for(let i = 0; i <tabList.length; i++){
+            if(tabList[i].hasSelect){
+                scoreList.push(tabList[i].behospitalCode)
+            }
+        }
+        if(scoreList.length === 0){
+            $.alerModal({"message":'请选择要评分的项!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+            return
+        } else{
+            loading()
+            for(let j = 0; j < scoreList.length; j++){
+                recordScore(scoreList[j],scoreList.length,true)
+            }
+        }
+    })
+}
+
+function bindOrder(){
+    $("th[code]").off("click").on("click",function(e){
+        const code=$(this).attr("code");
+        if(data_asc[0]===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);
+        // console.log(code)
+    });
+}
+
+
+function recordScore(behospitalCode,totalNum,hasToast){
+    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)
+                if(hasToast){
+                  $.alerModal({"message":'评分成功',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+                }
+            }
+            
+        }else{
+            hideLoading()
+            if(hasToast){
+                $.alerModal({"message":'评分失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+            }
+        }
+    }).catch((e) =>{
+        hideLoading()
+        if(hasToast){
+            $.alerModal({"message":'评分失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+        }
+    })
+}
+
+function renderColSet(list){
+    let pageSetList =  list || pageSetCopy
+    let allSelect = true
+    for(let i = 0; i < pageSetList.length; i++){
+        if(pageSetList[i].status != 1){
+            allSelect = false
+        }
+    }
+    let str = `<div class='colSetBox'> 
+            <div class='mask'></div>
+            <div class='cloInfobox'>
+                <div class='cloInfoTitle'><span class='cloInfoTitleTxt'>列显示设置</span> <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></div>
+                <div class='cloInfo'></div>
+                <div class='btnBox'> <span class='cancalColSet'>取消</span> <span class='saveColSet'>保存设置</span></div>
+            </div>
+        </div>`
+    let infoStr = `<div class='colTabTitle' ><span class='colOpera toggleSelectColAll' data-select=${allSelect}>${allSelect  ? `<img  src=${iconCheck} />`:`<img src=${iconUnCheck} />`}全选</span><span  class='colName'>列名</span></div><div class='colTabInfoBox' >`
+    for(let i = 0; i < pageSetList.length; i++){
+        infoStr += `<div  class='colTabInfo' data-index=${i}>
+            <span class='colOpera' data-index=${i}>${pageSetList[i].status == 1 ? `<img class="toggleSelectCol" src=${iconCheck} />`:`<img class="toggleSelectCol" src=${iconUnCheck} />`}</span>
+            <span class='colName'>            
+                <span>${pageSetList[i].name}</span>
+                <span class="pageOrder">
+                    <span class="pageSetUpBox">${ i === 0 ?'':`<img class="pageSetUp" src=${goUpG} />`}</span>
+                    <span  class="pageSetDownBox">${ i === pageSetList.length -1 ?'':`<img class="pageSetDown" src=${goDownG} />`}</span>
+                </span>
+               
+            </span>
+           
+        </div>`
+    }
+    infoStr += "</div>"
+    // $(".main-body").append(str)
+    if(!$("#mainBox .colSetBox", parent.document).length){
+        $("#mainBox", parent.document).append(str)
+    }
+    $("#mainBox .colSetBox .cloInfo", parent.document).html(infoStr)
+   
+    $(".colTabInfoBox", parent.document).scrollTop(scrollTop)
+    scrollTop = 0
+
+    bindSelectCol()
+    bindColOrder()
+    bindSaveColSet()
+    bindCloseColSet()
+    bindImgEnter()
+}
+
+function bindImgEnter(){
+    $(".pageSetUpBox img",parent.document).off("mouseenter").on("mouseenter",function(){
+        $(this).attr('src', goUpB)
+    })
+    $(".pageSetDownBox img",parent.document).off("mouseenter").on("mouseenter",function(){
+        $(this).attr('src', goDownB)
+    })
+    $(".pageSetUpBox img",parent.document).off("mouseout").on("mouseout",function(){
+        $(this).attr('src', goUpG)
+    })
+    $(".pageSetDownBox img",parent.document).off("mouseout").on("mouseout",function(){
+        $(this).attr('src', goDownG)
+    })
+}
+function bindSelectCol(){
+    $(".toggleSelectCol", parent.document ).off("click").on("click", function(){
+        const index = $(this).parent().attr("data-index")
+        pageSetCopy[index].status = pageSetCopy[index].status == 1 ? 0 : 1
+        scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
+        renderColSet(pageSetCopy)
+      
+    })
+    $(".toggleSelectColAll", parent.document ).off("click").on("click", function(){
+        const hasSelectAll = $(this).attr("data-select")
+        for(let i = 0; i < pageSetCopy.length; i++){
+            if(hasSelectAll == "true"){
+                pageSetCopy[i].status = 0
+
+            }else{
+                pageSetCopy[i].status = 1
+            }
+        }
+        scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
+        renderColSet(pageSetCopy)
+      
+    })
+}
+
+function closeColSet(){
+    pageSetCopy = JSON.parse(JSON.stringify(pageSet))
+    $("#mainBox .colSetBox", parent.document).remove()
+}
+function bindCloseColSet(){
+    $(".colSetBox .iconClose", parent.document ).off("click").on("click",function(){
+        closeColSet()
+    })
+    $(".colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
+        closeColSet()
+    })
+}
+function bindSaveColSet(){
+    $(".saveColSet", parent.document ).off("click").on("click", function(){
+        let showNumSet = 0
+        let sysUserPagesetVOList = []
+        for(let i = 0; i < pageSetCopy.length; i++){
+            const item = pageSetCopy[i]
+                sysUserPagesetVOList.push({
+                    name: item.name,
+                    orderNo: i,
+                    status: item.status,
+                    val: item.val
+                })
+                if(item.status == 1){
+                    showNumSet++
+                }
+        }
+        if(showNumSet === 0){
+            $.alerModal({"message":'最少显示一列',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});  
+            return
+        }
+        return post(api.saveQcListPageSet,{pageType:1,sysUserPagesetVOList:sysUserPagesetVOList}).then(res =>{
+            if(res.data.code == '0'){
+                closeColSet()
+                getPageSet().then(res =>{
+                    $(".filter").click();   //初始查询
+                })
+            }else{
+                $("#mainBox .colSetBox", parent.document).remove()
+                $.alerModal({"message":'保存失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});  
+            }
+        }).catch((e) =>{
+            $("#mainBox .colSetBox", parent.document).remove()
+            $.alerModal({"message":'保存失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+        })
+
+    })
+    
+}
+
+function bindColOrder(){
+    $(".pageSetUp", parent.document ).off("click").on("click", function(){
+        const index =  parseInt($(this).parent().parent().parent().parent().attr("data-index"))
+        if(index != 0){
+            const upItem =  pageSetCopy[index]
+            const upItemPre =  pageSetCopy[index-1]
+            pageSetCopy.splice(index-1,2,upItem,upItemPre)
+            scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
+            renderColSet(pageSetCopy)
+           
+        }else{
+            return
+        }
+    })
+    $(".pageSetDown", parent.document ).off("click").on("click", function(){
+        const index = parseInt($(this).parent().parent().parent().parent().attr("data-index"))
+        if(index == pageSetCopy.length - 1){
+            return
+        }else{
+            const downItem =  pageSetCopy[index]
+            const downItemBack =  pageSetCopy[index + 1]
+            console.log('downItem',downItem,'downItemBack',downItemBack)
+            pageSetCopy.splice(index,2,downItemBack,downItem)
+            scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
+            renderColSet(pageSetCopy)
+        }
+    })
+}
+
+$(".patientNumInp").on("input", function(e){
+    const val = $(this).val().trim();
+    let beCode=behospitalCode;
+    const patrn = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g;
+    beCode=val.replace(patrn,function(x){
+        return "\\"+x;
+    });
+    behospitalCodeTemp = beCode
+});
+$(".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() {
+    $.datepicker.regional['zh-CN'] = {
+    clearText: '清除',
+    clearStatus: '清除已选e799bee5baa6e59b9ee7ad9431333361303131日期',
+    closeText: '关闭',
+    closeStatus: '不改变当前选择',
+    prevText: '<上月',
+    prevStatus: '显示上月',
+    prevBigText: '<<',
+    prevBigStatus: '显示上一年',
+    nextText: '下月>',
+    nextStatus: '显示下月',
+    nextBigText: '>>',
+    nextBigStatus: '显示下一年',
+    currentText: '今天',
+    currentStatus: '显示本月',
+    monthNames: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
+    monthNamesShort: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
+    yearNamesShort: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
+    monthStatus: '选择月份',
+    yearStatus: '选择年份',
+    weekHeader: '周',
+    weekStatus: '年内周次',
+    dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
+    dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
+    dayNamesMin: ['日','一','二','三','四','五','六'],
+    dayStatus: '设置 DD 为一周起始',
+    dateStatus: '选择 m月 d日, DD',
+    dateFormat: 'yy-mm-dd',
+    firstDay: 1,
+    initStatus: '请选择日期',
+    isRTL: false};
+    $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
+    let startDate = "", endDate=new Date()
+    let year = new Date().getFullYear()
+    let month = new Date().getMonth() + 1
+    if(statisticsType == '1'){
+        startDate = new Date(`${year}-${month}-01`)
+    }else if(statisticsType == '2'){
+        startDate = new Date(`${year}-01-01`)
+    } else if(statisticsType == '3') {
+        startDate = new Date(startDateParam)
+        endDate =  new Date(endDateParam)
+    }else{
+        startDate = "-6d"
+    }
+    $( "#datepicker" ).datepicker({
+        changeMonth: true,
+        changeYear: true,
+        dateFormat:"yy/mm/dd",
+    }).datepicker( "setDate", startDate);
+    $( "#datepicker2" ).datepicker({
+        changeMonth: true,
+        changeYear: true,
+        dateFormat:"yy/mm/dd"
+    }).datepicker( "setDate",endDate);
+    getPageSet().then(res =>{
+        $(".filter").click();   //初始查询
+    })
+   
+});
+
+//分页渲染
+function renderPagination(totalPage,activePage,totalNum){
+    let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
+    if(totalPage <= 6){
+        for(let i = 1; i <= totalPage; i++){
+          
+            str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+        }
+    }else{
+        if(activePage <= 3){ //选中页数小于4
+            for(let i = 1; i <= 4; i++){
+                str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+            }
+            str += `<span class="more" >...</span>`
+        str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+
+        } else if(activePage > totalPage -3){
+            str += `<span class="pageNum page1" data-page=1>1</span>`
+            str += `<span class="more" >...</span>`
+            str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
+            str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
+            str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
+            str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+        } else {
+            str += `<span class="pageNum page1" data-page=1>1</span>`
+            str += `<span class="more" >...</span>`
+            str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
+            str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
+            str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
+            str += `<span class="more" >...</span>`
+            str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+        }
+       
+    }
+    str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
+    $('.pagination').html(str)
+    $('.page' + activePage).addClass('activePage')
+    $(".pageNum").on("click", function(e){
+        const activePageNow = Number($(this).attr('data-page'))
+        getTabData(activePageNow)
+        // renderPagination(totalPage,activePageNow,totalNum)
+    })
+    $(".prePage").on("click", function(e){
+        let activePageNow = Number($(".activePage").attr('data-page'))
+        if(activePageNow > 1){
+            activePageNow--
+            getTabData(activePageNow)
+            // renderPagination(totalPage,activePageNow,totalNum)
+        }
+    })
+    $(".nextPage").on("click", function(e){
+        let activePageNow = Number($(".activePage").attr('data-page'))
+        if(activePageNow < totalPage){
+            activePageNow++
+            getTabData(activePageNow)
+            // renderPagination(totalPage,activePageNow,totalNum)
+        }
+    })
+    
+}
+
+$(document).on("click", function(){
+    $(".levelList ").css("display", "none")
+    $(".deptList").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
+    $(".selectLevel .arrow").attr("src",iconDown)
+    
+})
+$((function($){
+
+    $('.export').click(function(){
+        if((new Date(behosDateEnd) - new Date(behosDateStart))/24/60/60/1000 > 7){
+            $.alerModal({"message":"最多只能导出7天",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+            return
+        }
+        const param = {
+            "behospitalCode": behospitalCode,
+            "deptId": deptId,
+            "doctorCode":doctorNum,
+            "doctorName": doctorName,
+            "leaveHosDateEnd": behosDateEnd,
+            "leaveHosDateStart": behosDateStart,
+            "level": level,
+            "name": name
+        }
+        expJson(api.exportQcList,param).then(res =>{
+            downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")
+        })
+      
+    })
+})($));

+ 1 - 0
src/js/quexianDetailControlHome.js

@@ -303,6 +303,7 @@ 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">${item.percentStr}</td>

+ 1 - 1
src/js/singleVeto.js

@@ -324,7 +324,7 @@ function goDetail(data){
         let defectName = $(this).attr("data-name")
         const item = data[index]
         // focusMenuItem("YH-ZKK-GKSQXZB_XQ");
-        $(parent.document).find("#contentIframe").attr("src",`./itemDefectDetail.html?defectName=${defectName}&startDate=${startDateParam}&endDate=${endDateParam}&from=${from}&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`)
+        $(parent.document).find("#contentIframe").attr("src",`./qcListCopy.html?defectName=${defectName}&startDate=${startDateParam}&endDate=${endDateParam}&from=${from}&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`)
     })
 }
 

+ 14 - 0
webpack.config.js

@@ -47,6 +47,7 @@ module.exports = {
     singleVeto:path.resolve(__dirname, 'src/js', 'singleVeto.js'),
     itemDefectDetail:path.resolve(__dirname, 'src/js', 'itemDefectDetail.js'),
     keyItemFlawControl:path.resolve(__dirname, 'src/js', 'keyItemFlawControl.js'),
+    qcListCopy:path.resolve(__dirname, 'src/js', 'qcListCopy.js'),
     vendor: 'lodash'// 多个页面所需的公共库文件,防止重复打包带入
   },
   output: {
@@ -397,6 +398,19 @@ module.exports = {
         collapseWhitespace: true //删除空白符与换行符
       }
     }),
+    new HtmlWebpackPlugin({
+      title: 'qcListCopy.html',
+      template: path.resolve(__dirname, 'src/html', 'qcListCopy.html'),
+      filename: 'qcListCopy.html',
+      chunks: ['qcListCopy', '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'),