Przeglądaj źródła

Merge remote-tracking branch 'origin/test' into version1.3.6.1

# Conflicts:
#	src/js/itemDefectDetail.js
#	src/js/utils.js
zhouna 5 lat temu
rodzic
commit
5a41862fd9
73 zmienionych plików z 2088 dodań i 185 usunięć
  1. 1 0
      src/css/common.less
  2. 16 0
      src/css/deptScoreDetailControl.less
  3. 6 1
      src/css/index.less
  4. 0 1
      src/css/itemDefectDetail.less
  5. 1 1
      src/css/moduleManager.less
  6. 16 0
      src/css/partDetailControl.less
  7. 3 1
      src/css/qcList.less
  8. 3 1
      src/css/qcListDept.less
  9. 394 0
      src/css/qcListDocteam.less
  10. 3 1
      src/css/qcListPerson.less
  11. 6 0
      src/css/qcScore.less
  12. 300 0
      src/css/single.less
  13. 16 0
      src/css/tiaomu.less
  14. 1 1
      src/html/abnormal.html
  15. 1 1
      src/html/assertType.html
  16. 1 1
      src/html/deptScoreDetail.html
  17. 1 0
      src/html/deptScoreDetailControl.html
  18. 2 1
      src/html/itemDefectDetail.html
  19. 1 1
      src/html/itemManager.html
  20. 1 1
      src/html/jiaji.html
  21. 1 1
      src/html/mukuai.html
  22. 1 1
      src/html/mukuaiControl.html
  23. 1 1
      src/html/partDetail.html
  24. 2 1
      src/html/partDetailControl.html
  25. 1 1
      src/html/payDetail.html
  26. 2 2
      src/html/qcList.html
  27. 2 2
      src/html/qcListDept.html
  28. 118 0
      src/html/qcListDocteam.html
  29. 1 1
      src/html/qcListPerson.html
  30. 1 1
      src/html/qcScore.html
  31. 3 3
      src/html/quexianDetail.html
  32. 3 3
      src/html/quexianDetailControl.html
  33. 2 2
      src/html/quexianDetailControlHome.html
  34. 3 3
      src/html/quexianDetailHome.html
  35. 1 1
      src/html/quexianXQ.html
  36. 4 3
      src/html/singleVeto.html
  37. 1 1
      src/html/tiaomu.html
  38. 1 1
      src/html/tiaomuControl.html
  39. 1 4
      src/html/userManager.html
  40. BIN
      src/images/setting.png
  41. 1 1
      src/js/abnormal.js
  42. 7 1
      src/js/api.js
  43. 1 1
      src/js/assertType.js
  44. 1 1
      src/js/assertTypeDetail.js
  45. 63 35
      src/js/console.js
  46. 47 16
      src/js/deptConsole.js
  47. 1 1
      src/js/deptScoreDetail.js
  48. 25 1
      src/js/deptScoreDetailControl.js
  49. 4 0
      src/js/index.js
  50. 62 33
      src/js/itemDefectDetail.js
  51. 1 1
      src/js/itemManager.js
  52. 1 1
      src/js/jiaji.js
  53. 2 1
      src/js/login.js
  54. 1 1
      src/js/moduleManager.js
  55. 3 2
      src/js/mukuai.js
  56. 1 1
      src/js/mukuaiControl.js
  57. 1 1
      src/js/partDetail.js
  58. 25 2
      src/js/partDetailControl.js
  59. 11 6
      src/js/qcList.js
  60. 9 4
      src/js/qcListDept.js
  61. 797 0
      src/js/qcListDocteam.js
  62. 9 4
      src/js/qcListPerson.js
  63. 17 9
      src/js/qcScore.js
  64. 1 1
      src/js/quexianDetail.js
  65. 1 1
      src/js/quexianDetailControl.js
  66. 1 1
      src/js/quexianDetailHome.js
  67. 1 1
      src/js/quexianXQ.js
  68. 47 9
      src/js/singleVeto.js
  69. 1 1
      src/js/tiaomu.js
  70. 1 1
      src/js/tiaomuControl.js
  71. 1 1
      src/js/userManager.js
  72. 8 2
      src/js/utils.js
  73. 14 0
      webpack.config.js

+ 1 - 0
src/css/common.less

@@ -17,6 +17,7 @@ input:disabled {
     margin: 0;
     padding: 20px 25px;
     border:10px @disColor solid;
+    box-sizing: border-box;
 }
 
 th[code]{

+ 16 - 0
src/css/deptScoreDetailControl.less

@@ -204,6 +204,22 @@
         cursor: pointer;
         float: left;
     }
+    .export{
+        display: inline-block;
+        width:60px;
+        height:34px;
+        line-height: 34px;
+        background: #fff;
+        border-radius: 4px;
+        color: #777;
+        text-align: center;
+        border: 1px solid #777;
+        box-sizing: border-box;
+        cursor: pointer;
+        margin:0 0 20px 10px;
+        float: left;
+        top: 0px;
+    }
     .arrow{
         position: absolute;
         width: 10px;

+ 6 - 1
src/css/index.less

@@ -29,7 +29,8 @@
       top:22px;
       width: 10px;
       height: 6px;
-      background: url("../images/icon_down.png") no-repeat;
+      background: url("../images/arrow_down.png") no-repeat;
+      background-size: 10px 6px;
     }
     //设置
     .userAction {
@@ -88,6 +89,10 @@
       color: @fstColor;
     }
   }
+  .login:after{
+    background: url("../images/icon_down.png") no-repeat;
+    background-size: 10px 6px;
+  }
   .main-body {
     background: @activeBg;
   }

+ 0 - 1
src/css/itemDefectDetail.less

