浏览代码

添加新页面首次质控非甲级病历

yangdr 5 月之前
父节点
当前提交
dfc96291ca
共有 7 个文件被更改,包括 2114 次插入12 次删除
  1. 438 0
      src/css/qcListFirst.less
  2. 1 2
      src/css/qcScore.less
  3. 196 0
      src/html/qcListFirst.html
  4. 1 0
      src/js/api.js
  5. 1459 0
      src/js/qcListFirst.js
  6. 17 9
      src/js/qcScore.js
  7. 2 1
      src/js/utils.js

+ 438 - 0
src/css/qcListFirst.less

@@ -0,0 +1,438 @@
+@import "./reset.less";
+.container{
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+    background: #fff;
+    border-bottom: 10px @disColor solid;
+    box-sizing: border-box;
+}
+ul,li{
+    list-style: none;
+}
+h2{
+    .h2;
+    border-bottom: 10px @disColor solid;
+    position: fixed;
+    top: 0
+}
+.main-body{
+    .main-body-com;
+    border: none;
+    border-left:10px @disColor solid;
+    margin: 54px 0 0;
+    min-width: 1090px;
+    min-height: calc(100% - 84px);
+    /*width: 100%;*/
+}
+.qctable{
+    .table;
+    min-width: 1090px;
+    th,td{
+        padding:5px 10px;
+    }
+    th{
+        white-space: nowrap;
+    }
+    th[code]{
+        cursor: pointer;
+        &:after{
+            content:"";
+            display:inline-block;
+            width: 11px;
+            height: 14px;
+            margin-left: 4px;
+            vertical-align: middle;
+            background: url("../images/grey.png");
+        }
+        &.asc:after{
+            background: url("../images/up_blue.png");
+            background-size: 100%;
+        }
+        &.desc:after{
+            background: url("../images/down_blue.png");
+            background-size: 100%;
+        }
+    }
+    td{
+        white-space: nowrap;
+    }
+    .moduleNumber{
+        text-align: center;
+    }
+    .scoreOperaItem{
+        width: 50px;
+        cursor: pointer;
+    }
+    .tabTitle   {
+        background: #EFF0F9 !important;
+      }
+    
+}
+.tabFoot{
+    height: 40px;
+    /*border: 1px solid #E2E5EF;
+    border-top: none;
+    box-sizing: border-box;*/
+}
+.scoreOpera{
+    height: 50px;
+    line-height: 50px;
+    margin: 0 20px 0 0;
+    cursor: pointer;
+    img{
+        margin: 0 10px 0 0;
+        vertical-align: middle;
+    }
+}
+
+.recordScoreOperaBtn{
+    cursor: pointer;
+    color: @activeColor;
+}
+.recordScoreBtn{
+    cursor: pointer;
+    display: inline-block;
+    width:68px;
+    height:30px;
+    line-height: 30px;
+    text-align: center;
+    border-radius:4px;
+    box-sizing: border-box;
+    border: 1px solid @activeColor;
+    color: #fff;
+    background: @activeColor;
+}
+.filterBox{
+    position: relative;
+}
+.overAuto{
+    display: table;
+    padding-right: 20px;
+    width: 100%;
+}
+.toggle-item{
+    display: none;
+}
+.filter-toggler{
+    line-height: 34px;
+    margin-left: 15px;
+    color: #777;
+    white-space: nowrap;
+    font-size: 14px;
+    background: url("../images/arrow_up.png") 60px center no-repeat;
+    padding-right: 15px;
+    background-size: 10px 6px;
+    &.up{
+        background: url("../images/arrow_down.png") 60px center no-repeat;
+        background-size: 10px 6px;
+    }
+}
+.filterItem{
+    position: relative;
+    display: inline-block;
+    float: left;
+    height: 40px;
+    line-height: 40px;
+    margin: 0 20px 20px 0;
+    span{
+        display: inline-block;
+        line-height: 32px;
+        position: relative;
+    }
+    input{
+        width:120px;
+        height:32px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        outline: none;
+        margin-right: 10px;
+        padding: 0 10px;
+        box-sizing: border-box;
+    }
+    input:focus{
+        border: 1px solid @activeColor ;
+        outline: 0;
+        -webkit-box-shadow:@activeColor  0px 0px 2px;
+        -moz-box-shadow: @activeColor  0px 0px 2px;
+        box-shadow: @activeColor  0px 0px 2px;
+    }
+}
+
+.filterDropList{
+    position: absolute;
+    right: 0;
+    max-height: 200px;
+    overflow-y: auto;
+    background: #fff;
+    display: none;
+    border: 1px solid #e4e7ed;
+    box-shadow: 0 2px 12px 0 #e4e7ed;
+    z-index: 2;
+    li{
+        padding: 0 10px;
+    }
+}
+.deptList{
+    width: 160px;
+    max-height: 400px;
+}
+.regionsList,.medoupsList{
+    width: 120px;
+    max-height: 400px;
+}
+.levelList,.checkList{
+    width: 120px;
+    // height: 200px;
+    li:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+}
+
+.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck,.selectRegions,.selectMedoups{
+    display: inline-block;
+    position: relative;
+    min-width:120px;
+    padding: 0 10px;
+    height:32px;
+    border-radius:4px;
+    border: 1px solid #E2E5EF;
+    box-sizing: border-box;
+    cursor: pointer;
+}
+.selectDept{
+    width: 160px;
+}
+.filter,.reset,.export{
+    display: inline-block;
+    width:60px;
+    height:32px;
+    background:@activeColor;
+    border-radius:4px;
+    color: #fff;
+    text-align: center;
+    line-height: 32px;
+    position: relative;
+    top: 2px;
+    cursor: pointer;
+    float: left;
+    margin: 0 0px 22px 0;
+}
+.export{
+    height:34px;
+    
+    background: #fff;
+    border-radius: 4px;
+    color: #777;
+    border: 1px solid #777;
+    box-sizing: border-box;
+    cursor: pointer;
+    margin-left: 10px;
+    float: left;
+    top: 0px;
+}
+.arrow{
+    position: absolute;
+    width: 10px;
+    top: 12px;
+    right: 10px;
+}
+.iconCheck{
+    width: 14px;
+}
+.fl{
+    float: left;
+}
+.clearfix:after {
+    content: '';
+    height: 0;
+    line-height: 0;
+    display: block;
+    visibility: hidden;
+    clear: both;
+}
+.clearfix{
+    zoom:1
+}
+.divide{
+    margin: 0 10px;
+}
+.datapickerBox{
+    position: relative;
+    display: inline-block;
+    width: 120px;
+    height: 32px;
+    input{
+        position: absolute;
+    }
+}
+.setCol{
+    color: #777;
+    cursor: pointer;
+    margin: 0 0 0  50px;
+}
+.iconSetting{
+    width: 18px;
+    position: relative;
+    top: 3px;
+    margin: 0 3px 0 0;
+}
+.iconCalen{
+    position: absolute;
+    width: 15px;
+    top: 8px;
+    right: 10px;
+}
+.textCenter{
+    text-align: center;
+}
+.patientNameSpan{
+    color: @activeColor;
+    cursor: pointer;
+}
+
+.deptItem:hover,.medoupsItem:hover,.regionsItem:hover{
+    background-color: #EEF4FF;
+    cursor: pointer;
+}
+.ellipsis{
+    overflow: hidden;
+    text-overflow:ellipsis;
+    white-space: nowrap;
+}
+.unSelect{
+    color: #cfccd6
+ }
+
+
+.pagination{
+    margin: 35px 0 20px 0  ;
+    text-align: right;
+}
+.totalSum{
+    font-size:12px;
+    line-height:17px;
+    color: #777777;
+    margin-right: 20px;
+}
+.pageNum,.prePage,.nextPage, .more{
+    display: inline-block;
+    width: 20px;
+    cursor: pointer;
+    margin: 0 20px 0 0;
+    text-align: center;
+    color: #777;
+}
+.prePage,.nextPage{
+    img{
+        position: relative;
+        top: 0px   ;
+    }
+}
+ .more{
+    cursor: not-allowed;
+}
+.arrowPage{
+    width: 6px;
+}
+.activePage{
+    color: @activeColor;
+}
+
+
+
+.ui-datepicker-calendar {
+    border: 0 none;
+    min-width: 0;
+}
+.ui-datepicker thead {
+    background-color: #fff;
+    color: #c3cbd6;
+}
+.ui-datepicker td {
+    padding: 0;
+    height: auto;
+    color: #657180;
+}
+.ui-datepicker td span, .ui-datepicker td a {
+    text-align: center;
+    height: 30px;
+    line-height: 30px;
+}
+
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
+    border: 0;
+    background-color: #fff;
+    &:hover {
+        background-color: #c4d8fe;
+    }
+}
+.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
+    color: #333;
+    font-weight: normal;
+    height: 30px;
+    line-height: 30px;
+    margin: 0 5px;
+    width: 40%;
+    border-radius: 3px;
+}
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
+    top: 5px;
+}
+.ui-state-active, .ui-widget-content .ui-state-active {
+    background-color: @activeColor !important;
+    color: #fff;
+}
+.ui-state-highlight, .ui-widget-content .ui-state-highlight {
+    background-color: #fff5bf !important;
+    color: #657180;
+}
+.ui-widget-header {
+    background-color: #fff;
+    border: 0 none;
+}
+
+input::-webkit-outer-spin-button,
+input::-webkit-inner-spin-button {
+    -webkit-appearance: none;
+}
+ 
+input[type="number"] {
+    -moz-appearance: textfield;
+}
+.tipIcon{
+  color: #777;
+  cursor: pointer;
+  display: inline-block;
+  margin-left: 6px;
+  margin-right: 2px;
+}
+.toolTipIcon{
+    width: 18px;
+    position: relative;
+    top: 3px;
+}
+
+.tooltip{
+    visibility: hidden;
+    position: relative;
+    padding: 7px 10px;
+    border-radius: 4px;
+    margin: 100px auto;
+    background-color: #4D4D4D;
+    text-align: center;
+    color: #fff;
+    font-size: 14px;
+}
+.tooltip:before{
+    content: '';
+    display: block;
+    position: absolute;
+    bottom: 9px;
+    left: -12px;
+    border-bottom: 6px solid transparent;
+    border-top: 6px solid transparent;
+    border-left: 6px solid transparent;
+    border-right: 6px solid #4D4D4D;
+}

