Browse Source

Merge branch 'test' into scrollBar

zhangxc 5 năm trước cách đây
mục cha
commit
413a896e9d

+ 1 - 0
src/css/console.less

@@ -92,6 +92,7 @@ div.console {
   .chuyuanEmpty {
     border-bottom: 10px solid @activeBg;
     height: 112px;
+    display: none;
     .emptyBoxHome {
       margin-top: -40px;
     }

+ 2 - 1
src/css/index.less

@@ -10,6 +10,7 @@
   line-height: @headerHt;
   font-size: 16px;
   border-bottom: 1px #E2E5EF solid;
+  background: #fff;
   /*top:0;
   background:linear-gradient(123deg,#00A1FF 0%,rgba(126,171,255,1) 100%);;
   text-indent: 20px;
@@ -303,7 +304,7 @@
         width: 186px;
         background: @themeColor;
         border-radius:4px;
-        box-shadow:0px 2px 16px -4px rgba(15,28,59,1);
+        box-shadow:1px 2px 20px -3px #000512;
         margin-left: 3px;
         &:before{
           content: "";

+ 353 - 0
src/css/keyItemFlawControl.less

@@ -0,0 +1,353 @@
+@import './reset.less';
+
+.container{
+  width: 100%;
+  height: 100%;
+  overflow: auto;
+  background-color: #fff;
+  .partTitle{
+    border-bottom: 10px @disColor solid;
+  }
+}
+.partDetailControl {
+  .dayFilter {
+    .levelList {
+      height: 80px;
+    }
+    .selectLevel,.levelList  {
+      width: 180px;
+    }
+    .deptListWrap {
+      display: none;
+    }
+  }
+  .filterItem.deptListWrap {
+    .selectDept,.deptList {
+      width: 180px;
+    }
+  }
+  ul,li{
+    list-style: none;
+  }
+  h2{
+    width: 100%;
+    box-sizing: border-box;
+    background-color: #fff;
+    z-index: 20;
+    height: 44px;
+    line-height: 44px;
+    padding: 0 0 0 15px;
+    border-bottom: 1px solid #E2E5EF;
+    font-size: 16px;
+    font-weight: bold   ;
+    letter-spacing: 1px;
+  }
+  .main-body{
+    .main-body-com;
+    border: none;
+    border-left: 10px @disColor solid;
+    min-width: 1090px;
+    /*width: 100%;*/
+  }
+  table{
+    .table;
+    min-width: 1090px;
+    th,td{
+      text-align: center;
+    }
+    th{
+      white-space: nowrap;
+      &.textBreak{
+        padding: 5px 10px;
+        /*white-space: normal;
+        width: 120px;*/
+        &:after{
+          display: block;
+          margin: auto;
+        }
+      }
+    }
+
+    td{
+      white-space: nowrap;
+    }
+    .moduleNumber{
+      text-align: center;
+    }
+    .scoreOperaItem{
+      width: 50px;
+      cursor: pointer;
+    }
+
+  }
+  .tabFoot{
+    height: 40px;
+    /*border: 1px solid #E2E5EF;
+    border-top: none;
+    box-sizing: border-box;*/
+  }
+  .scoreOpera{
+    height: 50px;
+    line-height: 50px;
+    margin: 0 20px 0 0;
+    cursor: pointer;
+    img{
+      margin: 0 10px 0 0;
+    }
+  }
+
+  .recordScoreOperaBtn{
+    cursor: pointer;
+    color: @activeColor;
+  }
+  .recordScoreBtn{
+    cursor: pointer;
+    display: inline-block;
+    width:68px;
+    height:30px;
+    line-height: 30px;
+    text-align: center;
+    border-radius:4px;
+    box-sizing: border-box;
+    border: 1px solid @activeColor;
+    color: @activeColor;
+  }
+  /*.filterBox{
+      margin-bottom: 10px;
+  }*/
+  .filterItem{
+    position: relative;
+    display: inline-block;
+    float: left;
+    height: 32px;
+    line-height: 32px;
+    margin: 0 20px 20px 0;
+    span{
+      display: inline-block;
+      line-height: 40px;
+      position: relative;
+    }
+    input{
+      width:120px;
+      height:32px;
+      border-radius:4px;
+      border: 1px solid #E2E5EF;
+      outline: none;
+      margin-right: 10px;
+      padding: 0 10px;
+      box-sizing: border-box;
+    }
+    input:focus{
+      border: 1px solid @activeColor ;
+      outline: 0;
+      -webkit-box-shadow:@activeColor  0px 0px 2px;
+      -moz-box-shadow: @activeColor  0px 0px 2px;
+      box-shadow: @activeColor  0px 0px 2px;
+    }
+  }
+
+  .filterDropList{
+    position: absolute;
+    right: 0;
+    max-height: 200px;
+    overflow-y: auto;
+    background: #fff;
+    display: none;
+    border: 1px solid #e4e7ed;
+    box-shadow: 0 2px 12px 0 #e4e7ed;
+    z-index: 2;
+    li{
+      padding: 0 10px;
+    }
+  }
+  .deptList{
+    width: 160px;
+    max-height: 400px;
+  }
+  .levelList{
+    width: 120px;
+    height: 120px;
+    li:hover{
+      background-color: #EEF4FF;
+      cursor: pointer;
+    }
+  }
+  .selectLevel,.selectDept{
+    display: inline-block;
+    position: relative;
+    width:120px;
+    padding: 0 10px;
+    height:40px;
+    border-radius:4px;
+    border: 1px solid #E2E5EF;
+    box-sizing: border-box;
+    cursor: pointer;
+  }
+  .selectDept{
+    width: 160px;
+  }
+
+  .filter{
+    display: inline-block;
+    width:60px;
+    height:36px;
+    background:@activeColor;
+    border-radius:4px;
+    color: #fff;
+    text-align: center;
+    line-height: 36px;
+    position: relative;
+    top: 2px;
+    cursor: pointer;
+    float: left;
+  }
+  .arrow{
+    position: absolute;
+    width: 10px;
+    top: 16px;
+    right: 10px;
+  }
+  .iconCheck{
+    width: 14px;
+  }
+  .fl{
+    float: left;
+  }
+  .clearfix:after {
+    content: '';
+    height: 0;
+    line-height: 0;
+    display: block;
+    visibility: hidden;
+    clear: both;
+  }
+  .clearfix{
+    zoom:1
+  }
+  .divide{
+    margin: 0 10px;
+  }
+
+  .textCenter{
+    text-align: center;
+  }
+  .patientNameSpan{
+    color: #00A1F0;
+    cursor: pointer;
+  }
+  .patientNameSpans{
+    color: #FF4D4F;
+    cursor: pointer;
+    margin-left: 30px;
+  }
+
+  .deptItem:hover{
+    background-color: #EEF4FF;
+    cursor: pointer;
+  }
+  .ellipsis{
+    overflow: hidden;
+    text-overflow:ellipsis;
+    white-space: nowrap;
+  }
+
+
+  .pagination{
+    margin: 35px 0 20px 0  ;
+    text-align: right;
+  }
+  .totalSum{
+    font-size:12px;
+    line-height:17px;
+    color: #777777;
+    margin-right: 20px;
+  }
+  .pageNum,.prePage,.nextPage, .more{
+    display: inline-block;
+    width: 20px;
+    cursor: pointer;
+    margin: 0 20px 0 0;
+    text-align: center;
+    color: #777;
+  }
+  .prePage,.nextPage{
+    img{
+      position: relative;
+      top: 0px   ;
+    }
+  }
+  .more{
+    cursor: not-allowed;
+  }
+  .arrowPage{
+    width: 6px;
+  }
+  .activePage{
+    color: @activeColor;
+  }
+
+
+
+  .ui-datepicker-calendar {
+    border: 0 none;
+    min-width: 0;
+  }
+  .ui-datepicker thead {
+    background-color: #fff;
+    color: #c3cbd6;
+  }
+  .ui-datepicker td {
+    padding: 0;
+    height: auto;
+    color: #657180;
+  }
+  .ui-datepicker td span, .ui-datepicker td a {
+    text-align: center;
+    height: 30px;
+    line-height: 30px;
+  }
+
+  .ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
+    border: 0;
+    background-color: #fff;
+    &:hover {
+      background-color: #c4d8fe;
+    }
+  }
+  .ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
+    color: #333;
+    font-weight: normal;
+    height: 30px;
+    line-height: 30px;
+    margin: 0 5px;
+    width: 40%;
+    border-radius: 3px;
+  }
+  .ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
+    top: 5px;
+  }
+  .ui-state-active, .ui-widget-content .ui-state-active {
+    background-color: @activeColor !important;
+    color: #fff;
+  }
+  .ui-state-highlight, .ui-widget-content .ui-state-highlight {
+    background-color: #fff5bf !important;
+    color: #657180;
+  }
+  .ui-widget-header {
+    background-color: #fff;
+    border: 0 none;
+  }
+
+  input::-webkit-outer-spin-button,
+  input::-webkit-inner-spin-button {
+    -webkit-appearance: none;
+  }
+
+  input[type="number"] {
+    -moz-appearance: textfield;
+  }
+}
+.abnormalClear {
+  top: 2px !important;
+}