@@ -325,7 +325,6 @@ table{
 .selectDefect{
     min-width: 120px;
     width: auto;
-    color: #ccc;
     display: inline-block;
     position: relative;
     padding: 0 10px;

+ 1 - 1
src/css/moduleManager.less

@@ -22,7 +22,7 @@ h2{
 }
 table{
     .table;
-    min-width: 800px;
+    // min-width: 800px;
     th,td{
         padding: 0 20px;
     }

+ 16 - 0
src/css/partDetailControl.less

@@ -186,6 +186,22 @@
         cursor: pointer;
         float: left;
     }
+    .export{
+        display: inline-block;
+        width:60px;
+        height:34px;
+        line-height: 34px;
+        background: #fff;
+        border-radius: 4px;
+        color: #777;
+        text-align: center;
+        border: 1px solid #777;
+        box-sizing: border-box;
+        cursor: pointer;
+        margin-left: 10px;
+        float: left;
+        top: 0px;
+    }
     .arrow{
         position: absolute;
         width: 10px;

+ 3 - 1
src/css/qcList.less

@@ -96,7 +96,8 @@ table{
     border-radius:4px;
     box-sizing: border-box;
     border: 1px solid @activeColor;
-    color: @activeColor;
+    color: #fff;
+    background: @activeColor;
 }
 .filterBox{
     position: relative;
@@ -114,6 +115,7 @@ table{
     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;

+ 3 - 1
src/css/qcListDept.less

@@ -94,7 +94,8 @@ table{
     border-radius:4px;
     box-sizing: border-box;
     border: 1px solid @activeColor;
-    color: @activeColor;
+    color: #fff;
+    background: @activeColor;
 }
 .filterBox{
     position: relative;
@@ -112,6 +113,7 @@ table{
     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;

+ 394 - 0
src/css/qcListDocteam.less

@@ -0,0 +1,394 @@
+@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-left:10px @disColor solid;
+    margin: 54px 0 0;
+    min-width: 1090px;
+    min-height: calc(100% - 84px);
+    /*width: 100%;*/
+}
+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: 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;
+    /*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;
+}
+.toggle-item{
+    display: none;
+}
+.filter-toggler{
+    position: absolute;
+    left: 788px;
+    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: 8px;
+    right: 10px;
+}
+.textCenter{
+    text-align: center;
+}
+.patientNameSpan{
+    color: @activeColor;
+    cursor: pointer;
+}
+
+.deptItem:hover{
+    background-color: #EEF4FF;
+    cursor: pointer;
+}
+.ellipsis{
+    overflow: hidden;
+    text-overflow:ellipsis;
+    white-space: nowrap;
+}
+.unSelect{
+    color: #cfccd6
+ }
+
+
+.pagination{
+    margin: 35px 0 20px 0  ;
+    text-align: right;
+}
+.totalSum{
+    font-size:12px;
+    line-height:17px;
+    color: #777777;
+    margin-right: 20px;
+}
+.pageNum,.prePage,.nextPage, .more{
+    display: inline-block;
+    width: 20px;
+    cursor: pointer;
+    margin: 0 20px 0 0;
+    text-align: center;
+    color: #777;
+}
+.prePage,.nextPage{
+    img{
+        position: relative;
+        top: 0px   ;
+    }
+}
+ .more{
+    cursor: not-allowed;
+}
+.arrowPage{
+    width: 6px;
+}
+.activePage{
+    color: @activeColor;
+}
+
+
+
+.ui-datepicker-calendar {
+    border: 0 none;
+    min-width: 0;
+}
+.ui-datepicker thead {
+    background-color: #fff;
+    color: #c3cbd6;
+}
+.ui-datepicker td {
+    padding: 0;
+    height: auto;
+    color: #657180;
+}
+.ui-datepicker td span, .ui-datepicker td a {
+    text-align: center;
+    height: 30px;
+    line-height: 30px;
+}
+
+.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default {
+    border: 0;
+    background-color: #fff;
+    &:hover {
+        background-color: #c4d8fe;
+    }
+}
+.ui-datepicker select.ui-datepicker-month, .ui-datepicker select.ui-datepicker-year {
+    color: #333;
+    font-weight: normal;
+    height: 30px;
+    line-height: 30px;
+    margin: 0 5px;
+    width: 40%;
+    border-radius: 3px;
+}
+.ui-datepicker .ui-datepicker-prev, .ui-datepicker .ui-datepicker-next {
+    top: 5px;
+}
+.ui-state-active, .ui-widget-content .ui-state-active {
+    background-color: @activeColor !important;
+    color: #fff;
+}
+.ui-state-highlight, .ui-widget-content .ui-state-highlight {
+    background-color: #fff5bf !important;
+    color: #657180;
+}
+.ui-widget-header {
+    background-color: #fff;
+    border: 0 none;
+}
+
+input::-webkit-outer-spin-button,
+input::-webkit-inner-spin-button {
+    -webkit-appearance: none;
+}
+ 
+input[type="number"] {
+    -moz-appearance: textfield;
+}

+ 3 - 1
src/css/qcListPerson.less

@@ -99,7 +99,8 @@ table{
     border-radius:4px;
     box-sizing: border-box;
     border: 1px solid @activeColor;
-    color: @activeColor;
+    color: #fff;
+    background: @activeColor;
 }
 .filterBox{
     position: relative;
@@ -117,6 +118,7 @@ table{
     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;

+ 6 - 0
src/css/qcScore.less

@@ -801,4 +801,10 @@
     width: 100%;
     box-sizing: border-box;
   }
+}
+.modal .modal-footer a.cancel{
+  display: none;
+  color: #FF4D4F;
+  border-color: #FF4D4F;
+  margin-right: 16px;
 }

+ 300 - 0
src/css/single.less

@@ -0,0 +1,300 @@
+@import './reset.less';
+
+.singleVeto{
+    width: 100%;
+    height: 100%;
+    overflow-y: auto;
+    background: @disColor;
+    .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;
+    }    
+    .deptItem:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+    .selectLevel,.selectDept{
+        display: inline-block;
+        position: relative;
+        width:160px;
+        padding: 0 10px;
+        height:40px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        box-sizing: border-box;
+        cursor: pointer;
+    }
+    .filterItem.deptListWrap {
+        .selectDept,.deptList {
+            width: 180px;
+        }
+    }
+    .filterItem{
+        position: relative;
+        display: inline-block;
+        float: left;
+        height: 40px;
+        line-height: 40px;
+        margin: 0 20px 15px 0;
+        span{
+            display: inline-block;
+            line-height: 40px;
+            position: relative;
+        }
+        input{
+            width:120px;
+            height:40px;
+            border-radius:4px;
+            border: 1px solid #E2E5EF;
+            outline: none;
+            margin-right: 10px;
+            padding: 0 10px;
+            box-sizing: border-box;
+        }
+    }
+    .rejectList {
+        height: 80px !important;
+    }
+    .selectUsed,.selectReject {
+        float: right;
+    }
+    ul,li{
+        padding:0;
+        margin:0;
+        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;
+    }
+    table{
+        .table;
+        .moduleNumber{
+            text-align: center;
+        }
+        
+    }
+    // .filterBox{
+    //     margin: 0 0 20px 0;
+    // }
+    .filterItem{
+        position: relative;
+        display: inline-block;
+        margin-right: 20px;
+        height: 40px;
+        line-height: 40px;
+        margin: 0 20px 20px 0;
+    }
+    .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;
+        }
+    }
+    .rejectList, .usedList{
+        height: 120px;
+        li{
+            padding: 0 10px;
+        }
+        li:hover{
+            background-color: #EEF4FF;
+            cursor: pointer;
+        }
+    }
+    .switchImg{
+        width: 30px;
+    }
+    .roleSelect {
+        position: relative;
+        top: 3px;
+        cursor: pointer;
+    }
+    .selectModuleType,.moduleItemInp,.selectUsed, .selectReject{
+        display: inline-block;
+        position: relative;
+        width:140px;
+        padding: 0 10px;
+        height:40px;
+        border-radius:4px;
+        border: 1px solid #E2E5EF;
+        box-sizing: border-box;
+        cursor: pointer;
+        padding-right: 26px;
+    }
+    .arrow{
+        position: absolute;
+        width: 10px;
+        top: 16px;
+        right: 10px;
+    }
+    .moduleItemInp{
+        cursor: default;
+        outline: none;
+    }
+    .moduleTypeList{
+         width: 160px;
+    }
+    .selectUsed, .selectReject{
+        width: 140px;
+    }
+    .modeTypeItem:hover{
+        background-color: #EEF4FF;
+        cursor: pointer;
+    }
+    .rejectList, .usedList {
+        width: 140px;
+    }
+    .filter{
+        display: inline-block;
+        width:60px;
+        height:36px;
+        background:@activeColor;
+        border-radius:4px;
+        color: #fff;
+        text-align: center;
+        line-height: 36px;
+        position: relative;
+        top: -1px;
+        cursor: pointer;
+    }
+    .export{
+        display: none;
+        width:60px;
+        height:34px;
+        line-height: 34px;
+        background: #fff;
+        border-radius: 4px;
+        color: #777;
+        text-align: center;
+        border: 1px solid #777;
+        box-sizing: border-box;
+        cursor: pointer;
+        margin-left: 10px;
+        float: left;
+        top: 0px;
+    }
+    .editItem{
+       color: @activeColor;
+       cursor: pointer;
+    }
+    .editItemDis{
+        color: #aaa;
+        cursor: not-allowed;
+    }
+    
+    .ellipsis{
+        overflow: hidden;
+        text-overflow:ellipsis;
+        white-space: nowrap;
+    }
+    .textCenter{
+        text-align: center;
+    }
+    
+    
+    .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;
+    }
+    
+    input::-webkit-outer-spin-button,
+    input::-webkit-inner-spin-button {
+        -webkit-appearance: none;
+    }
+     
+    input[type="number"] {
+        -moz-appearance: textfield;
+    }
+}
+.singleVeto{
+    .rejectList{
+        height: 101px !important;
+    }
+}
+.goDetail{
+    cursor: pointer;
+    color: @activeColor;
+}
+
+.usrContain .selectReject,.usrContain .selectModuleType ,.managerContainer .selectModuleType  {
+    float: right;
+}
+.usrContain .rejectList,.usrContain .usedList{
+    height: 200px;
+}
+.usrContain .selectModuleType, .usrContain .moduleItemInp, .usrContain .selectUsed, .usrContain .selectReject {
+    width: 170px;
+}
+.managerContainer .moduleTypeList {
+    width: 140px;
+}
+.managerContainer.usrContain .moduleTypeList {
+    width: 170px;
+    height: 400px;
+}
+.managerContainer.usrContain .selectReject {
+    width: 140px;
+}

+ 16 - 0
src/css/tiaomu.less

@@ -191,6 +191,22 @@
         top: -1px;
         cursor: pointer;
     }
+    .export{
+        display: inline-block;
+        width:60px;
+        height:34px;
+        line-height: 34px;
+        background: #fff;
+        border-radius: 4px;
+        color: #777;
+        text-align: center;
+        border: 1px solid #777;
+        box-sizing: border-box;
+        cursor: pointer;
+        margin-left: 10px;
+        float: left;
+        top: 0px;
+    }
     .editItem{
        color: @activeColor;
        cursor: pointer;

+ 1 - 1
src/html/abnormal.html

@@ -63,7 +63,7 @@
                     <th class="patientage textCenter" >备注</th>
                     <th class="patientage textCenter" style="width: 150px;">操作</th>
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                 </table>

+ 1 - 1
src/html/assertType.html

@@ -35,7 +35,7 @@
                         <th class="beHospitalId textCenter">质控类型</th>
                         <th class="beHospitalId textCenter" style="width: 200px;">操作</th>
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                 </table>

+ 1 - 1
src/html/deptScoreDetail.html

@@ -59,7 +59,7 @@
                     <th class="beHospitalId textCenter">乙级率</th>
                     <th class="beHospitalId textCenter">丙级率</th>
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                 </table>

+ 1 - 0
src/html/deptScoreDetailControl.html

@@ -44,6 +44,7 @@
                 </span>
                 <span class="filter">查询</span>
                 <span class="filterclear abnormalClear">重置</span>
+                <span class="export">导出</span>
             </div>
             <div class="deptScoreDetailControlTable">
                 <table>

+ 2 - 1
src/html/itemDefectDetail.html

@@ -94,6 +94,7 @@
                     </tr> -->
                     <!-- <th class="textCenter" ></th> -->
                     <!-- <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th> -->
+                           <th class="orderNum textCenter">序号</th>
                     <th class="beHospitalId textCenter" code="behospitalCode">病人住院序号</th>
                     <th class="recordLevel textCenter" code="level">病历等级</th>
                     <th class="recordScore textCenter" code="scoreRes">病历得分</th>
@@ -113,7 +114,7 @@
                     <th class="outHospitalDate textCenter desc" code="leaveHospitalDate">出院日期</th>
                     <!-- <th class="scoreTime textCenter" code="grade_time">评分时间</th> -->
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                     <tfoot>

+ 1 - 1
src/html/itemManager.html

@@ -59,7 +59,7 @@
                     <th class="moduleUsed">启用</th>
                     <th class="moduleOpera" style="width: 65px;">操作</th>
                 </thead>
-                <tbody>
+                <tbody class="tbody">
     
                 </tbody>
             </table>

+ 1 - 1
src/html/jiaji.html

@@ -43,7 +43,7 @@
                         <th class="moduleItemName">科室名称</th>
                         <th class="moduleScore" style="width: 80px;">甲级病历占比</th>
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                 </table>

+ 1 - 1
src/html/mukuai.html

@@ -52,7 +52,7 @@
                     <th class="moduleItemName">模块名称</th>
                     <th class="moduleScore" style="width: 80px;">缺陷占比</th>
                 </thead>
-                <tbody>
+                <tbody class="tbody">
     
                 </tbody>
             </table>

+ 1 - 1
src/html/mukuaiControl.html

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

+ 1 - 1
src/html/partDetail.html

@@ -57,7 +57,7 @@
                     <th class="beHospitalId textCenter" code="averageValue">质控平均分</th>
                     <th class="beHospitalId textCenter" code="mrNum">质控病历数</th>
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                 </table>

+ 2 - 1
src/html/partDetailControl.html

@@ -44,6 +44,7 @@
                 </span>
                 <span class="filter">查询</span>
                 <span class="filterclear abnormalClear">重置</span>
+                <span class="export">导出</span>
             </div>
             <div>
                 <table>
@@ -59,7 +60,7 @@
                         <th class="beHospitalId textCenter" code="averageValue">质控平均分</th>
                         <th class="beHospitalId textCenter" code="mrNum">质控病历数</th>
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                 </table>

+ 1 - 1
src/html/payDetail.html

@@ -55,7 +55,7 @@
                         <th class="beHospitalId textCenter">科室名称</th>
                         <th class="patientNo textCenter" >平均住院花费(元)</th>
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                 </table>

+ 2 - 2
src/html/qcList.html

@@ -41,8 +41,8 @@
                         </ul>
                     </span>
                     <span class="filter">查询</span>
-                    <span class="export">导出</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">
@@ -96,7 +96,7 @@
                         <th class="scoreTime textCenter" code="grade_time">评分时间</th> -->
                     </tr>
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                     <tfoot>

+ 2 - 2
src/html/qcListDept.html

@@ -41,8 +41,8 @@
                         </ul>
                     </span>
                     <span class="filter">查询</span>
-                    <span class="export">导出</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">
@@ -96,7 +96,7 @@
                             <th class="scoreTime textCenter" code="grade_time">评分时间</th> -->
                         </tr>
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                     <!-- <tfoot>

+ 118 - 0
src/html/qcListDocteam.html

@@ -0,0 +1,118 @@
+<!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="main-body">
+            <div class="filterBox">
+                <div class="clearfix">
+                    <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 typeFilter">
+                        <span>医生姓名:</span>
+                        <input class="doctorInp" type="text" placeholder="请输入医生姓名">
+                    </span>
+                    <span class="filterItem doctorFilter">
+                        <span>医生工号:</span>
+                        <input class="doctorNumInp" 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/qcListPerson.html

@@ -93,7 +93,7 @@
                             <th class="scoreTime textCenter" code="grade_time">评分时间</th>    -->
                         </tr> 
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                     <!-- <tfoot>

+ 1 - 1
src/html/qcScore.html

@@ -326,8 +326,8 @@
                 <!--<p>确定要删除该评分记录吗?</p>-->
             </div>
             <div class="modal-footer">
+                <a class="close cancel" href="javascript:void(0);">取消</a>
                 <a class="confirm" href="javascript:void(0);">保存</a>
-                <!--<a class="close cancel" href="javascript:void(0);">取消</a>-->
             </div>
         </div>
     </div>

+ 3 - 3
src/html/quexianDetail.html

@@ -13,10 +13,10 @@
     <div class="managerContainer quexianDetail">
         <div class="partTitle">
           <p class="titlePic"></p>
-          <div class="monthYear">
+          <!-- <div class="monthYear">
             <span class="mon">本月</span>
             <span class="year">本年</span>
-          </div> 
+          </div>  -->
           <div class="dateDetail fr">
             
           </div>
@@ -62,7 +62,7 @@
                     <th class="moduleItemName textCenter" code="num">数量</th>
                     <th class="moduleScore" style="width: 100px;" code="percent">缺陷占比</th>
                 </thead>
-                <tbody>
+                <tbody class="tbody">
                     
                 </tbody>
             </table>

+ 3 - 3
src/html/quexianDetailControl.html

@@ -13,10 +13,10 @@
     <div class="managerContainer quexianDetailControl">
         <div class="partTitle">
           <p class="titlePic"></p>
-          <div class="monthYear">
+          <!-- <div class="monthYear">
             <span class="mon">本月</span>
             <span class="year">本年</span>
-          </div> 
+          </div>  -->
           <div class="dateDetail fr">
             
           </div>
@@ -61,7 +61,7 @@
                     <th class="moduleItemName textCenter" code="num">数量</th>
                     <th class="moduleScore" style="width: 100px;" code="percent">缺陷占比</th>
                 </thead>
-                <tbody>
+                <tbody class="tbody">
     
                 </tbody>
             </table>

+ 2 - 2
src/html/quexianDetailControlHome.html

@@ -13,10 +13,10 @@
     <div class="managerContainer quexianDetailControlHome">
         <div class="partTitle">
           <p class="titlePic"></p>
-          <div class="monthYear">
+          <!-- <div class="monthYear">
             <span class="mon">本月</span>
             <span class="year">本年</span>
-          </div> 
+          </div>  -->
           <div class="dateDetail fr">
             
           </div>

+ 3 - 3
src/html/quexianDetailHome.html

@@ -13,10 +13,10 @@
     <div class="managerContainer quexianDetailHome">
         <div class="partTitle">
           <p class="titlePic"></p>
-          <div class="monthYear">
+          <!-- <div class="monthYear">
             <span class="mon">本月</span>
             <span class="year">本年</span>
-          </div> 
+          </div>  -->
           <div class="dateDetail fr">
             
           </div>
@@ -47,7 +47,7 @@
                     <th class="moduleItemName textCenter">数量</th>
                     <th class="moduleScore" style="width: 80px;">缺陷占比</th>
                 </thead>
-                <tbody>
+                <tbody class="tbody">
     
                 </tbody>
             </table>

+ 1 - 1
src/html/quexianXQ.html

@@ -55,7 +55,7 @@
                     <th class="beHospitalId textCenter">科室名称</th>
                     <th class="patientNo textCenter" >平均住院天数</th>
                     </thead>
-                    <tbody>
+                    <tbody class="tbody">
 
                     </tbody>
                 </table>

+ 4 - 3
src/html/singleVeto.html

@@ -10,9 +10,9 @@
 </head>
 
 <body>
-    <div class="managerContainer tiaomu singleVeto">
+    <div class="managerContainer singleVeto">
         <div class="partTitle">
-          <p class="pices"><a href="console.html">控制台 / </a><span>条目缺陷占比</span></p>
+          <p class="pices"><a > </a><span></span></p>
           <!-- <div class="monthYear">
             <span class="mon">本月</span>
             <span class="year">本年</span>
@@ -53,6 +53,7 @@
                 </span>
                 <span class="filter">查询</span>
                 <span class="filterclear abnormalClear">重置</span>
+                <span class="export">导出</span>
             </div>
             <table>
                 <thead>
@@ -64,7 +65,7 @@
                     <th class="moduleItemName">数量</th>
                     <th class="moduleScore" style="width: 80px;">缺陷占比</th>
                 </thead>
-                <tbody>
+                <tbody class="tbody">
 
                 </tbody>
             </table>

+ 1 - 1
src/html/tiaomu.html

@@ -48,7 +48,7 @@
                     <th class="moduleItemName">数量</th>
                     <th class="moduleScore" style="width: 80px;">缺陷占比</th>
                 </thead>
-                <tbody>
+                <tbody class="tbody">
     
                 </tbody>
             </table>

+ 1 - 1
src/html/tiaomuControl.html

@@ -47,7 +47,7 @@
                     <th class="moduleItemName">数量</th>
                     <th class="moduleScore" style="width: 80px;">缺陷占比</th>
                 </thead>
-                <tbody>
+                <tbody class="tbody">
     
                 </tbody>
             </table>

+ 1 - 4
src/html/userManager.html

@@ -41,15 +41,12 @@
                     <th class="moduleUsed">状态</th>
                     <th class="moduleOpera" style="width: 150px;">操作</th>
                 </thead>
-                <tbody>
+                <tbody class="tbody">
     
                 </tbody>
             </table>
             <div class="pagination"></div>
         </div>
-        
-        
-        
     </div>
 </body>
 

BIN
src/images/setting.png


+ 1 - 1
src/js/abnormal.js

@@ -143,7 +143,7 @@ function renderTab(data,hisId,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindScoreDetail(hisId)
 }
 function getQcAnnormalMode(item,type,mol,des){

+ 7 - 1
src/js/api.js

@@ -15,6 +15,7 @@ const api = {
     qcList:'/qc/behospitalInfo/page',
     qcListByDept:'/qc/behospitalInfo/page_dept',
     qcListByPerson:'/qc/behospitalInfo/page_person',
+    qcListByDoc:"/qc/behospitalInfo/page_group",   //质控评分(医疗组)
     saveQcCases:'/qc/cases/saveQcCases',
     recordScore:'/qc/behospitalInfo/analyze',
     getInfoModule:'/qc/module/getById',
@@ -80,10 +81,15 @@ const api = {
     saveAndupdataModel:'/qc/modelHospital/saveAndupdataModel',//异常保存
     exportQcList:'/qc/behospitalInfo/exportQcresult',//质控评分导出
     exportQcListDept:'/qc/behospitalInfo/exportQcresultByDept',//质控评分(科室)导出
+    exportQcDocteam:'/qc/behospitalInfo/exportQcresultByGroup', //质控评分(医疗组)导出
+    exportDeptFlaws:'/console/export/levelExport',       //各科室缺陷占比导出-长兴
+    exportDeptFlawsTz:'/console/export/levelExport_TZ', //各科室缺陷占比导出-台州
+    exportIndexQualified:'/console/export/homePageLevelExport',       //病案首页合格率占比导出
+    exportItemFlaw:'/console/export/entryGroupByEntryExport',       //条目缺陷占比导出
     entryRejectPercent:'/console/entryRejectPercent',//单项否决占比
     qcResultLevelPercent:'/console/qcResultLevelPercent',//各科室甲乙丙级占比
     qcResultDefectList:'/console/qcResultShortPage',//条目缺陷质控评分
-
+    qcResultDefectListDept:'/consoleByDept/qcResultShortByDeptPage',//条目缺陷质控评分(科室)
     getQcListPageSet:'/sys/user/pageset/getPageSet',
     saveQcListPageSet:'/sys/user/pageset/savePageSet',
 }

+ 1 - 1
src/js/assertType.js

@@ -201,7 +201,7 @@ function renderTab(data,hisId,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindScoreDetail(hisId)
     $(".goHomeDetail").click(function(){
         let docName = $(this).attr("data-doc")

+ 1 - 1
src/js/assertTypeDetail.js

@@ -18,7 +18,7 @@ $(function(){
 })
 function setInpWidth(){
     const winWidth = $(window).width()
-    $('.patientNumInp').css('width', winWidth-153-15 +'px')
+    $('.patientNumInp').css('width', winWidth-155-15 +'px')
 }
 setInpWidth()
 $(window).resize(function(){

+ 63 - 35
src/js/console.js

@@ -12,7 +12,8 @@ const echarts = require('echarts');
 require('./../resource/jquery-ui/jquery-ui.min.js');
 require('./../resource/jquery-ui/jquery-ui.min.css');
 const {post,setCookie,delCookie,getCookie,focusMenuItem,picEmptyData} = require('../js/utils.js');
-let payMoney = [],behosDateStart="",behosDateEnd="",dayLis = [],dateType = 2,slideType = 1,hospital=getCookie("hospital"),deptType="内科",deptId="",level="甲",lineType="合格率",lineType1=[],lineType2=[],lineType3=[],lineType4=[];
+const { get } = require('jquery');
+let payMoney = [],behosDateStart="",ownSelectDate='',behosDateEnd="",dayLis = [],dateType = 2,slideType = 1,hospital=getCookie("hospital"),deptType="内科",deptId="",level="甲",lineType="合格率",lineType1=[],lineType2=[],lineType3=[],lineType4=[];
 
 $(function(){
     if(!hasData('YH-KZT')){
@@ -26,9 +27,6 @@ $(function(){
     //     $(".innerOuter").css("display","none")
     // }
     $(".partTitle p span").html(hospital)
-    // setInterval(() => {
-    //     getTimeDetail()
-    // }, 1000);
     resizeBox()
     initConsole()//质控列表
     // getBarData(2)//图标数据获取
@@ -116,10 +114,9 @@ $(function(){
     $(".part02").on("mouseleave",".bingli li.sec",function(){
       $(this).find(".explainNum").css("color","#A5ADBF")
     })
-    getDetails()
     getEveryDeptLevel()
 })
-function getDetails(){
+function getDetails(dateType){
     $(".pubEchartB.paymoney .title").click(function(){
       focusMenuItem("YH-ZKK-GKSQXZB_XQ");
       $(parent.document).find("#contentIframe").attr("src","./deptScoreDetailControl.html?from=1&dateType="+dateType+"&deptType="+deptType+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
@@ -169,6 +166,17 @@ function getDetails(){
         focusMenuItem("YH-ZKK-TMQXZB_XQ");
         $(parent.document).find("#contentIframe").attr("src","./singleVeto.html?from=1&special=1&shijian="+dateType+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
     })
+    $("body").on("click",".homegodetail",function(){
+        let name = $(this).attr("data-name")
+        focusMenuItem("YH-ZKK-TMQXZB_XQ");
+        $(parent.document).find("#contentIframe").attr("src","./singleVeto.html?from=1&special=1&shijian="+dateType+"&model="+name+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
+    })
+    $("body").on("click",".explainPanT .explainLi",function(){
+        let deptName = $(this).attr("data-dept")
+        let deptId = $(this).attr("dept-id")
+        focusMenuItem("YH-ZKK-TMQXZB_XQ");
+        $(parent.document).find("#contentIframe").attr("src","singleVeto.html?from=1&shijian="+dateType+"&qxName="+deptName+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
+    })
 }
 
 //判断有无某一权限
@@ -198,7 +206,8 @@ function resizeBox(){
                 backgroundColor:'#203463'
             })
             dateType = 1
-            dateConsole(1)
+            ownSelectDate = ''
+            dateConsole(1,true)
         })
         $(".monthYear .year").click(function(){
             $(this).css({
@@ -211,7 +220,8 @@ function resizeBox(){
                 backgroundColor:'#203463'
             })
             dateType = 2
-            dateConsole(2)
+            ownSelectDate = ''
+            dateConsole(2,true)
         })
     }
 
@@ -402,6 +412,7 @@ function getBarData(type){
     //         }
     //     })
     // }
+    console.log(behosDateStart,45455555555555)
     if(hasData('FUNC000049')){
         post(api.leaveHosCount,{//出院人数统计
             "type": type||1,//1月2年
@@ -1641,11 +1652,6 @@ function queList(data){
         `
     }
     $(".qtable").html(tmp+strAll)
-    $(".homegodetail").click(function(){
-        let name = $(this).attr("data-name")
-        focusMenuItem("YH-ZKK-TMQXZB_XQ");
-        $(parent.document).find("#contentIframe").attr("src","./singleVeto.html?from=1&special=1&shijian="+dateType+"&model="+name+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
-    })
 }
 //饼图列表注释渲染
 function panDetail(data){
@@ -1663,12 +1669,6 @@ function panDetail(data){
         `
     }
     $(".explainPanT table").html(strAll);
-    $(".explainPanT .explainLi").click(function(){
-        let deptName = $(this).attr("data-dept")
-        let deptId = $(this).attr("dept-id")
-        focusMenuItem("YH-ZKK-TMQXZB_XQ");
-        $(parent.document).find("#contentIframe").attr("src","singleVeto.html?from=1&shijian="+dateType+"&qxName="+deptName+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
-    })
 }
 function panDetailB(data){
     let color = ['#F2637B','#975FE4', '#399FFF', '#37CBCB', '#4CCB73','#FAD336','#F2637B','#975FE4', '#399FFF', '#37CBCB', '#4CCB73','#FAD336'];
@@ -1703,10 +1703,9 @@ $(".sureDate").click(function(){
     if(!getStaticDate()){
         return
     }
-    getAverageScoreLis()
-    getBarData(dateType)
-    getEveryDeptLevel()
-    getHomeData('firstLevelPercent')
+    let dateStartI = behosDateStart.split(" ")[0]
+    let dateEndI = behosDateEnd.split(" ")[0]
+    setCookieAction(dateStartI,dateEndI)
     $(".monthYear .year").css({
         "border-color":'#A5ADBF',
         color:'#A5ADBF',
@@ -1717,20 +1716,41 @@ $(".sureDate").click(function(){
         color:'#A5ADBF',
         backgroundColor:'#203463'
     })
-    dateType = 3
+    ownSelectDate = 3
+    getBarData(dateType)
+    getAverageScoreLis()
+    getEveryDeptLevel()
+    getHomeData('firstLevelPercent')
+    getDetails(ownSelectDate||dateType)
 })
 //日期联动
-function dateConsole(dateType){
+function dateConsole(dateType,flg){
     let startDate = "", endDate=new Date()
     let year = new Date().getFullYear()
     let month = new Date().getMonth() + 1
     if(dateType == '1'){
-        startDate = new Date(`${year}-${month}-01`)
+        startDate = new Date(`${year}/${month}/01`)
     }else if(dateType == '2'){
-        startDate = new Date(`${year}-01-01`)
+        startDate = new Date(`${year}/01/01`)
     } else {
         startDate = "-6d"
     }
+    if(getCookie("behosDateStart")&&!flg){
+        startDate = new Date(getCookie("behosDateStart"))
+        endDate = new Date(getCookie("behosDateEnd"))
+        ownSelectDate = 3
+        $(".monthYear .year").css({
+            "border-color":'#A5ADBF',
+            color:'#A5ADBF',
+            backgroundColor:'#203463'
+        })
+        $(".monthYear .mon").css({
+            "border-color":'#A5ADBF',
+            color:'#A5ADBF',
+            backgroundColor:'#203463'
+        })
+    }
+    getDetails(ownSelectDate||dateType)
     $( "#datepicker" ).datepicker({
         yearRange: "2015:"+year,
         changeMonth: true,
@@ -1743,27 +1763,35 @@ function dateConsole(dateType){
         changeYear: true,
         dateFormat:"yy/mm/dd"
     }).datepicker( "setDate",endDate);
-    getStaticDate()
-    getAverageScoreLis()
-    getBarData(dateType)
-    getHomeData('firstLevelPercent')
-    getEveryDeptLevel()
+    getStaticDate(flg)
 }
-function getStaticDate(){
-    behosDateStart = $("#datepicker").val().trim()
-    behosDateEnd = $("#datepicker2").val().trim()
+function setCookieAction(startDate,endDate){
+    setCookie('behosDateStart',startDate)
+    setCookie('behosDateEnd',endDate)
+}
+function getStaticDate(flg){
+    behosDateStart = $("#datepicker").val()
+    behosDateEnd = $("#datepicker2").val()
     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 false
     }
+    if(flg){
+        setCookieAction(behosDateStart,behosDateEnd)
+    }
     if(behosDateStart){
         behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
     }
     if(behosDateEnd){
         behosDateEnd = behosDateEnd.replace(/\//g,'-') + ' 23:59:59'
     }
+    getBarData(dateType)
+    getHomeData('firstLevelPercent')
+    getAverageScoreLis()
+    getEveryDeptLevel()
+    console.log(behosDateStart,behosDateEnd,898989898)
     return true
 }
 $(function() {

+ 47 - 16
src/js/deptConsole.js

@@ -11,7 +11,7 @@ const echarts = require('echarts');
 require('./../resource/jquery-ui/jquery-ui.min.js');
 require('./../resource/jquery-ui/jquery-ui.min.css');
 const {post,setCookie,delCookie,getCookie,focusMenuItem,picEmptyData } = require('../js/utils.js');
-let payMoney = [],behosDateStart="",behosDateEnd="",dayLis = [],dateType = 2,curDept = '',curDeptId='',datafst=[],datasec=[],datatrd=[],datafour=[],hospital=getCookie("hospital");
+let payMoney = [],behosDateStart="",behosDateEnd="",ownSelectDate='',dayLis = [],dateType = 2,curDept = '',curDeptId='',datafst=[],datasec=[],datatrd=[],datafour=[],hospital=getCookie("hospital");
 $(function(){
     if(!hasData('YH-KZT')&&!hasData('YH-KZTKS')){
         $("body").html('')
@@ -47,9 +47,8 @@ $(function(){
       $(".part02").on("mouseleave",".bingli li.sec",function(){
         $(this).find(".explainNum").css("color","#A5ADBF")
       })
-    tiaomu()
 })
-function tiaomu(){
+function tiaomu(dateType){
     $(".defect .partTitlePub").click(function(){
         focusMenuItem("YH-KSZR-GMKQXZB_XQ");
         $(parent.document).find("#contentIframe").attr("src","mukuai.html?from=2&deptName="+curDept+"&dateType="+dateType+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
@@ -72,6 +71,11 @@ function tiaomu(){
         let chengdu = dataC == 1?'甲':dataC==2?'乙':'丙'
         $(parent.document).find("#contentIframe").attr("src","./qcListDept.html?from=1&dateType="+dateType+"&chengdu="+chengdu+"&deptName="+curDept+"&deptId="+curDeptId+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
     });
+    $("body").on("click",".homegodetail",function(){
+        let name = $(this).attr("data-name")
+        focusMenuItem("YH-KSZR-TMQXZB_XQ");
+        $(parent.document).find("#contentIframe").attr("src","./singleVeto.html?from=2&special=1&shijian="+dateType+"&model="+name+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
+    })
 }
 //判断有无某一权限
 function hasData(data){
@@ -100,7 +104,8 @@ function dateChange(){
             backgroundColor:'#203463'
         })
         dateType = 1
-        dateConsole(1)
+        ownSelectDate = ''
+        dateConsole(1,1)
     })
     $(".monthYear .year").click(function(){
         $(this).css({
@@ -113,7 +118,8 @@ function dateChange(){
             backgroundColor:'#203463'
         })
         dateType = 2
-        dateConsole(2)
+        ownSelectDate = ''
+        dateConsole(2,1)
     })
 }
 //控制台数
@@ -757,11 +763,6 @@ function queList(data){
         `
     }
     $(".qtable").html(tmp+strAll)
-    $(".homegodetail").click(function(){
-        let name = $(this).attr("data-name")
-        focusMenuItem("YH-KSZR-TMQXZB_XQ");
-        $(parent.document).find("#contentIframe").attr("src","./singleVeto.html?from=2&special=1&shijian="+dateType+"&model="+name+"&startDateParam="+behosDateStart+"&endDateParam="+behosDateEnd)
-    })
 }
 //饼图列表注释渲染
 function panDetailB(data){
@@ -823,8 +824,6 @@ $(".sureDate").click(function(){
     if(!getStaticDate()){
         return
     }
-    getBarData(dateType)
-    dateType = 3
     $(".monthYear .year").css({
         "border-color":'#A5ADBF',
         color:'#A5ADBF',
@@ -835,9 +834,13 @@ $(".sureDate").click(function(){
         color:'#A5ADBF',
         backgroundColor:'#203463'
     })
+    setCookieAction(behosDateStart.split(" ")[0],behosDateEnd.split(" ")[0])
+    ownSelectDate = 3
+    getBarData(dateType)
+    tiaomu(ownSelectDate||dateType)
 })
 //日期联动
-function dateConsole(dateType){
+function dateConsole(dateType,flg){
     let startDate = "", endDate=new Date()
     let year = new Date().getFullYear()
     let month = new Date().getMonth() + 1
@@ -848,6 +851,21 @@ function dateConsole(dateType){
     } else {
         startDate = "-1m"
     }
+    if(getCookie("behosDateStart")&&!flg){
+        ownSelectDate = 3
+        startDate = new Date(getCookie("behosDateStart"))
+        endDate = new Date(getCookie("behosDateEnd"))
+        $(".monthYear .year").css({
+            "border-color":'#A5ADBF',
+            color:'#A5ADBF',
+            backgroundColor:'#203463'
+        })
+        $(".monthYear .mon").css({
+            "border-color":'#A5ADBF',
+            color:'#A5ADBF',
+            backgroundColor:'#203463'
+        })
+    }
     $( "#datepicker" ).datepicker({
         yearRange: "2015:"+year,
         changeMonth: true,
@@ -860,24 +878,37 @@ function dateConsole(dateType){
         changeYear: true,
         dateFormat:"yy/mm/dd"
     }).datepicker( "setDate",endDate);
-    getStaticDate()
-    getBarData(dateType)
+    getStaticDate(flg)
+    tiaomu(ownSelectDate||dateType)
+}
+function setCookieAction(startDate,endDate){
+    setCookie('behosDateStart',startDate)
+    setCookie('behosDateEnd',endDate)
 }
-function getStaticDate(){
+function getStaticDate(flg){
     behosDateStart = $("#datepicker").val().trim()
     behosDateEnd = $("#datepicker2").val().trim()
     const start = new Date(behosDateStart).getTime()
     const end = new Date(behosDateEnd).getTime()
+    if(!getCookie("behosDateEnd")){
+        setCookie('behosDateStart',behosDateStart)
+        setCookie('behosDateEnd',behosDateEnd)
+    }
     if(start > end){
         $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
         return false
     }
+    if(flg){
+        setCookieAction(behosDateStart,behosDateEnd)
+    }
     if(behosDateStart){
         behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
     }
     if(behosDateEnd){
         behosDateEnd = behosDateEnd.replace(/\//g,'-') + ' 23:59:59'
     }
+    
+    getBarData(dateType)
     return true
 }
 $(function() {

+ 1 - 1
src/js/deptScoreDetail.js

@@ -222,7 +222,7 @@ function renderTab(data,hisId,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindScoreDetail(hisId)
     $(".goHomeDetail").click(function(){
         let docName = $(this).attr("data-doc")

+ 25 - 1
src/js/deptScoreDetailControl.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("../css/deptScoreDetailControl.less");
 require('./modal.js');
 const {api} = require('./api.js')
-const {post,getCookie,getUrlArgObjectNew,focusMenuItem,emptyBox,setDatePicker,getPickerDate} = require('./utils.js')
+const {post,getCookie,getUrlArgObjectNew,focusMenuItem,emptyBox,setDatePicker,getPickerDate,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")
@@ -583,5 +583,29 @@ $(function() {
     })
     $('.iconCalen').on("click", function(e){
         $(this).parent().find("input").focus()
+    });
+  $('.export').click(function(){
+    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 = {
+      "asc": "",
+      "desc": "",
+      "name": behospitalCode||"",
+      "deptClass": deptId||'',
+      "type": statisticsType||2, //1-本月,2-本年
+      "startDate":dateStatrt,
+      "endDate":dateEnd
+    };
+    const url = hospital == '台州市立'?api.exportDeptFlawsTz:api.exportDeptFlaws;
+    expJson(url,param).then(res =>{
+      downloadExportedData(res.data, dateStatrt.slice(0,10).replace(/-/g,"")+"-"+dateEnd.slice(0,10).replace(/-/g,"")+"各科室缺陷占比.xls")
     })
+
+  })
 });

+ 4 - 0
src/js/index.js

@@ -209,6 +209,8 @@ function changeWord(oldword,newword){
   }).then(function(res){
     const data = res.data;
     if(data.code==='0'){
+      setCookie('behosDateStart','')
+      setCookie('behosDateEnd','')
       window.location.href = './login.html'
     }else{
       $(".oldWaring").html(data.msg)
@@ -247,6 +249,8 @@ $("#changeWord").click(function(e){
 //推出登录
 $(".login-out").click(function(){
   delCookie('accessToken')
+  setCookie('behosDateStart','')
+  setCookie('behosDateEnd','')
 })
 
 //时间获取

+ 62 - 33
src/js/itemDefectDetail.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("../css/itemDefectDetail.less");
 require('./modal.js');
 const {api} = require('./api.js')
-const {post,getCookie,getUrlArgObjectNew,emptyBox,downloadExportedData,expJson} = require('./utils.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,downloadExportedData,expJson,setDatePicker} = 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")
@@ -17,7 +17,6 @@ const arrowRight = require("./../images/arrow_right.png")
 
 let srcUrl = $("#contentIframe",parent.document).attr("src")
 let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || "";
-let fromPage = getUrlArgObjectNew("from",srcUrl)||"";
 let chengdu = getUrlArgObjectNew("chengdu",srcUrl)||""
 let deptIdPram = getUrlArgObjectNew("deptId",srcUrl)||""
 let deptNamePram = getUrlArgObjectNew("deptName",srcUrl)||"";
@@ -26,12 +25,15 @@ 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"))||[]
 
 $(".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="",casesEntryId='',
-  data_desc=["leaveHospitalDate"],data_asc=[];
+  data_desc=["leaveHospitalDate"],data_asc=[],pageSize = 15,currentPage = 1;
 if(chengdu){
     levelTemp = chengdu
     level = chengdu
@@ -51,17 +53,20 @@ if(defectName){
 if(casesEntryId){
   casesEntryId=casesId;
 }
-if(deptIdPram&&deptNamePram){
+if(deptIdPram&&deptNamePram || from == 2 &&deptList.length > 0  ){
     deptIdTemp = deptIdPram
     deptId = deptIdPram
-    deptName = deptNamePram
-    deptNameTemp = deptNamePram
-    if(deptNamePram.length > 10){
-        $('.selectDept').html(deptNamePram.substring(0,8)+'...')
+    deptName = deptNameTemp = deptNamePram
+    if(from == 2&&!deptNamePram){
+        deptId =  deptIdTemp = deptList[0].deptId
+        deptName = deptNameTemp = deptList[0].deptName
+    }
+    if(deptName.length > 10){
+        $('.selectDept').html(deptName.substring(0,8)+'...')
     }else{
-        $('.selectDept').html(deptNamePram)
+        $('.selectDept').html(deptName)
     }
-    $('.selectDept ').attr('title',deptNamePram)
+    $('.selectDept ').attr('title',deptName)
     $(".deptList").css("display", "none")
     $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 }
@@ -94,23 +99,26 @@ $("#filterToggler").click(function(){
     }
     return false;
 }
-function getTabData(activePage){
+function getTabData(activePage,nameDe){
+    // console.log(activePage,nameDe,787878)
     const param = {
         current:activePage,
         behospitalCode: behospitalCode,
         patName: name, //病人姓名
         level:level,//病历等级
-        behDeptName: deptName,
+        behDeptName: nameDe||deptName,
         ascs:data_asc,     //升序
         descs:data_desc,       //降序
         startDate: behosDateStart, //出院日期--开始时间
         endDate: behosDateEnd, //出院日期--结束时间
         casesEntryName: casesEntryName,
-        size: 15,
+        size: pageSize,
+        isReject: isSingleReject
     }
-    post(api.qcResultDefectList,param).then(res =>{
+    post(from==2?api.qcResultDefectListDept:api.qcResultDefectList,param).then(res =>{
         if(res.data.code == '0'){
             const data = res.data.data;
+            currentPage = data.current;
             tabList = data.records;
             const totalPage = data.pages;
             const totalNum = data.total;
@@ -146,7 +154,7 @@ $(".filter").on("click", function(e){
     if(behosDateEnd){
         behosDateEnd = behosDateEnd.replace(/\//g,'-') + ' 23:59:59'
     }
-    console.log('deptNameTemp',deptNameTemp)
+    // console.log('deptNameTemp',deptNameTemp,deptName)
     name = nameTemp
     behospitalCode = behospitalCodeTemp
     level = levelTemp==="全部"?"":levelTemp
@@ -154,7 +162,7 @@ $(".filter").on("click", function(e){
     deptName = deptNameTemp==="全部"?"":deptNameTemp 
     doctorName = doctorNameTemp
     doctorNum = doctorNumTemp
-    getTabData(1)
+    getTabData(1,deptName)
 })
 $(".abnormalClear").on("click", function(e){
     tabList = []; 
@@ -173,8 +181,12 @@ $(".abnormalClear").on("click", function(e){
     doctorNum=""; 
     doctorNameTemp=""; 
     doctorNumTemp=""; 
-    data_desc=[]; 
+    data_desc=["leaveHospitalDate"];
     data_asc=[];
+    if(from == 2){
+        deptId =  deptIdTemp = deptList[0].deptId
+        deptName = deptNameTmp = deptList[0].deptName
+    }
     $('.patientNumInp').val('')
     $('.patientNameInp').val('')
     $('.doctorInp').val('')
@@ -183,17 +195,12 @@ $(".abnormalClear").on("click", function(e){
     // $('#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('全部')
+    setDatePicker($("#datepicker"),$("#datepicker2"),"default")
+    if(from == 2){
+        $('.selectDept ').html(deptName)
+    }else{
+        $('.selectDept ').html('全部')
+    }
     $(".deptList").css("display", "none")
     $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     // $('.selectDept ').addClass('unSelect')
@@ -217,7 +224,7 @@ function renderTab(data,hisId){
     let str = ``
     let hasSelectAll = true;
     if(data.length===0){
-      $('tbody').html(emptyBox())
+      $('.tbody').html(emptyBox())
       return;
     }
     for(let i = 0; i < data.length; i++){
@@ -227,6 +234,7 @@ function renderTab(data,hisId){
         }
         str += `
             <tr  data-index=${i}>
+                <td class="textCenter">${pageSize * (currentPage-1) + i + 1}</td>
                 <td >${item.behospitalCode || "-"}</td>
                 <td  class="textCenter">${item.level || "-"}</td>
                 <td  class="textCenter">${item.scoreRes || "-"}</td>
@@ -248,7 +256,7 @@ function renderTab(data,hisId){
         $('.scoreOpera img').attr("src" ,iconUnCheck)
         $('.scoreOpera').attr("data-selectall",false)
     }
-    $('tbody').html(str)
+    $('.tbody').html(str)
     bindScoreOperaItem()
     bindRecordScoreOper()
     bindScoreDetail(hisId)
@@ -356,6 +364,10 @@ $('.selectDept').on("click", function(e){
 //获取科室列表
 getDeptList()
 function getDeptList(){
+    if(from == 2){
+        rendeDeptList(deptList)
+        return
+    }
     post(api.getDeptList,{inputStr:""}).then(res =>{
         if(res.data.code == '0'){
            const  deptList = res.data.data
@@ -368,7 +380,13 @@ function getDeptList(){
 
 
 function rendeDeptList(deptList){
-    let str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`;
+    let str
+    if(from == 2){
+        str = ``;
+    } 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>`
     }
@@ -543,8 +561,19 @@ $(function() {
         dateFormat:"yy/mm/dd"
     }).datepicker( "setDate",endDate);
     $(".filter").click();   //初始查询
-    const title = fromPage==1?`<a class="consoleD" href="keyItemFlawControl.html">关键条目缺陷占比 / </a>缺陷详情`:`<a class="consoleD" href="console.html">控制台 / </a><a class="consoleP" href="singleVeto.html">条目缺陷占比 / </a>缺陷详情`;
-    $(".partTitle .titlePic ").html(title);
+    if(from==2){
+        $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
+    }else{
+        $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台 / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
+    }
+    $(".partTitle .consoleD").click(function(){
+        $(".menu .page",parent.document).removeClass("active").eq(0).addClass("active");
+        $(".container",parent.document).addClass("console-cont");
+    })
+    $(".partTitle .consoleP").click(function(){
+        $(parent.document).find("#contentIframe").attr("src",`./singleVeto.html?from=${from}&fromThree=3`)
+
+    })
 });
 
 //分页渲染

+ 1 - 1
src/js/itemManager.js

@@ -131,7 +131,7 @@ function renderTab(data,activePage){
             </tr>
         `
     }
-    $('tbody').html(str)
+    $('.tbody').html(str)
     bindEdit(data,activePage)
 }
 

+ 1 - 1
src/js/jiaji.js

@@ -170,7 +170,7 @@ function renderTab(data,hisId,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindScoreDetail(hisId)
 }
 

+ 2 - 1
src/js/login.js

@@ -33,6 +33,7 @@ $(function(){
 });
 function sureLogin(){
   $(".login .waring").html('')
+  localStorage.removeItem('accessToken')
   let username = $("#username").val().trim();
   let password = $("#password").val().trim();
   if(!username){
@@ -50,7 +51,7 @@ function sureLogin(){
     const data = res.data;
     if(data.code == 0){
       setCookie('accessToken',data.data.accessToken)
-      localStorage.removeItem('accessToken')
+     
       localStorage.setItem('accessToken',data.data.accessToken)
       $(".divModal").remove()
       $.alerModal({"message":"登录成功",type:"tip",time:'1000'});

+ 1 - 1
src/js/moduleManager.js

@@ -61,7 +61,7 @@ function renderTab(){
     const tableInfoBox =  $(".tableInfo").height()
     const tableInfoHei =  $(".tableInfo table").height()
     const mac = isMac()
-    if(mac&&tableInfoHei > tableInfoBox){
+    if(!mac&&tableInfoHei > tableInfoBox){
         $(".tableTitle").css("paddingRight", 15+'px')
     }
     // bindInput()

+ 3 - 2
src/js/mukuai.js

@@ -285,12 +285,13 @@ function renderTab(data,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindEdit(data,activePage)
     $(".goHomeDetail").click(function(){
         let model = $(this).attr("data-model")
         focusMenuItem("YH-KSZR-TMQXZB_XQ");
-        $(parent.document).find("#contentIframe").attr("src","./singleVeto.html?from=2&special=1&model="+model+"&shijian=3"+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
+        let deptName = deptId||(deptList.length>0?deptList[0].deptName:'')
+        $(parent.document).find("#contentIframe").attr("src","./singleVeto.html?from=2&deptName="+deptName+"&special=1&model="+model+"&shijian=3"+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
     })
 }
 

+ 1 - 1
src/js/mukuaiControl.js

@@ -297,7 +297,7 @@ function renderTab(data,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindEdit(data,activePage)
     $(".goHomeDetail").click(function(){
         let model = $(this).attr("data-model")

+ 1 - 1
src/js/partDetail.js

@@ -232,7 +232,7 @@ function renderTab(data,hisId,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindScoreDetail(hisId)
     $(".goHomeDetail").click(function(){
         let docName = $(this).attr("data-doc")

+ 25 - 2
src/js/partDetailControl.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("../css/partDetailControl.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,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")
@@ -179,7 +179,7 @@ function renderTab(data,hisId,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindScoreDetail(hisId)
     $(".goHomeDetail").click(function(){
         let deptName = $(this).attr("data-dept")
@@ -547,4 +547,27 @@ $(function() {
     $('.iconCalen').on("click", function(e){
         $(this).parent().find("input").focus()
     })
+  $('.export').click(function(){
+    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 = {
+      "level": deptId||"",
+      "name": behospitalCode||"",
+      "asc":data_asc,     //升序
+      "desc":data_desc,       //降序
+      "type": statisticsType||2, //1-本月,2-本年
+      "startDate":dateStatrt,
+      "endDate":dateEnd
+    }
+    expJson(api.exportIndexQualified,param).then(res =>{
+      downloadExportedData(res.data, dateStatrt.slice(0,10).replace(/-/g,"")+"-"+dateEnd.slice(0,10).replace(/-/g,"")+"病案首页.xls")
+    })
+
+  })
 });

+ 11 - 6
src/js/qcList.js

@@ -209,7 +209,7 @@ function renderTab(data,hisId){
     let str = ``
     let hasSelectAll = true;
     if(data.length===0){
-      $('tbody').html(emptyBox(null,showNum+2))
+      $('.tbody').html(emptyBox(null,showNum+2))
       return;
     }
     for(let i = 0; i < data.length; i++){
@@ -255,7 +255,7 @@ function renderTab(data,hisId){
         $('.scoreOpera img').attr("src" ,iconUnCheck)
         $('.scoreOpera').attr("data-selectall",false)
     }
-    $('tbody').html(str)
+    $('.tbody').html(str)
     bindScoreOperaItem()
     bindRecordScoreOper()
     bindScoreDetail(hisId)
@@ -628,7 +628,7 @@ function bindSelectCol(){
 }
 
 function closeColSet(){
-    pageSetCopy = pageSet
+    pageSetCopy = JSON.parse(JSON.stringify(pageSet))
     $("#mainBox .colSetBox", parent.document).remove()
 }
 function bindCloseColSet(){
@@ -708,9 +708,14 @@ function bindColOrder(){
 }
 
 $(".patientNumInp").on("input", function(e){
-    const val = $(this).val().trim()
-    behospitalCodeTemp = val
-})
+    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

+ 9 - 4
src/js/qcListDept.js

@@ -228,7 +228,7 @@ function renderTab(data){
     let str = ``
     let hasSelectAll = true;
     if(data.length===0){
-        $('tbody').html(emptyBox(null,showNum+2))
+        $('.tbody').html(emptyBox(null,showNum+2))
       return;
     }
     for(let i = 0; i < data.length; i++){
@@ -274,7 +274,7 @@ function renderTab(data){
         $('.scoreOpera img').attr("src" ,iconUnCheck)
         $('.scoreOpera').attr("data-selectall",false)
     }
-    $('tbody').html(str)
+    $('.tbody').html(str)
     bindScoreOperaItem()
     bindRecordScoreOper()
     bindScoreDetail()
@@ -624,7 +624,7 @@ function bindSelectCol(){
 }
 
 function closeColSet(){
-    pageSetCopy = pageSet
+    pageSetCopy = JSON.parse(JSON.stringify(pageSet))
     $("#mainBox .colSetBox", parent.document).remove()
 }
 function bindCloseColSet(){
@@ -704,7 +704,12 @@ function bindColOrder(){
 }
 $(".patientNumInp").on("input", function(e){
     const val = $(this).val().trim()
-    behospitalCodeTemp = val
+    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()

+ 797 - 0
src/js/qcListDocteam.js

@@ -0,0 +1,797 @@
+const $ = require('jquery');
+require("../css/qcListDocteam.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;
+$(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+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 tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,nameTemp = "",
+  behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNameTemp="", doctorNum="", doctorNumTemp="",data_desc=["leave_hospital_date"],data_asc=[];
+
+$("#filterToggler").click(function(){
+  const text = $(this).text();
+  $(".toggle-item").slideToggle();
+  $(this).text(text==="收起筛选"?"展开筛选":"收起筛选").toggleClass("up");
+});
+
+console.log('docName',docName)
+if(chengdu){
+    levelTemp = chengdu
+    level = chengdu
+    $('.selectLevel').html(chengdu)
+    $(".levelList").css("display", "none")
+    $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+}
+if(docName){
+    doctorNameTemp = docName
+    doctorName = docName
+    $('.doctorInp').val(docName)
+}
+$('.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')
+
+  //判断有无某一权限
+function hasData(data){
+    let trdObj = JSON.parse(getCookie("trdObj"))
+    let lis = trdObj['YH-BLZK-ZKPFYLZ']
+    if(!lis){
+      return false
+    }
+    if(lis.indexOf(data)>-1){//有权限
+        return true
+    }
+    return false;
+}
+function getTabData(activePage){
+    const param = {
+        current:activePage,
+        behospitalCode: behospitalCode,
+        name: name, //条目名
+        level:level,//病历等级
+        asc:data_asc,     //升序
+        desc:data_desc,       //降序
+        doctorName: doctorName,
+        doctorCode: doctorNum,
+        leaveHosDateStart: behosDateStart, //1-单项否决 0-非
+        leaveHosDateEnd: behosDateEnd, //0-未启用 1-启用
+        size: 15,
+        statisticsType:statisticsType
+    }
+    return post(api.qcListByDoc,param).then(res =>{
+        if(res.data.code == '0'){
+            tabList = res.data.data.records
+            const totalPage = res.data.data.pages
+            const totalNum = res.data.data.total
+            renderTab(tabList)
+            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());
+    $('.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 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 renderTab(data){
+    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()
+}
+
+function isTextCenter(name){
+    const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime']
+    return textCenterList.findIndex(item=> item==name) > -1
+}
+
+function scoreDetail(id,age,code,name){
+    window.open(`./qcScore.html?id=${id}&age=${age}&code=${code}&hid=${getCookie('hospitalid')}&name=${name}`)
+}
+function bindScoreDetail(){
+    $('.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,'YH-BLZK-ZKPFKS',tabList[index].name)
+        }
+
+    })
+}
+
+//选择病历等级
+$('.selectLevel').on("click", function(e){
+    e.stopPropagation()
+    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')
+    })
+}
+
+//全选绑定
+bindOperaAll()
+function bindScoreOperaItem(){
+    $(".scoreOperaItem").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)
+    })
+}
+
+//获取页面配置
+
+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 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 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 {
+        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")
+    $(".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.exportQcDocteam,param).then(res =>{
+      downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")
+    })
+
+  })
+})($));

+ 9 - 4
src/js/qcListPerson.js

@@ -229,7 +229,7 @@ function renderTab(data){
     let str = ``
     let hasSelectAll = true;
     if(data.length===0){
-        $('tbody').html(emptyBox(null,showNum+2))
+        $('.tbody').html(emptyBox(null,showNum+2))
         return;
     }
     for(let i = 0; i < data.length; i++){
@@ -275,7 +275,7 @@ function renderTab(data){
         $('.scoreOpera img').attr("src" ,iconUnCheck)
         $('.scoreOpera').attr("data-selectall",false)
     }
-    $('tbody').html(str)
+    $('.tbody').html(str)
     bindScoreOperaItem()
     bindRecordScoreOper()
     bindScoreDetail()
@@ -621,7 +621,7 @@ function bindSelectCol(){
 }
 
 function closeColSet(){
-    pageSetCopy = pageSet
+    pageSetCopy = JSON.parse(JSON.stringify(pageSet))
     $("#mainBox .colSetBox", parent.document).remove()
 }
 function bindCloseColSet(){
@@ -701,7 +701,12 @@ function bindColOrder(){
 }
 $(".patientNumInp").on("input", function(e){
     const val = $(this).val().trim()
-    behospitalCodeTemp = val
+    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()

+ 17 - 9
src/js/qcScore.js

@@ -17,9 +17,13 @@ $(function(){
   let global_flaws=[];  //缺陷条目列表缓存
   let global_selectedFlaw = {};    //新增时选中的条目信息
   getAllModules();
-  $(".add-flaw").click(function(){
-    getQcCasesEntry();
-  });
+  let hasAu3 = hasData('FUNC000011');   //新增缺陷权限
+  if(hasAu3){
+    $(".add-flaw").click(function(){
+      getQcCasesEntry();
+    });
+  }
+
 function initMenu(data){
   const menu=[{id:0,name:"缺陷总览",parentId: -1,sonMode: []},...(data||[])];
   //菜单数据填充
@@ -180,7 +184,9 @@ function formatInfoData(k,data){
       }
       $(".flaw-item .title a[code="+code+"]").click();
       const anch=$(".flaw-item .title a[code="+code+"]").attr("href");
-      $('#contentInfo').scrollTop($(anch).offset().top-60);
+      if($(anch)[0]){
+        $('#contentInfo').scrollTop($(anch).offset().top-60);
+      }
     });
   }
 
@@ -199,8 +205,8 @@ function initList(data){
 //评分项数据填充
 function initScoreItem(data){
   $("#flaws .flaw-box").html("");
-  let hasAu = hasData('FUNC000013')
-  let hasAu2 = hasData('FUNC000012')
+  let hasAu = hasData('FUNC000013');    //修改缺陷权限
+  let hasAu2 = hasData('FUNC000012');   //删除缺陷权限
   for(let k in data){
     $("#flawTmpl").tmpl(data[k]).appendTo("#flaws .flaw-box");
   }
@@ -209,7 +215,7 @@ function initScoreItem(data){
     const i = $(".flaw-item[code="+global_activeTab+"]").index($(this).parents(".flaw-item"));
     const code=$(this).attr("code");
     const isEdit = $(this).is(".edit-flaw");
-    if(!hasAu)return
+    //if(!hasAu)return
     if(isEdit&&hasAu){
       showModal('0',code,i);
     }else if(!isEdit&&hasAu2){
@@ -218,6 +224,7 @@ function initScoreItem(data){
   })
   $(".edit-flaw").css({"opacity":hasAu?"1":"0.5",cursor:hasAu?"pointer":"unset"});
   $(".del-flaw").css({"opacity":hasAu2?"1":"0.5",cursor:hasAu2?"pointer":"unset"});
+  $(".add-flaw").css({"opacity":hasAu3?"1":"0.5",cursor:hasAu3?"pointer":"unset"});
   $(".flaw-item .title a[href]").click(function(){
     const id = $(this).attr("href");
     const anchors=$(this).attr("anchors").split(",");
@@ -303,6 +310,7 @@ function addScore(info){
 function showModal(flag,code,i){
   $("#delModal .modal-body").html("");
   $("#delModal").show();
+  $("#delModal .cancel").hide();
   $(".info-item .cont,.flaw-item .title,td").removeClass("active");
   //事件解绑
   $("#delModal .confirm").off("click");
@@ -384,9 +392,9 @@ function showModal(flag,code,i){
     });
   }else{
     $("#delModal .title").text("删除评分");
-    $("#delModal .confirm").text("确定");
+    $("#delModal .cancel").show();
     $("#delModal .modal-body").html('<p>确定要删除该评分记录吗?</p>');
-    $("#delModal .confirm").click(function(){
+    $("#delModal .confirm").text("确定").click(function(){
       delScore(code,info);
     });
   }

+ 1 - 1
src/js/quexianDetail.js

@@ -325,7 +325,7 @@ function renderTab(data,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindEdit(data,activePage)
 }
 

+ 1 - 1
src/js/quexianDetailControl.js

@@ -304,7 +304,7 @@ function renderTab(data,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindEdit(data,activePage)
 }
 

+ 1 - 1
src/js/quexianDetailHome.js

@@ -321,7 +321,7 @@ function renderTab(data,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindEdit(data,activePage)
 }
 

+ 1 - 1
src/js/quexianXQ.js

@@ -126,7 +126,7 @@ function renderTab(data,hisId,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindScoreDetail(hisId)
 }
 

+ 47 - 9
src/js/singleVeto.js

@@ -1,9 +1,9 @@
 const $ = require('jquery');
-require("../css/tiaomu.less");
+require("../css/single.less");
 require('./../resource/jquery-ui/jquery-ui.min.js');
 require('./modal.js');
 const {api} = require('./api.js')
-const {post,getCookie,getUrlArgObjectNew,emptyBox,focusMenuItem,setDatePicker,getPickerDate} = require('./utils.js')
+const {post,getCookie,getUrlArgObjectNew,emptyBox,focusMenuItem,setDatePicker,getPickerDate,downloadExportedData,expJson} = require('./utils.js')
 const switchIconOpen = require("./../images/btn_open.png")
 const switchIconClose = require("./../images/btn_close.png")
 const iconDown= require("./../images/arrow_down.png")
@@ -11,6 +11,10 @@ const iconUp = require("./../images/arrow_up.png")
 const arrowLeft= require("./../images/arrow_left.png")
 const arrowRight = require("./../images/arrow_right.png")
 
+const currentPage=$(window.parent.document).find(".menu .page.active").attr("code");
+if(currentPage==="YH-ZKK-TMQXZB_XQ"){
+  $(".export").css("display","inline-block");
+}
 
 let casesId="", name="", isReject ="",deptName="", isUsed ="",casesIdTemp="", nameTemp="", isRejectTemp ="",model='', isUsedTemp ="",from="",deptIdTemp="",deptItemId="",deptId="",isSingleReject="", isSingleRejectTemp="",casesName="",casesNameTemp="",paramObj={}
 $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
@@ -30,6 +34,7 @@ $(function(){
     casesName =casesNameTemp = getUrlArgObjectNew("model",srcUrl)||""
     let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
     let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
+    let fromThree = getUrlArgObjectNew("fromThree",srcUrl)||""
     if(name){
         $(".moduleItemInp").attr("title",name).val(name)
         selectReject=1
@@ -46,6 +51,13 @@ $(function(){
     }
     if(from == 2){
         $(".partTitle a").attr("href","deptConsole.html").html("控制台(科室) / ")
+        $(".partTitle .pices span").html("条目缺陷占比")
+    }else{
+        $(".partTitle a").attr("href","console.html").html("控制台 / ")
+        $(".partTitle .pices span").html("条目缺陷占比")
+    }
+    if(fromThree == 3){
+        deptName = deptList[0].deptName||'';
     }
     $(".partTitle a").click(function(){
         //初始菜单选中
@@ -144,7 +156,7 @@ function getDeptList(){
         let tmp = deptList[i]
         str += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptName}" data-name="${tmp.deptName}">${tmp.deptName}</li>`
     }
-    $(".tiaomu .filterDropList").html(str)
+    $(".singleVeto .filterDropList").html(str)
 }
 function getTabData(activePage){
     const dateStatrt = getPickerDate($("#datepicker"),1)
@@ -156,7 +168,7 @@ function getTabData(activePage){
         return
     }
     startDateParam=dateStatrt
-    endDateParam=dateEnd
+    endDateParam=dateEnd                                                                                                                                                                                                                                                                                                                                  
     const param = {
         current:activePage,
         type: 0,
@@ -164,7 +176,7 @@ function getTabData(activePage){
         casesName:casesName=='全部'?'':casesName, //模块Id
         isReject:isSingleReject, //是否单项否决
         name: name, //条目名
-        deptName: deptId, //科室名
+        deptName: deptName, //科室名
         size: 15,
         "startDate":dateStatrt,
         "endDate":dateEnd
@@ -227,6 +239,7 @@ $(".moduleItemInp").on("input", function(e){
     nameTemp = val
 })
 $(".filter").on("click", function(e){
+    console.log(deptName,848654165456456)
     casesId = casesIdTemp, name = nameTemp, isReject = isRejectTemp, isUsed = isUsedTemp,deptId = deptIdTemp,isSingleReject = isSingleRejectTemp,casesName = casesNameTemp 
     getTabData(1)
 })
@@ -300,16 +313,18 @@ function renderTab(data,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindEdit(data,activePage)
-    goDetail()
+    goDetail(data)
 }
 
-function goDetail(){
+function goDetail(data){
     $(".goDetail").click(function(){
+        const index = $(this).parent().attr("data-index")
         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}`)
+        $(parent.document).find("#contentIframe").attr("src",`./itemDefectDetail.html?defectName=${defectName}&startDate=${startDateParam}&endDate=${endDateParam}&from=${from}&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`)
     })
 }
 
@@ -576,4 +591,27 @@ $(function() {
     $('.iconCalen').on("click", function(e){
         $(this).parent().find("input").focus()
     })
+  $('.export').click(function(){
+    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 = {
+      type: 0,
+      casesId:casesId, //模块Id
+      casesName:casesName=='全部'?'':casesName, //模块Id
+      isReject:isSingleReject, //是否单项否决
+      name: name, //条目名
+      deptName: deptId, //科室名
+      "startDate":dateStatrt,
+      "endDate":dateEnd
+    };
+    expJson(api.exportItemFlaw,param).then(res =>{
+      downloadExportedData(res.data, dateStatrt.slice(0,10).replace(/-/g,"")+"-"+dateEnd.slice(0,10).replace(/-/g,"")+"条目缺陷.xls")
+    })
+  })
 });

+ 1 - 1
src/js/tiaomu.js

@@ -292,7 +292,7 @@ function renderTab(data,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindEdit(data,activePage)
 }
 

+ 1 - 1
src/js/tiaomuControl.js

@@ -263,7 +263,7 @@ function renderTab(data,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindEdit(data,activePage)
 }
 

+ 1 - 1
src/js/userManager.js

@@ -122,7 +122,7 @@ function renderTab(data,activePage){
             </tr>
         `
     }
-    $('tbody').html(str?str:emptyBox())
+    $('.tbody').html(str?str:emptyBox())
     bindEdit(data,activePage)
 }
 

+ 8 - 2
src/js/utils.js

@@ -35,6 +35,7 @@ const pageMap={
   "YH-KSZR-BASYHGLZB_XQ":'partDetail.html',
 
   "YH-JCSJWH-ZKLXWH":'assertType.html',
+  "YH-BLZK-ZKPFYLZ":"qcListDocteam.html",
   "YH-ZKK-GJTMQXZB":'keyItemFlawControl.html',
 };
 
@@ -95,6 +96,8 @@ const getUrlArgObjectNew = function(name,srcUrl) {
 const post = function (url, data) {
   const token = getCookie('accessToken') || localStorage.getItem('accessToken')
   if(!token&&window.location.href.indexOf('login')==-1){
+    setCookie('behosDateStart','')
+    setCookie('behosDateEnd','')
     window.location.href = "../login.html"
   }
   let need = window.location.href.indexOf('localhost')!=-1
@@ -118,6 +121,8 @@ const post = function (url, data) {
       },
       error: function (error) {
         if(error.status===403||error.status===401){
+          setCookie('behosDateStart','')
+          setCookie('behosDateEnd','')
           const wd = window.parent.window||window;
           wd.location.href = "../login.html";
         }
@@ -171,6 +176,8 @@ const post = function (url, data) {
 const expJson = (url,data) =>{
   const token = getCookie('accessToken')
   if(!token&&window.location.href.indexOf('login')==-1){
+    setCookie('behosDateStart','')
+    setCookie('behosDateEnd','')
     window.location.href = "../login.html"
   }
   let need = window.location.href.indexOf('localhost')!=-1
@@ -292,7 +299,6 @@ function picEmptyData(dom,str){
   $(dom).css({"position":"relative","display":"block"}).html(empty)
 }
 function setTitleTxt(dom,from){
-  console.log(dom,from)
   if(!from){
     $(dom?dom:".partTitle").find("a").remove()
   }
@@ -370,7 +376,7 @@ function getPickerDate(picker,mode){
   if(!picker){
     return
   }
-  let date = picker.val().trim()
+  let date = picker.val()
   if(mode == 1){
     return date.replace(/\//g,'-') + ' 00:00:00'
   }else if(mode == 2){

+ 14 - 0
webpack.config.js

@@ -20,6 +20,7 @@ module.exports = {
     moduleManager: path.resolve(__dirname, 'src/js', 'moduleManager.js'),
     itemManager: path.resolve(__dirname, 'src/js', 'itemManager.js'),
     qcList: path.resolve(__dirname, 'src/js', 'qcList.js'),
+    qcListDocteam:path.resolve(__dirname, 'src/js', 'qcListDocteam.js'),
     qcListDept:path.resolve(__dirname, 'src/js', 'qcListDept.js'),
     qcListPerson:path.resolve(__dirname, 'src/js', 'qcListPerson.js'),
     userManager: path.resolve(__dirname, 'src/js', 'userManager.js'),
@@ -396,6 +397,19 @@ module.exports = {
         collapseWhitespace: true //删除空白符与换行符
       }
     }),
+    new HtmlWebpackPlugin({
+      title: 'qcListDocteam.html',
+      template: path.resolve(__dirname, 'src/html', 'qcListDocteam.html'),
+      filename: 'qcListDocteam.html',
+      chunks: ['qcListDocteam', 'vendor', 'common'],
+      hash: true, //防止缓存
+      inject: true,
+      minify: {
+        removeAttributeQuotes: true, //压缩 去掉引号
+        removeComments: true, //移除HTML中的注释
+        collapseWhitespace: true //删除空白符与换行符
+      }
+    }),
     new HtmlWebpackPlugin({
       title: 'qcListPerson.html',
       template: path.resolve(__dirname, 'src/html', 'qcListPerson.html'),