+ 1 - 2
src/css/qcScore.less

@@ -55,7 +55,6 @@
   }
 
   .first {
-
     height: 30px;
     line-height: 30px;
     position: relative;
@@ -79,6 +78,7 @@
       z-index: 10;
       display: none;
       backdrop-filter: blur(10px);
+      // backdrop-filter: grayscale(1); //背景
       text-align: left;
       padding: 10px 20px;
       box-shadow: 0px 0px 10px gray;
@@ -86,7 +86,6 @@
 
       // filter: blur(10px);
       p {
-        backdrop-filter: blur(10px);
         white-space: normal;
       }
     }

+ 196 - 0
src/html/qcListFirst.html

@@ -0,0 +1,196 @@
+<!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 qcListFirst">
+    <h2>首次质控非甲级病历</h2>
+    <div class="main-body">
+      <div class="filterBox">
+        <div class="clearfix">
+          <span class="filterItem typeFilter">
+            <span style="overflow:hidden">病区:</span>
+            <span class="selectRegions ellipsis" data-id=" "><i>全部</i></span>
+            <ul class="regionsList filterDropList"></ul>
+          </span>
+          <span class="filterItem typeFilter deptListWrap">
+            <span style="overflow:hidden">科室:</span>
+            <span class="selectDept ellipsis" data-id=" "><i>--</i></span>
+            <ul class="deptList filterDropList">
+
+            </ul>
+          </span>
+          <span class="filterItem typeFilter">
+            <span style="overflow:hidden">医疗组:</span>
+            <span class="selectMedoups ellipsis" data-id=" "><i>全部</i></span>
+            <ul class="medoupsList filterDropList"></ul>
+          </span>
+          <span class="filterItem typeFilter clearfix">
+            <span class="fl">出院日期:</span>
+            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off"
+                readonly /></span>
+            <span class="divide fl">-</span>
+            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2" autocomplete="off"
+                readonly /></span>
+          </span>
+          <div class="toggle-item clearfix">
+            <span class="filterItem">
+              <span>病历等级:</span>
+              <span class="selectLevel">全部</span>
+              <ul class="levelList filterDropList">
+                <Li class="levelItem" data-name="全部" data-id="全部">全部</Li>
+                <Li class="levelItem" data-name="未评分" data-id="未评分">未评分</Li>
+                <Li class="levelItem" data-name="甲" data-id="甲">甲</Li>
+                <li class="levelItem" data-name="乙" data-id=乙>乙</li>
+                <li class="levelItem" data-name="丙" data-id=丙>丙</li>
+              </ul>
+            </span>
+            <span class="filterItem typeFilter">
+              <span>病人姓名:</span>
+              <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+            </span>
+            <span class="filterItem typeFilter">
+              <span>病人住院序号:</span>
+              <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+            </span>
+            <span class="filterItem typeFilter">
+              <span>病案号:</span>
+              <input class="fileCodeNumInp" style="width: 148px;" type="text" placeholder="请输入病案号">
+            </span>
+            <span class="filterItem typeFilter">
+              <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 filterHide fpFilterItem">
+              <span>病案首页核查状态:</span>
+              <span class="fpSelectCheck">全部</span>
+              <ul class="checkList filterDropList fpCheckList">
+                <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
+                <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
+              </ul>
+            </span>
+            <span class="filterItem filterHide doctorFilter fpFilterItem">
+              <span>病案首页核查人:</span>
+              <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
+            </span>
+            <span class="filterItem filterHide typeFilter clearfix">
+              <span class="fl">病案首页核查时间:</span>
+              <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1"
+                  autocomplete="off" readonly /></span>
+              <span class="divide fl">-</span>
+              <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"
+                  autocomplete="off" readonly /></span>
+            </span>
+            <span class="filterItem qcFiliterItem">
+              <span>病历核查状态:</span>
+              <span class="qcSelectCheck">全部</span>
+              <ul class="checkList filterDropList qcCheckList">
+                <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
+                <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
+              </ul>
+            </span>
+            <span class="filterItem doctorFilter qcFiliterItem">
+              <span>病历核查人:</span>
+              <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
+            </span>
+
+            <span class="filterItem typeFilter clearfix qcFiliterItem">
+              <span class="fl">病历核查时间:</span>
+              <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1"
+                  autocomplete="off" readonly /></span>
+              <span class="divide fl">-</span>
+              <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"
+                  autocomplete="off" readonly /></span>
+            </span>
+            <span class="filterItem doctorFilter qcFiliterItem">
+              <span>主诊断:</span>
+              <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+            </span>
+            <span class="filterItem typeFilter clearfix">
+              <span class="filter">查询</span>
+              <span class="filterclear abnormalClear filterclearT">重置</span>
+              <span class="export">导出</span>
+              <a href="javascript:void(0);" class="filter-toggler " id="filterToggler">收起筛选</a>
+            </span>
+          </div>
+          <span class="filterToggler2">
+            <span class="filter">查询</span>
+            <span class="filterclear abnormalClear filterclearT">重置</span>
+            <span class="export">导出</span>
+            <a href="javascript:void(0);" class="filter-toggler up" id="filterToggler2">展开筛选</a>
+          </span>
+        </div>
+      </div>
+      <div class="overAuto">
+        <table class="qctable">
+          <thead>
+            <tr class="tabOpera">
+              <!-- <td colspan="18" style="background: #fff">
+                                <div class="tabFoot">
+                                    <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                    <span class="recordScoreBtn">评分</span>
+                                </div>
+                            </td> -->
+            </tr>
+            <tr class="tabTitle">
+              <!-- <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 - 0
src/js/api.js