+ 1 - 1
src/css/qcScore.less

@@ -208,7 +208,7 @@
       width: 186px;
       background: @themeColor;
       border-radius:4px;
-      box-shadow:0px 2px 16px -4px rgba(15,28,59,1);
+      box-shadow:1px 2px 20px -3px #000512;
       margin-left: 3px;
       z-index: 9;
       &:before{

+ 1 - 0
src/css/reset.less

@@ -167,6 +167,7 @@ textarea {
   display: none;
   width: 100%;
   height: 100%;
+  z-index: 99;
   .cover{
     width: 100%;
     height: 100%;

+ 17 - 5
src/html/deptConsole.html

@@ -5,11 +5,23 @@
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Document</title>
 </head>
-<body >
-  <div class="console deptConsole">
-    <div class="partDept">
-      <ul class="clearfix">
-        
+<body class="console deptConsole">
+  <div class="partDept">
+    <ul class="clearfix">
+      
+    </ul>
+  </div>
+  <div class="partTitle">
+    <p><span class="hospi"></span><i></i>数据概览</p>
+    <div class="monthYear clearfix">
+      <span class="mon">本月</span>
+      <span class="year">本年</span>
+    </div> 
+    <div class="toggleSlide deptConsoleLis fr">
+      <p><span>--</span><img src="../images/arrow_down1.png" alt=""> </p>
+      <ul>
+        <!-- <li class="toggleAverge toggleSlide1" data-str="平均住院天数" data-type="1">平均住院天数</li>
+        <li class="toggleAverge toggleSlide2" data-str="平均住院花费" data-type="2">平均住院花费</li> -->
       </ul>
     </div>
     <div class="partTitle">

+ 68 - 0
src/html/keyItemFlawControl.html

@@ -0,0 +1,68 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>关键条目缺陷占比</title>
+</head>
+
+<body>
+<div class="container partDetailControl">
+    <div class="partTitle">
+        <p>关键条目缺陷占比</p>
+        <div class="dateDetail fr">
+
+        </div>
+    </div>
+    <div class="partTitleT"></div>
+    <div class="main-body">
+        <div class="filterBox clearfix">
+            <span class="filterItem typeFilter deptListWrap">
+                <span>科室:</span>
+                <span class="selectDept">
+                    全部
+                </span>
+                <ul class="deptList filterDropList"></ul>
+            </span>
+            <span class="filterItem typeFilter clearfix dataSelectLight">
+                    <span class="fl">出院日期:</span>
+                    <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly/></span>
+                    <span  class="divide fl">-</span>
+                    <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/></span>
+                </span>
+            <span class="filter">查询</span>
+            <span class="filterclear abnormalClear">重置</span>
+        </div>
+        <div style="display: table;padding-right: 20px;">
+            <table class="key-list">
+                <thead>
+                <th class="moduleName" style="width: 65px;">序号</th>
+                <th class="beHospitalId textCenter" code="deptName">科室名称</th>
+                <th class="beHospitalId textCenter textBreak" code="consultationNum">未在24小时内<br/>完成会诊数</th>
+                <th class="beHospitalId textCenter textBreak" code="consultationPercentStr">未在24小时内<br/>完成会诊率</th>
+                <th class="beHospitalId textCenter textBreak" code="operationNameNum">手术记录名称不<br/>匹配数</th>
+                <th class="beHospitalId textCenter textBreak" code="operationNamePercentStr">手术记录名称不<br/>匹配率</th>
+                <th class="beHospitalId textCenter textBreak" code="operation15MinuteNum">术后首程未在15<br/>分钟内完成数</th>
+                <th class="beHospitalId textCenter textBreak" code="operation15MinutePercentStr">术后首程未在15<br/>分钟内完成率</th>
+                <th class="beHospitalId textCenter textBreak" code="operationTimeNum">病案首页手术时<br/>间不匹配数</th>
+                <th class="beHospitalId textCenter textBreak" code="operationTimePercentStr">病案首页手术时<br/>间不匹配率</th>
+                <th class="beHospitalId textCenter textBreak" code="crisisNum">未在6小时内书<br/>写危急值记录数</th>
+                <th class="beHospitalId textCenter textBreak" code="crisisPercentStr">未在6小时内书<br/>写危急值记录率</th>
+                <th class="beHospitalId textCenter textBreak" code="stageSummaryNum">阶段小结未书写<br/>数</th>
+                <th class="beHospitalId textCenter textBreak" code="stageSummaryPercentStr">阶段小结未书写<br/>率</th>
+                </thead>
+                <tbody>
+
+                </tbody>
+            </table>
+        </div>
+
+        <div class="pagination"></div>
+    </div>
+
+</div>
+</body>
+
+</html>

+ 1 - 1
src/html/mukuaiControl.html

@@ -50,7 +50,7 @@
                 <thead>
                     <th class="moduleName" style="width: 65px;">序号</th>
                     <th class="moduleItemName">模块名称</th>
-                    <th class="moduleScore desc" style="width: 105px;" code="percentStr">缺陷占比</th>
+                    <th class="moduleScore desc" style="width: 105px;" code="percent">缺陷占比</th>
                 </thead>
                 <tbody class="tbody">
     

+ 1 - 0
src/js/api.js

@@ -70,6 +70,7 @@ const api = {
     homePageLevelByDeptLimit:'/consoleByDept/homePageLevelStatisticsByDept',//病案首页合格率占比keshi详情
     homePageLevelStatisticsByDept:'/consoleByDept/homePageLevelByDeptLimit',//病案首页合格率占比(科室)-内页
     levelStatisticsByDept:'/consoleByDept/levelStatisticsByDept',//科室缺陷占比排行
+    keyItemFlawControl:'/console/entryStatistics',//关键条目缺陷占比
     resultStatisticsByDeptAndDoctorPage:'/consoleByDept/resultStatisticsByDeptAndDoctorPage',//缺陷明细-科室(分页)-内页
     qcType:'/qc/qcType/page',//质控类型(分页列表)
     getEntryByHospital:'/qc/qcType/getEntryByHospital',//质控类型新增条目分组

+ 1 - 3
src/js/console.js

@@ -271,10 +271,8 @@ function getAverageScoreLis(){
     let url = ''
     if(hospital=="台州市立"&&hasData('FUNC000091')){
         url = api.getAverageScoreByDeptClass
-    }else if(hospital=="长兴医院"&&hasData('FUNC000047')){
-        url = api.getAverageScore
     }else{
-        return
+        url = api.getAverageScore
     }
     post(url,{//各科室质控平均分
         "type": dateType||1,//1月2年

+ 1 - 1
src/js/deptConsole.js

@@ -23,7 +23,7 @@ $(function(){
         $(".circleBSingle").css("display","none")
         $(".circleBLis").css("display","block")
     }
-    $(".partTitle p span").html(hospital)
+    $(".partTitle p span.hospi").html(hospital)
     // setInterval(() => {
     //     getTimeDetail()
     // }, 1000);

+ 1 - 3
src/js/deptScoreDetailControl.js

@@ -139,10 +139,8 @@ function getTabData(activePage){
 
     if(hospital=="台州市立"&&hasData('FUNC000092','YH-ZKK-GKSQXZB_XQ')){
         url = api.levelStatisticsByDeptClass
-    }else if(hospital=="长兴医院"&&hasData('FUNC000071','YH-ZKK-GKSQXZB_XQ')){
-        url = api.levelStatistics
     }else{
-        return
+        url = api.levelStatistics
     }
     startDateParam = dateStatrt
     endDateParam = dateEnd

+ 17 - 10
src/js/itemDefectDetail.js

@@ -16,14 +16,15 @@ const arrowLeft= require("./../images/arrow_left.png")
 const arrowRight = require("./../images/arrow_right.png")
 
 let srcUrl = $("#contentIframe",parent.document).attr("src")
-let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || ""
+let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || "";
 let chengdu = getUrlArgObjectNew("chengdu",srcUrl)||""
 let deptIdPram = getUrlArgObjectNew("deptId",srcUrl)||""
-let deptNamePram = getUrlArgObjectNew("deptName",srcUrl)||""
+let deptNamePram = getUrlArgObjectNew("deptName",srcUrl)||"";
 let docName = getUrlArgObjectNew("docName",srcUrl)||""
-let startDateParam =  getUrlArgObjectNew("startDate",srcUrl)||""
-let endDateParam =  getUrlArgObjectNew("endDate",srcUrl)||""
-let defectName = getUrlArgObjectNew("defectName",srcUrl)||""
+let startDateParam =  getUrlArgObjectNew("startDate",srcUrl)||"";
+let endDateParam =  getUrlArgObjectNew("endDate",srcUrl)||"";
+let defectName = getUrlArgObjectNew("defectName",srcUrl)||"";
+let casesId = getUrlArgObjectNew("casesEntryId",srcUrl)||"";
 let from = getUrlArgObjectNew("from",srcUrl)||""
 let isSingleReject = getUrlArgObjectNew("isSingleReject",srcUrl)||""
 let deptList = JSON.parse(getCookie("deptList"))||[]
@@ -31,7 +32,7 @@ let deptList = JSON.parse(getCookie("deptList"))||[]
 $(".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="",deptName="",deptNameTemp ="", doctorName="", doctorNum="",doctorNameTemp="",doctorNumTemp="",casesEntryName=""
+  nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="",deptName="",deptNameTemp ="", doctorName="", doctorNum="",doctorNameTemp="",doctorNumTemp="",casesEntryName="",casesEntryId='',
   data_desc=["leaveHospitalDate"],data_asc=[],pageSize = 15,currentPage = 1;
 if(chengdu){
     levelTemp = chengdu
@@ -49,7 +50,10 @@ if(defectName){
     casesEntryName=defectName
     $('.selectDefect').html(casesEntryName)
 }
-if(deptIdPram&&deptNamePram || from == 2 &&deptList.length > 0  ){
+if(casesEntryId){
+  casesEntryId=casesId;
+}
+if(deptIdPram&&deptNamePram||from == 3 || from == 2 &&deptList.length > 0  ){
     deptIdTemp = deptIdPram
     deptId = deptIdPram
     deptName = deptNameTemp = deptNamePram
@@ -108,6 +112,7 @@ function getTabData(activePage,nameDe){
         startDate: behosDateStart, //出院日期--开始时间
         endDate: behosDateEnd, //出院日期--结束时间
         casesEntryName: casesEntryName,
+        casesEntryId:casesId,
         size: pageSize,
         isReject: isSingleReject
     }
@@ -193,7 +198,7 @@ $(".abnormalClear").on("click", function(e){
     //默认日期为近一个月
     setDatePicker($("#datepicker"),$("#datepicker2"),"default")
     if(from == 2){
-        $('.selectDept ').html(deptName) 
+        $('.selectDept ').html(deptName)
     }else{
         $('.selectDept ').html('全部')
     }
@@ -384,7 +389,7 @@ function rendeDeptList(deptList){
     } else{
         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>`
     }
@@ -561,6 +566,8 @@ $(function() {
     $(".filter").click();   //初始查询
     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>缺陷详情`)
     }
@@ -570,7 +577,7 @@ $(function() {
     })
     $(".partTitle .consoleP").click(function(){
         $(parent.document).find("#contentIframe").attr("src",`./singleVeto.html?from=${from}&fromThree=3`)
-       
+
     })
 });
 

+ 312 - 0
src/js/keyItemFlawControl.js

@@ -0,0 +1,312 @@
+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')
+require('./../resource/jquery-ui/jquery-ui.min.js');
+require('./../resource/jquery-ui/jquery-ui.min.css');
+const iconCheck= require("./../images/icon_check.png")
+const iconUnCheck = require("./../images/icon_unchecked.png")
+const iconDown= require("./../images/arrow_down.png")
+const iconUp = require("./../images/arrow_up.png")
+const loadingImg = require("./../images/loading.gif")
+const arrowLeft= require("./../images/arrow_left.png")
+const arrowRight = require("./../images/arrow_right.png")
+let  deptName = "", behospitalCode="", deptNameTemp = "",deptId='',deptIdTemp='', behospitalCodeTemp="", data_desc="",data_asc="";
+let srcUrl = $("#contentIframe",parent.document).attr("src")
+statisticsType = getUrlArgObjectNew("dateType",srcUrl)||"";
+from = getUrlArgObjectNew("from",srcUrl)||""
+lineType = getUrlArgObjectNew("lineType",srcUrl)||""
+let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
+let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
+$(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+/*if(lineType){
+  $("th[code="+data_desc+"]").addClass("desc");
+}*/
+//setTitleTxt('',from)         //导航栏面包屑
+if(statisticsType == 1){
+  setDatePicker($("#datepicker"),$("#datepicker2"),1)
+}else if(statisticsType == 2){
+  setDatePicker($("#datepicker"),$("#datepicker2"),2)
+}else if(statisticsType == 3){
+  setDatePicker($("#datepicker"),$("#datepicker2"),3,new Date(startDateParam),new Date(endDateParam))
+}else{
+  setDatePicker($("#datepicker"),$("#datepicker2"),'default')
+}
+
+if(!statisticsType){
+  setDatePicker($("#datepicker"),$("#datepicker2"),'default')
+}
+$(".abnormalClear").click(function(){
+  data_desc="";
+  data_asc="";
+  deptId="";
+  deptIdTemp="";
+  deptName="";
+  deptNameTemp="";
+  setDatePicker($("#datepicker"),$("#datepicker2"),"default")
+  $('.selectDept ').html('全部')
+  $(".deptList").css("display", "none")
+  $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`);
+  $("th[code]").removeClass("asc desc")
+  //behospitalCode =behospitalCodeTemp= ""
+  getTabData(1)
+})
+$(".partTitle a").click(function(){
+  //初始菜单选中
+  $(".menu .page",parent.document).removeClass("active").eq(0).addClass("active");
+  $(".container",parent.document).addClass("console-cont");
+})
+
+//判断有无某一权限
+/*function hasData(data){
+  let trdObj = JSON.parse(getCookie("trdObj"))
+  let lis = trdObj['YH-BLZK-ZKPF']
+  if(!lis){
+    return false
+  }
+  if(lis.indexOf(data)>-1){//有权限
+    return true
+  }
+  return false;
+}*/
+function getTabData(activePage){
+  const dateStatrt = getPickerDate($("#datepicker"),1)
+  const dateEnd = getPickerDate($("#datepicker2"),2)
+  const start = new Date(dateStatrt).getTime()
+  const end = new Date(dateEnd).getTime()
+  if(start > end){
+    $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+    return
+  }
+  const param = {
+    current: 1,
+    size: 15,
+    "deptName": deptName,
+    "asc":data_asc,     //升序
+    "desc":data_desc,       //降序
+    //"type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
+    "startDate":dateStatrt,
+    "endDate":dateEnd
+  }
+  startDateParam = dateStatrt
+  endDateParam = dateEnd
+  post(api.keyItemFlawControl,param).then(res =>{
+    if(res.data.code == '0'){
+      const data = res.data.data||[];
+      renderTab(data,data.hospitalId,activePage);
+      renderPagination(totalPage,Number(activePage),totalNum)
+      if(totalPage > 1){
+        renderPagination(totalPage,Number(activePage),totalNum)
+      } else{
+        $('.pagination').html("")
+      }
+    }else{
+      $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+    }
+  }).catch((e) =>{
+
+  })
+}
+
+getTabData(1)
+
+$(".filter").on("click", function(e){
+  deptName = deptNameTemp;
+  behospitalCode = behospitalCodeTemp;
+  getTabData(1)
+})
+function renderTab(data,hisId,activePage){
+  let str = ``
+  for(let i = 0; i < data.length; i++){
+    const item = data[i]
+    str += `
+            <tr  data-index=${i}>
+                <td  class="textCenter">${(activePage-1)*15 + i+1}</td>
+                <td >${item.deptName || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.consultationEntryId || ""}" data-name="${item.consultationEntryName || ""}">${item.consultationNum+'' || "-"}</td>
+                <td >${item.consultationPercentStr || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.operationNameEntryId || ""}" data-name="${item.operationNameEntryName || ""}">${item.operationNameNum+'' || "-"}</td>
+                <td >${item.operationNamePercentStr+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.operation15MinuteEntryId || ""}" data-name="${item.operation15MinuteEntryName || ""}">${item.operation15MinuteNum+'' || "-"}</td>
+                <td >${item.operation15MinutePercentStr+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.operationTimeEntryId || ""}" data-name="${item.operationTimeEntryName || ""}">${item.operationTimeNum+'' || "-"}</td>
+                <td >${item.operationTimePercentStr+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.crisisEntryId || ""}" data-name="${item.crisisEntryName || ""}">${item.crisisNum+'' || "-"}</td>
+                <td >${item.crisisPercentStr+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.stageSummaryEntryId || ""}" data-name="${item.stageSummaryEntryName || ""}">${item.stageSummaryNum+'' || "-"}</td>
+                <td >${item.stageSummaryPercentStr+'' || "-"}</td>
+            </tr>
+        `
+  }
+  $('.key-list tbody').html(str?str:emptyBox())
+  /*bindScoreDetail(hisId)*/
+  $(".goHomeDetail").click(function(){
+    let casesName = $(this).attr("data-name");
+    let casesId = $(this).attr("data-id");
+    let name=$(this).attr("dept-name");
+    name=name==="全院"?"全部":name;
+    let id=$(this).attr("dept-id");
+    $(parent.document).find("#contentIframe").attr("src","itemDefectDetail.html?from=3&deptName="+name+"&deptId="+id+"&casesEntryId="+casesId+"&defectName="+casesName+"&startDate="+startDateParam+"&endDate="+endDateParam)
+  })
+}
+
+$('.selectDept').on("click", function(e){
+  e.stopPropagation()
+  $(".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 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;
+    deptNameTemp=deptItemName==="全部"?"":deptItemName;
+    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()
+}
+$(document).on("click", function(){
+  $(".deptList").css("display", "none");
+  $(".selectDept .arrow").attr("src",iconDown)
+})
+$("th[code]").on("click",function(e){
+  const code=$(this).attr("code");
+  if(data_asc==code){
+    data_desc=code;
+    data_asc="";
+    $("th[code]").removeClass("asc desc");
+    $(this).addClass("desc");
+  }else{
+    data_desc="";
+    data_asc=code;
+    $("th[code]").removeClass("asc desc");
+    $(this).addClass("asc");
+  }
+  getTabData(1);
+});
+
+
+//分页渲染
+function renderPagination(totalPage,activePage,totalNum){
+  let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
+  if(totalPage <= 6){
+    for(let i = 1; i <= totalPage; i++){
+
+      str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+    }
+  }else{
+    if(activePage <= 3){ //选中页数小于4
+      for(let i = 1; i <= 4; i++){
+        str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+      }
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+
+    } else if(activePage > totalPage -3){
+      str += `<span class="pageNum page1" data-page=1>1</span>`
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
+      str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
+      str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
+      str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+    } else {
+      str += `<span class="pageNum page1" data-page=1>1</span>`
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
+      str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
+      str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
+    }
+
+  }
+  str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
+  $('.pagination').html(str)
+  $('.page' + activePage).addClass('activePage')
+  $(".pageNum").on("click", function(e){
+    const activePageNow = Number($(this).attr('data-page'))
+    getTabData(activePageNow)
+    // renderPagination(totalPage,activePageNow,totalNum)
+  })
+  $(".prePage").on("click", function(e){
+    let activePageNow = Number($(".activePage").attr('data-page'))
+    if(activePageNow > 1){
+      activePageNow--
+      getTabData(activePageNow)
+      // renderPagination(totalPage,activePageNow,totalNum)
+    }
+  })
+  $(".nextPage").on("click", function(e){
+    let activePageNow = Number($(".activePage").attr('data-page'))
+    if(activePageNow < totalPage){
+      activePageNow++
+      getTabData(activePageNow)
+      // renderPagination(totalPage,activePageNow,totalNum)
+    }
+  })
+
+}
+
+$(function() {
+  const  iconCalenBlue= require("./../images/icon_calen_blue.png")
+  const  iconCalenGrey= require("./../images/icon_calen_grey.png")
+  $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
+  $('.iconCalen').on("mouseenter", function(e){
+    $(this).attr("src", iconCalenBlue)
+  })
+  $('.iconCalen').on("mouseleave", function(e){
+    $(this).attr("src", iconCalenGrey)
+  })
+  $('.iconCalen').on("click", function(e){
+    $(this).parent().find("input").focus()
+  })
+});

+ 2 - 2
src/js/mukuaiControl.js

@@ -12,7 +12,7 @@ const arrowLeft= require("./../images/arrow_left.png")
 const arrowRight = require("./../images/arrow_right.png")
 
 
-let casesId="", name="", isReject ="", isUsed ="",casesIdTemp="", nameTemp="", isRejectTemp ="", isUsedTemp ="",from="",deptIdTemp="",deptItemId="",deptId="",data_asc=[], data_desc=['percentStr'],startDateParam="", endDateParam=""   
+let casesId="", name="", isReject ="", isUsed ="",casesIdTemp="", nameTemp="", isRejectTemp ="", isUsedTemp ="",from="",deptIdTemp="",deptItemId="",deptId="",data_asc=[], data_desc=['percent'],startDateParam="", endDateParam=""   
 
 $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
@@ -42,7 +42,7 @@ $(function(){
         setDatePicker($("#datepicker"),$("#datepicker2"),"default")
         name=nameTemp = ""
         data_asc=[],
-        data_desc=['percentStr']
+        data_desc=['percent']
         $("th[code]").removeClass("asc desc");
         $(".moduleScore").addClass("desc")
         $(".patientNumInp").val("")

+ 3 - 2
src/js/qcList.js

@@ -92,7 +92,7 @@ function getTabData(activePage){
         behospitalCode: behospitalCode,
         name: name, //条目名
         level:level,//病历等级
-        deptId: deptId,
+        deptId: deptId.trim(),
         asc:data_asc,     //升序
         desc:data_desc,       //降序
         doctorName: doctorName,
@@ -856,6 +856,7 @@ function renderPagination(totalPage,activePage,totalNum){
 $(document).on("click", function(){
     $(".levelList ").css("display", "none")
     $(".deptList").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
     $(".selectLevel .arrow").attr("src",iconDown)
     
 })
@@ -868,7 +869,7 @@ $((function($){
         }
         const param = {
             "behospitalCode": behospitalCode,
-            "deptId": deptId,
+            "deptId": deptId.trim(),
             "doctorCode":doctorNum,
             "doctorName": doctorName,
             "leaveHosDateEnd": behosDateEnd,

+ 3 - 2
src/js/qcListDept.js

@@ -95,7 +95,7 @@ function getTabData(activePage){
         behospitalCode: behospitalCode,
         name: name, //条目名
         level:level,//病历等级
-        deptId: deptId,
+        deptId: deptId.trim(),
         asc:data_asc,     //升序
         desc:data_desc,       //降序
         doctorName: doctorName,
@@ -851,6 +851,7 @@ function renderPagination(totalPage,activePage,totalNum){
 $(document).on("click", function(){
     $(".levelList ").css("display", "none")
     $(".deptList").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
     $(".selectLevel .arrow").attr("src",iconDown)
     
 })
@@ -863,7 +864,7 @@ $((function($){
         }
         const param = {
             "behospitalCode": behospitalCode,
-            "deptId": deptId,
+            "deptId": deptId.trim(),
             "doctorCode":doctorNum,
             "doctorName": doctorName,
             "leaveHosDateEnd": behosDateEnd,

+ 2 - 1
src/js/qcListPerson.js

@@ -99,7 +99,7 @@ function getTabData(activePage){
         behospitalCode: behospitalCode,
         name: name, //条目名
         level:level,//病历等级
-        deptId: deptId,
+        deptId: deptId.trim(),
         asc:data_asc,     //升序
         desc:data_desc,       //降序
         doctorName: doctorName,
@@ -841,6 +841,7 @@ function renderPagination(totalPage,activePage,totalNum){
 $(document).on("click", function(){
     $(".levelList ").css("display", "none")
     $(".deptList").css("display", "none")
+    $(".selectDept .arrow").attr("src",iconDown)
     $(".selectLevel .arrow").attr("src",iconDown)
     
 })

+ 2 - 2
src/js/singleVeto.js

@@ -56,8 +56,8 @@ $(function(){
         $(".partTitle a").attr("href","console.html").html("控制台 / ")
         $(".partTitle .pices span").html("条目缺陷占比")
     }
-    if(fromThree == 3){
-        deptName = deptList[0].deptName||'';
+    if(from == 2&&fromThree == 3){
+        deptName =  deptList[0]&&deptList[0].deptName||'';
     }
     $(".partTitle a").click(function(){
         //初始菜单选中

+ 2 - 2
src/js/utils.js

@@ -37,6 +37,7 @@ const pageMap={
 
   "YH-JCSJWH-ZKLXWH":'assertType.html',
   "YH-BLZK-ZKPFYLZ":"qcListDocteam.html",
+  "YH-ZKK-GJTMQXZB":'keyItemFlawControl.html',
 };
 
 //重写assign方法
@@ -285,7 +286,7 @@ function focusMenuItem(code){
 function emptyBox(name,showNum){
   let showNumer = showNum || 18
   let str = `<tr><td colspan="${showNumer}" style="text-align: center;color: #aaa">
-  <img style="margin-top:50px;width:100px;" src="${require('../images/empty1.png')}" />
+  <img style="margin-top:50px;width:140px;" src="${require('../images/empty1.png')}" />
   <p style="margin-top:20px;margin-bottom:30px;color:#ccc;position:relative;left:5px;">${name||'暂无数据~'}</p>
   </td></tr>`
   return str
@@ -352,7 +353,6 @@ function setDatePicker(picker1,picker2,mode,startDateDefault,endDateDefault){
         startDate = startDateDefault || new Date()
         endDate = endDateDefault || new Date()
     }
-    // console.log(picker1,picker2,mode,startDateDefault,endDateDefault)
     if(picker1){
       picker1.datepicker({
         yearRange: "2015:"+year,

+ 14 - 0
webpack.config.js

@@ -46,6 +46,7 @@ module.exports = {
     assertTypeDetail: path.resolve(__dirname, 'src/js', 'assertTypeDetail.js'),
     singleVeto:path.resolve(__dirname, 'src/js', 'singleVeto.js'),
     itemDefectDetail:path.resolve(__dirname, 'src/js', 'itemDefectDetail.js'),
+    keyItemFlawControl:path.resolve(__dirname, 'src/js', 'keyItemFlawControl.js'),
     vendor: 'lodash'// 多个页面所需的公共库文件,防止重复打包带入
   },
   output: {
@@ -513,6 +514,19 @@ module.exports = {
         collapseWhitespace: true //删除空白符与换行符
       }
     }),
+    new HtmlWebpackPlugin({
+      title: 'keyItemFlawControl.html', //关键条目缺陷占比
+      template: path.resolve(__dirname, 'src/html', 'keyItemFlawControl.html'),
+      filename: 'keyItemFlawControl.html',
+      chunks: ['keyItemFlawControl', 'vendor', 'common'],
+      hash: true, //防止缓存
+      inject: true,
+      minify: {
+        removeAttributeQuotes: true, //压缩 去掉引号
+        removeComments: true, //移除HTML中的注释
+        collapseWhitespace: true //删除空白符与换行符
+      }
+    }),
     new CopyWebpackPlugin([
       {
         from:'src/resource',