@@ -17,6 +17,7 @@ const api = {
   updataQcCasesEntry: '/qc/casesEntryHospital/updataQcCasesEntry',
   qcList: '/qc/behospitalInfo/page',
   qcListByDept: '/qc/behospitalInfo/page_dept',
+  qcListFirstAnalyze: "/qc/behospitalInfo/page_deptFirstAnalyze",
   qcListByPerson: '/qc/behospitalInfo/page_person',
   qcListByDoc: '/qc/behospitalInfo/page_group', //质控评分(医疗组)
   qcListYw: '/console/qualityControl',  //病历质控报表-义乌全院

文件差异内容过多而无法显示
+ 1459 - 0
src/js/qcListFirst.js


+ 17 - 9
src/js/qcScore.js

@@ -1153,7 +1153,6 @@ $(function () {
       "behospitalCode": global_id,
     }).then(res => {
       console.log("getQcFirstAnalyze", res)
-
       const { code, msg, data } = res.data
       if (code == '0') {
         qcFirstAnalyzeData = data
@@ -1162,24 +1161,33 @@ $(function () {
       console.log("getQcFirstAnalyze接口错误", err)
     })
   }
+
+  function showQcFirstAnalyze() {
+    $(".patient-info .first .detail").empty()
+    let data = qcFirstAnalyzeData
+    let str = `<p> 病历等级:${data.level} </p><p>病历得分:${data.scoreRes}</p><p>缺陷条目:</p>`
+    data.msg.forEach((el, index) => {
+      str += `<p>${index + 1}.${el}</p>`
+    })
+    $(".patient-info .first .detail").html(str)
+  }
+
   getQcFirstAnalyze()
+
   $(document).on("click", "body", function () {
     $(".patient-info .first .detail").slideUp()
   })
   $(document).on("click", ".patient-info .first .detail", function (event) {
     event.stopPropagation()
   })
+  let qcListFirstAnalyze = false
   $(document).on("click", ".patient-info .first .text", function (event) {
     // console.log("event", event)
     event.stopPropagation()
     $(".patient-info .first .detail").slideToggle()
-    $(".patient-info .first .detail").empty()
-    let data = qcFirstAnalyzeData
-    let str = `<p> 病历等级:${data.level} </p><p>病历得分:${data.scoreRes}</p><p>缺陷条目:</p>`
-    data.msg.forEach((el, index) => {
-      str += `<p>${index + 1}.${el}</p>`
-    })
-    $(".patient-info .first .detail").html(str)
-
+    if (!qcListFirstAnalyze) {
+      showQcFirstAnalyze()
+      qcListFirstAnalyze = true
+    }
   })
 });

+ 2 - 1
src/js/utils.js

@@ -66,7 +66,8 @@ const pageMap = {
   'YH-ZKHC-FPHCRW': 'allotCheckTask.html', //义乌-分配核查任务
   'YH-ZKHC-HCRWLB': 'checkTaskList.html', //义乌-核查任务列表
   'YH-ZKK-YLZLKZZB_XQ': 'qualityControl.html',
-  'YH-SJBJ': 'editableDetail.html' //数据编辑
+  'YH-SJBJ': 'editableDetail.html', //数据编辑
+  'YH-BLZK-SCZKQX': "qcListFirst.html",//首次质控非甲级病历
 };
 
 //导出时间天数