瀏覽代碼

时效性相关统计报表

xtf 8 月之前
父節點
當前提交
e482e25806
共有 80 個文件被更改,包括 13792 次插入6666 次删除
  1. 3 0
      package.json
  2. 5 5
      src/css/allotCheckTask.less
  3. 5 5
      src/css/checkTaskList.less
  4. 6 5
      src/css/console.less
  5. 5 5
      src/css/creatCheckTask.less
  6. 6 6
      src/css/dept/qcListCopyDept.less
  7. 9 6
      src/css/dept/qcListCopyUnqualifiedDept.less
  8. 8 6
      src/css/dept/qcListOutHospitalDept.less
  9. 4 5
      src/css/dept/uccDeptDetail.less
  10. 11 10
      src/css/deptConsole.less
  11. 1161 903
      src/css/index.less
  12. 143 70
      src/css/itemManager.less
  13. 154 78
      src/css/login.less
  14. 438 0
      src/css/qcListCopyquexian.less
  15. 9 7
      src/css/qcListDept.less
  16. 0 3
      src/css/qcScore.less
  17. 203 100
      src/css/reset.less
  18. 1214 0
      src/css/uncorrectedCasesStatisticsAdm.css
  19. 362 0
      src/css/uncorrectedCasesStatisticsAdm.less
  20. 68 39
      src/html/allotCheckTask.html
  21. 125 97
      src/html/checkTaskList.html
  22. 65 40
      src/html/creatCheckTask.html
  23. 118 92
      src/html/dept/qcListCopyDept.html
  24. 115 91
      src/html/dept/qcListCopyUnqualifiedDept.html
  25. 129 101
      src/html/dept/qcListOutHospitalDept.html
  26. 92 112
      src/html/dept/uccDeptDetail.html
  27. 91 85
      src/html/deptConsole.html
  28. 12 0
      src/html/index.html
  29. 1 34
      src/html/login.html
  30. 4 0
      src/html/qcList.html
  31. 192 0
      src/html/qcListCopyquexian.html
  32. 111 84
      src/html/qcListDept.html
  33. 4 0
      src/html/qcListDocteam.html
  34. 4 0
      src/html/qcListOutHospital.html
  35. 4 0
      src/html/qcListPerson.html
  36. 181 150
      src/html/qcScore.html
  37. 72 0
      src/html/uncorrectedCasesStatisticsAdm.html
  38. 1 1
      src/html/userManager.html
  39. 553 402
      src/js/allotCheckTask.js
  40. 15 0
      src/js/api.js
  41. 224 62
      src/js/checkTaskList.js
  42. 1 1
      src/js/console.js
  43. 172 45
      src/js/creatCheckTask.js
  44. 9 8
      src/js/dept/checkControlDept.js
  45. 5 3
      src/js/dept/deptScoreDetailControlDept.js
  46. 11 6
      src/js/dept/keyItemFlawControlDept.js
  47. 5 3
      src/js/dept/partDetailControlDept.js
  48. 794 610
      src/js/dept/qcListCopyDept.js
  49. 198 17
      src/js/dept/qcListCopyUnqualifiedDept.js
  50. 194 14
      src/js/dept/qcListOutHospitalDept.js
  51. 4 2
      src/js/dept/quexianDetailControlDept.js
  52. 7 6
      src/js/dept/readmissionDept.js
  53. 200 13
      src/js/dept/uccDeptDetail.js
  54. 6 6
      src/js/deptConsole.js
  55. 352 286
      src/js/index.js
  56. 130 66
      src/js/login.js
  57. 50 27
      src/js/modal.js
  58. 40 20
      src/js/qcList.js
  59. 597 594
      src/js/qcListCopy.js
  60. 561 558
      src/js/qcListCopyUnqualified.js
  61. 1414 0
      src/js/qcListCopyquexian.js
  62. 762 540
      src/js/qcListDept.js
  63. 3 3
      src/js/qcListDeptYw.js
  64. 24 4
      src/js/qcListDocteam.js
  65. 24 4
      src/js/qcListOutHospital.js
  66. 24 4
      src/js/qcListPerson.js
  67. 5 5
      src/js/qcListYw.js
  68. 929 665
      src/js/qcScore.js
  69. 3 1
      src/js/quexianDetailHome.js
  70. 2 2
      src/js/quexianXQ.js
  71. 186 181
      src/js/readmission.js
  72. 6 2
      src/js/roleManager.js
  73. 10 6
      src/js/singleVeto.js
  74. 2 2
      src/js/uccDetail.js
  75. 4 0
      src/js/uncorrectedCasesStatistics.js
  76. 476 0
      src/js/uncorrectedCasesStatisticsAdm.js
  77. 425 263
      src/js/userManager.js
  78. 202 88
      src/js/utils.js
  79. 12 5
      webpack.config.js
  80. 16 2
      webpack.configCopy.jsx

+ 3 - 0
package.json

@@ -4,6 +4,8 @@
   "description": "",
   "main": "index.js",
   "dependencies": {
+    "@babel/plugin-transform-runtime": "^7.16.10",
+    "@babel/runtime-corejs3": "^7.16.8",
     "axios": "^0.19.2",
     "bluebird": "^3.5.5",
     "echarts": "^4.7.0",
@@ -12,6 +14,7 @@
     "jquery": "^1.12.4",
     "jquery-templates": "^1.0.0",
     "js-md5": "^0.7.3",
+    "mockjs": "^1.1.0",
     "uninstall": "0.0.0"
   },
   "devDependencies": {

+ 5 - 5
src/css/allotCheckTask.less

@@ -241,7 +241,7 @@ li{
 padding: 0 10px;
 }
 }
-.deptList{
+.deptList,.regionsList,.medoupsList{
 width: 160px;
 max-height: 400px;
 }
@@ -253,10 +253,10 @@ background-color: #EEF4FF;
 cursor: pointer;
 }
 }
-.selectLevel,.selectDept,.selectAllDept,.selectChecker,.selectScore{
+.selectLevel,.selectDept,.selectAllDept,.selectChecker,.selectScore,.selectRegions,.selectMedoups{
 display: inline-block;
 position: relative;
-width:120px;
+min-width:120px;
 padding: 0 10px;
 overflow: hidden;
 text-overflow: ellipsis;
@@ -267,7 +267,7 @@ border: 1px solid #E2E5EF;
 box-sizing: border-box;
 cursor: pointer;
 }
-.selectDept{
+.selectDept,.selectRegions,.selectMedoups{
 width: 160px;
 }
 
@@ -384,7 +384,7 @@ color: @activeColor;
 cursor: pointer;
 }
 
-.deptItem:hover,.deptAllItem:hover,.checkerItem:hover{
+.deptItem:hover,.deptAllItem:hover,.checkerItem:hover,.medoupsItem:hover,.regionsItem:hover{
 background-color: #EEF4FF;
 cursor: pointer;
 }

+ 5 - 5
src/css/checkTaskList.less

@@ -182,7 +182,7 @@ h2{
         padding: 0 10px;
     }
 }
-.deptList{
+.deptList,.regionsList,.medoupsList{
     width: 160px;
     max-height: 400px;
 }
@@ -194,10 +194,10 @@ h2{
         cursor: pointer;
     }
 }
-.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck,.selectStatus,.selectScore{
+.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck,.selectStatus,.selectScore,.selectRegions,.selectMedoups{
     display: inline-block;
     position: relative;
-    width:120px;
+    min-width:120px;
     padding: 0 10px;
     height:32px;
     border-radius:4px;
@@ -205,7 +205,7 @@ h2{
     box-sizing: border-box;
     cursor: pointer;
 }
-.selectDept{
+.selectDept,.selectRegions,.selectMedoups{
     width: 160px;
 }
 
@@ -292,7 +292,7 @@ h2{
     text-align: center;
 }
 
-.deptItem:hover{
+.deptItem:hover,.medoupsItem:hover,.regionsItem:hover{
     background-color: #EEF4FF;
     cursor: pointer;
 }

+ 6 - 5
src/css/console.less

@@ -215,20 +215,21 @@ div.console {
       float: left;
     }
     .year {
-      background-color: @activeColor;
-      border: 1px solid @activeColor;
-      color: @fstColor;
+      border: 1px solid @secColor;
+      color: @secColor;
       // border-left: 0 none;
       border-radius:0 4px 4px 0;
       overflow: hidden;
       box-sizing: border-box;
     }
     .mon {
-      border: 1px solid @secColor;
+      background-color: @activeColor;
+      border: 1px solid @activeColor;
+      color: @fstColor;
       box-sizing: border-box;
       border-radius: 4px 0 0 4px;
       border-right: 0 none;
-      color: @secColor;
+      
     }
   }
 }

+ 5 - 5
src/css/creatCheckTask.less

@@ -211,7 +211,7 @@ h2{
         padding: 0 10px;
     }
 }
-.deptList{
+.deptList,.regionsList,.medoupsList{
     width: 160px;
     max-height: 400px;
 }
@@ -223,10 +223,10 @@ h2{
         cursor: pointer;
     }
 }
-.selectLevel,.selectDept,.selectStatus,.selectScore{
+.selectLevel,.selectDept,.selectStatus,.selectScore,.selectRegions,.selectMedoups{
     display: inline-block;
     position: relative;
-    width:120px;
+    min-width:120px;
     padding: 0 10px;
     height:32px;
     border-radius:4px;
@@ -234,7 +234,7 @@ h2{
     box-sizing: border-box;
     cursor: pointer;
 }
-.selectDept{
+.selectDept,.selectRegions,.selectMedoups{
     width: 160px;
     i{
         display: inline-block;
@@ -332,7 +332,7 @@ h2{
     cursor: pointer;
 }
 
-.deptItem:hover,.deptItem.active{
+.deptItem:hover,.deptItem.active,.medoupsItem:hover,.regionsItem:hover{
     background-color: #E7F1FB;
     cursor: pointer;
 }

+ 6 - 6
src/css/dept/qcListCopyDept.less

@@ -137,9 +137,8 @@ h2{
     display: none;
 }
 .filter-toggler{
-    position: absolute;
-    left: 1048px;
-    top: 8px;
+    line-height: 34px;
+    margin-left: 15px;
     color: #777;
     white-space: nowrap;
     font-size: 14px;
@@ -187,6 +186,7 @@ h2{
     right: 0;
     top: 34px !important;
     max-height: 200px;
+    min-width: 120px;
     overflow-y: auto;
     background: #fff;
     display: none;
@@ -209,10 +209,10 @@ h2{
         cursor: pointer;
     }
 }
-.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck{
+.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck,.selectRegions,.selectMedoups{
     display: inline-block;
     position: relative;
-    width:120px;
+    min-width:120px;
     padding: 0 10px;
     height:32px;
     border-radius:4px;
@@ -313,7 +313,7 @@ h2{
     cursor: pointer;
 }
 
-.deptItem:hover{
+.deptItem:hover,.medoupsItem:hover,.regionsItem:hover{
     background-color: #EEF4FF;
     cursor: pointer;
 }

+ 9 - 6
src/css/dept/qcListCopyUnqualifiedDept.less

@@ -137,9 +137,8 @@ h2{
     display: none;
 }
 .filter-toggler{
-    position: absolute;
-    left: 1048px;
-    top: 8px;
+    line-height: 34px;
+    margin-left: 15px;
     color: #777;
     white-space: nowrap;
     font-size: 14px;
@@ -201,6 +200,10 @@ h2{
     width: 160px;
     max-height: 400px;
 }
+.medoupsList,.regionsList{
+    width: 120px;
+    max-height: 400px;
+}
 .levelList,.checkList{
     width: 120px;
     // height: 200px;
@@ -209,10 +212,10 @@ h2{
         cursor: pointer;
     }
 }
-.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck{
+.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck,.selectRegions,.selectMedoups{
     display: inline-block;
     position: relative;
-    width:120px;
+    min-width:120px;
     padding: 0 10px;
     height:32px;
     border-radius:4px;
@@ -313,7 +316,7 @@ h2{
     cursor: pointer;
 }
 
-.deptItem:hover{
+.deptItem:hover,.medoupsItem:hover,.regionsItem:hover{
     background-color: #EEF4FF;
     cursor: pointer;
 }

+ 8 - 6
src/css/dept/qcListOutHospitalDept.less

@@ -136,9 +136,8 @@ h2{
     display: none;
 }
 .filter-toggler{
-    position: absolute;
-    left: 1077px;
-    top: 8px;
+    line-height: 34px;
+    margin-left: 15px;
     color: #777;
     white-space: nowrap;
     font-size: 14px;
@@ -200,7 +199,10 @@ h2{
     width: 160px;
     max-height: 400px;
 }
-
+.medoupsList,.regionsList{
+    width: 120px;
+    max-height: 400px;
+}
 .levelList,.checkList,.leaveHosTypeList {
     width: 120px;
     // height: 200px;
@@ -213,7 +215,7 @@ h2{
     width: 150px;
     max-height: 300px;
 }
-.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck,.selectLeaveHosType{
+.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck,.selectLeaveHosType,.selectRegions,.selectMedoups{
     display: inline-block;
     position: relative;
     width:120px;
@@ -320,7 +322,7 @@ h2{
     cursor: pointer;
 }
 
-.deptItem:hover{
+.deptItem:hover,.medoupsItem:hover,.regionsItem:hover{
     background-color: #EEF4FF;
     cursor: pointer;
 }

+ 4 - 5
src/css/dept/uccDeptDetail.less

@@ -137,9 +137,8 @@ h2{
     display: none;
 }
 .filter-toggler{
-    position: absolute;
-    left: 1048px;
-    top: 8px;
+    line-height: 34px;
+    margin-left: 15px;
     color: #777;
     white-space: nowrap;
     font-size: 14px;
@@ -209,10 +208,10 @@ h2{
         cursor: pointer;
     }
 }
-.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck{
+.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck,.selectRegions,.selectMedoups{
     display: inline-block;
     position: relative;
-    width:120px;
+    min-width:120px;
     padding: 0 10px;
     height:32px;
     border-radius:4px;

+ 11 - 10
src/css/deptConsole.less

@@ -191,27 +191,28 @@ div.console {
       float: left;
     }
     .year {
-      background-color: @activeColor;
-      border: 1px solid @activeColor;
-      color: @fstColor;
+      border: 1px solid @secColor;
+      color: @secColor;
       // border-left: 0 none;
       border-radius:0 4px 4px 0;
       overflow: hidden;
       box-sizing: border-box;
     }
     .mon {
-      border: 1px solid @secColor;
+      background-color: @activeColor;
+      border: 1px solid @activeColor;
+      color: @fstColor;
+     
       border-radius: 4px 0 0 4px;
       border-right: 0 none;
-      color: @secColor;
       box-sizing: border-box;
     }
   }
 }
 .deptConsoleLis {
-  width: 170px;
+  width: 120px;
   li {
-    width: 170px !important;
+    width: 120px !important;
     box-sizing: border-box;
   }
 }
@@ -543,7 +544,7 @@ div.console {
   margin-right: 20px;
   margin-top: 6px;
   p {
-    width: 170px;
+    width: 120px;
     height: 28px;
     line-height: 28px;
     border: 1px solid #E2E5EF;
@@ -555,7 +556,7 @@ div.console {
     font-weight: normal;
     box-sizing: border-box;
     span {
-      width: 155px;
+      width: 80px;
       height: 28px;
       line-height: 28px;
       display: inline-block;
@@ -585,7 +586,7 @@ div.console {
       height: 30px;
       line-height: 30px;
       padding: 0 10px;
-      width: 180px;
+      width: 90px;
       overflow: hidden;
       text-overflow: ellipsis;
       white-space: nowrap;

文件差異過大導致無法顯示
+ 1161 - 903
src/css/index.less


+ 143 - 70
src/css/itemManager.less

@@ -1,45 +1,56 @@
 @import "./reset.less";
-.managerContainer{
+
+.managerContainer {
     width: 100%;
     height: 100%;
     overflow-y: auto;
     background: @disColor;
-    .selectUsed,.selectReject {
+
+    .selectUsed,
+    .selectReject {
         float: right;
     }
-    ul,li{
-        padding:0;
-        margin:0;
-        list-style:none;
+
+    ul,
+    li {
+        padding: 0;
+        margin: 0;
+        list-style: none;
     }
-    h2{
+
+    h2 {
         .h2;
         position: fixed;
         z-index: 100;
         top: 0
     }
-    .main-body{
+
+    .main-body {
         .main-body-com;
         margin-top: 50px
     }
-    table{
+
+    table {
         .table;
-        .moduleNumber{
+
+        .moduleNumber {
             text-align: center;
         }
-        
+
     }
+
     /*.filterBox{
         margin-bottom:20px;
     }*/
-    .filterItem{
+    .filterItem {
         position: relative;
         display: inline-block;
         height: 32px;
         line-height: 32px;
         margin: 0 20px 20px 0;
     }
-    .filterDropList{
+
+    .filterDropList {
         position: absolute;
         right: 0;
         max-height: 200px;
@@ -49,77 +60,98 @@
         border: 1px solid #e4e7ed;
         box-shadow: 0 2px 12px 0 #e4e7ed;
         z-index: 2;
-        li{
+
+        li {
             padding: 0 10px;
         }
     }
-    .rejectList, .usedList{
+
+    .rejectList,
+    .usedList {
         height: 120px;
-        li{
+
+        li {
             padding: 0 10px;
         }
-        li:hover{
+
+        li:hover {
             background-color: #EEF4FF;
             cursor: pointer;
         }
     }
-    .switchImg{
+
+    .switchImg {
         width: 30px;
     }
+
     .roleSelect {
         position: relative;
         top: 3px;
         cursor: pointer;
     }
-    .selectModuleType,.moduleItemInp,.selectUsed, .selectReject{
+
+    .selectModuleType,
+    .moduleItemInp,
+    .selectUsed,
+    .selectReject {
         display: inline-block;
         position: relative;
-        width:130px;
-        height:32px;
-        border-radius:4px;
+        width: 130px;
+        height: 32px;
+        border-radius: 4px;
         border: 1px solid #E2E5EF;
         box-sizing: border-box;
         cursor: pointer;
-        padding:0 26px 0 10px;
+        padding: 0 26px 0 10px;
     }
-    .arrow{
+
+    .arrow {
         position: absolute;
         width: 10px;
         top: 12px;
         right: 10px;
     }
-    .moduleItemInp{
+
+    .moduleItemInp {
         cursor: text;
         outline: none;
         padding-right: 10px !important;
     }
-    .moduleItemInp:focus{
+
+    .moduleItemInp: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;
-      }
-    .moduleTypeList.filterDropList{
-         width: 168px !important;
-    }
-    .selectUsed, .selectReject{
+        -webkit-box-shadow: @activeColor 0px 0px 2px;
+        -moz-box-shadow: @activeColor 0px 0px 2px;
+        box-shadow: @activeColor 0px 0px 2px;
+    }
+
+    .moduleTypeList.filterDropList {
+        width: 168px !important;
+    }
+
+    .selectUsed,
+    .selectReject {
         width: 140px;
     }
-    .modeTypeItem:hover{
+
+    .modeTypeItem:hover {
         background-color: #EEF4FF;
         cursor: pointer;
     }
-    .rejectList, .usedList {
+
+    .rejectList,
+    .usedList {
         width: 138px !important;
         height: 102px !important;
     }
-    .filter{
+
+    .filter {
         display: inline-block;
-        width:60px;
-        height:32px;
-        background:@activeColor;
-        border-radius:4px;
+        width: 60px;
+        height: 32px;
+        background: @activeColor;
+        border-radius: 4px;
         color: #fff;
         text-align: center;
         line-height: 32px;
@@ -127,39 +159,64 @@
         top: 0px;
         cursor: pointer;
     }
-    .filterclear{
-        top:0px;
+
+    .filterclear {
+        top: 0px;
+    }
+
+    .editItem {
+        color: @activeColor;
+        cursor: pointer;
+           padding: 0px 5px;
+    }
+
+    .fl {
+        float: none;
     }
-    .editItem{
-       color: @activeColor;
-       cursor: pointer;
+    .fr {
+        float: none;
     }
-    .editItemDis{
+    .unlock {
+        margin-right: 20px;
+        // display: none;
+    }
+
+    .locknone {
+        display: none;
+    }
+
+    .editItemDis {
         color: #aaa;
         cursor: not-allowed;
     }
-    
-    .ellipsis{
+
+    .ellipsis {
         overflow: hidden;
-        text-overflow:ellipsis;
+        text-overflow: ellipsis;
         white-space: nowrap;
     }
-    .textCenter{
+
+    .textCenter {
         text-align: center;
     }
-    
-    
-    .pagination{
-        margin: 35px 0 20px 0  ;
+
+
+    .pagination {
+        margin: 35px 0 20px 0;
         text-align: right;
     }
-    .totalSum{
-        font-size:12px;
-        line-height:17px;
+
+    .totalSum {
+        font-size: 12px;
+        line-height: 17px;
         color: #777777;
         margin-right: 20px;
     }
-    .pageNum,.prePage,.nextPage, .more{
+
+    .pageNum,
+    .prePage,
+    .nextPage,
+    .more {
         display: inline-block;
         width: 20px;
         cursor: pointer;
@@ -167,48 +224,64 @@
         text-align: center;
         color: #777;
     }
-    .prePage,.nextPage{
-        img{
+
+    .prePage,
+    .nextPage {
+        img {
             position: relative;
-            top: 0px   ;
+            top: 0px;
         }
     }
-     .more{
+
+    .more {
         cursor: not-allowed;
     }
-    .arrowPage{
+
+    .arrowPage {
         width: 6px;
     }
-    .activePage{
+
+    .activePage {
         color: @activeColor;
     }
-    
+
     input::-webkit-outer-spin-button,
     input::-webkit-inner-spin-button {
         -webkit-appearance: none;
     }
-     
+
     input[type="number"] {
         -moz-appearance: textfield;
     }
 }
 
-.usrContain .selectReject,.usrContain .selectModuleType ,.managerContainer .selectModuleType  {
+.usrContain .selectReject,
+.usrContain .selectModuleType,
+.managerContainer .selectModuleType {
     float: right;
 }
-.usrContain .rejectList,.usrContain .usedList{
+
+.usrContain .rejectList,
+.usrContain .usedList {
     height: 200px;
 }
-.usrContain .selectModuleType, .usrContain .moduleItemInp, .usrContain .selectUsed, .usrContain .selectReject {
+
+.usrContain .selectModuleType,
+.usrContain .moduleItemInp,
+.usrContain .selectUsed,
+.usrContain .selectReject {
     width: 170px;
 }
+
 .managerContainer .moduleTypeList {
     width: 128px !important;
 }
+
 .managerContainer.usrContain .moduleTypeList {
     width: 170px;
     height: 400px;
 }
+
 .managerContainer.usrContain .selectReject {
     width: 140px;
 }

+ 154 - 78
src/css/login.less

@@ -1,22 +1,29 @@
 @import './reset.less';
+
 body {
   background: @themeColor;
-  background:linear-gradient(133deg,rgba(45,79,139,1) 0%,rgba(20,39,83,1) 100%);
+  background: linear-gradient(133deg, rgba(45, 79, 139, 1) 0%, rgba(20, 39, 83, 1) 100%);
 }
+
 .login {
   height: 100%;
-  .bg{
+
+  .bg {
     width: 62%;
     height: 100%;
     text-align: center;
     background: url("../images/loginBg2.png") center center no-repeat;
     background-size: 84%;
   }
+
   .waring {
     color: #FF4D4F;
-    margin-top: 18px;
+    margin-top: 6px;
     height: 18px;
+    // text-align: center;
+    font-size: 12px;
   }
+
   .sureLogin {
     width: 300px;
     height: 40px;
@@ -25,12 +32,13 @@ body {
     background-color: #00A1FF;
     color: #fff;
     cursor: pointer;
-    border-radius:4px;
+    border-radius: 4px;
     margin: 20px auto 0;
   }
-  .bg2{
+
+  .bg2 {
     width: 100%;
-    height:  100%;
+    height: 100%;
     text-align: center;
     background: url("../images/bg.png") center center no-repeat;
     background-size: 783px 396px;
@@ -40,6 +48,7 @@ body {
     justify-content: center;
   }
 }
+
 p.title {
   font-size: 30px;
   color: #fff;
@@ -48,85 +57,100 @@ p.title {
   top: 90px;
   left: 5%;
 }
-  .message {
-    width: 38%;
-    height: 100%;
-    background: @activeBg;
-    background:linear-gradient(180deg,rgba(0,25,82,1) 0%,rgba(0,24,78,0.94) 100%);
-    box-sizing: border-box;
-    position: relative;
-    .inner{
-      height: 360px;
-      position: absolute;
-      top: 50%;
-      left: 50%;
-      margin-top: -180px;
-      margin-left: -150px;
-    }
-    .welcome {
-      font-size: 30px;
-      font-weight: bold;
-      color: #fff;
-      margin-bottom: 50px;
-    }
-    .copy-right{
-      position: absolute;
-      bottom: 50px;
-      width: 100%;
-      font-size:12px;
-      text-align: center;
-      color: #fff;
-      opacity: .6;
-    }
+
+.message {
+  width: 38%;
+  height: 100%;
+  background: @activeBg;
+  background: linear-gradient(180deg, rgba(0, 25, 82, 1) 0%, rgba(0, 24, 78, 0.94) 100%);
+  box-sizing: border-box;
+  position: relative;
+
+  .inner {
+    height: 360px;
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    margin-top: -180px;
+    margin-left: -150px;
   }
-  .perPub {
-    width: 300px;
-    margin: auto;
-    p {
-      font-size: 12px;
-      padding-bottom: 8px;
-      color: #fff;
-    }
-    img {
-      vertical-align: middle;
-      margin-right: 8px;
-    }
+
+  .welcome {
+    font-size: 30px;
+    font-weight: bold;
+    color: #fff;
+    margin-bottom: 50px;
   }
-  .iptWrap {
-    padding-left: 10px;
-    box-sizing: border-box;
-    border: 1px solid #97A4BA;
-    width: 300px;
-    height: 40px;
-    line-height: 38px;
-    border-radius: 4px;
-    input {
-      display: inline-block;
-      width: 80%;
-      color: #fff;
-      background: none;
-    }
-    
+
+  .copy-right {
+    position: absolute;
+    bottom: 50px;
+    width: 100%;
+    font-size: 12px;
+    text-align: center;
+    color: #fff;
+    opacity: .6;
+  }
+}
+
+.perPub {
+  width: 300px;
+  margin: auto;
+
+  p {
+    font-size: 12px;
+    padding-bottom: 8px;
+    color: #fff;
   }
-  .inputFocus{
-      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;
+
+  img {
+    vertical-align: middle;
+    margin-right: 8px;
   }
-.login-info{
+}
+
+.iptWrap {
+  padding-left: 10px;
+  box-sizing: border-box;
+  border: 1px solid #97A4BA;
+  width: 300px;
+  height: 40px;
+  line-height: 38px;
+  border-radius: 4px;
+
+  input {
+    display: inline-block;
+    width: 80%;
+    color: #fff;
+    background: none;
+  }
+
+}
+
+.inputFocus,
+.security-code input.inputFocus {
+  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;
+}
+
+.login-info {
   padding-top: 325px;
-  .info-perPub{
+
+  .info-perPub {
     float: left;
-    & p{
+
+    & p {
       float: left;
       line-height: 34px;
       margin-right: 7px;
       font-size: 14px;
       color: #fff;
     }
-    .info-iptWrap{
+
+    .info-iptWrap {
       float: left;
       box-sizing: border-box;
       width: 130px;
@@ -134,6 +158,7 @@ p.title {
       line-height: 34px;
       border-radius: 4px;
       margin-right: 58px;
+
       & input {
         display: inline-block;
         width: 100%;
@@ -143,14 +168,16 @@ p.title {
         font-size: 14px;
       }
     }
-    
+
   }
+
   .waring {
     display: inline-block;
     position: absolute;
     top: -44px;
   }
-  .sureLogin{
+
+  .sureLogin {
     float: left;
     width: 150px;
     height: 34px;
@@ -162,6 +189,7 @@ p.title {
     font-size: 14px;
   }
 }
+
 .alertModal {
   .modalBg {
     position: fixed;
@@ -170,8 +198,9 @@ p.title {
     right: 0px;
     bottom: 0px;
     background: rgba(0, 0, 0, .3);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000,endColorstr=#88000000);
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000, endColorstr=#88000000);
   }
+
   .modalMain {
     width: 300px;
     // height: 200px;
@@ -183,6 +212,7 @@ p.title {
     // margin-top: -100px;
     padding-bottom: 10px;
   }
+
   .title {
     border-bottom: 1px solid #eee;
     background-color: #F8F8F8;
@@ -191,6 +221,7 @@ p.title {
     position: relative;
     padding-left: 15px;
     font-size: 14px;
+
     img {
       position: absolute;
       right: 10px;
@@ -198,14 +229,17 @@ p.title {
       cursor: pointer;
     }
   }
+
   .content {
     padding: 25px 15px;
     font-size: 14px;
     text-align: center;
   }
+
   .btns {
     height: 45px;
     text-align: center;
+
     span {
       border-radius: 5px;
       float: right;
@@ -221,20 +255,24 @@ p.title {
       font-weight: 400;
       text-decoration: none;
     }
+
     .sure {
       background-color: #1E9FFF;
       border-color: #1E9FFF;
       color: #fff;
     }
+
     .quite {
       margin-left: 30px;
       margin-right: 30px;
     }
   }
 }
+
 .divModal {
   position: fixed;
 }
+
 .modaltip {
   position: fixed;
   top: 40%;
@@ -244,8 +282,9 @@ p.title {
   color: #fff;
   background: rgba(0, 0, 0, .6);
   z-index: 9999;
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000,endColorstr=#88000000);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000, endColorstr=#88000000);
 }
+
 .loading {
   position: fixed;
   width: 100%;
@@ -254,7 +293,8 @@ p.title {
   border-radius: 3px;
   color: #fff;
   background: rgba(0, 0, 0, 0);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000,endColorstr=#88000000);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000, endColorstr=#88000000);
+
   img {
     position: fixed;
     top: 50%;
@@ -264,4 +304,40 @@ p.title {
     margin-left: -20px;
     margin-top: -20px;
   }
+}
+
+.security-code {
+  border: none;
+
+  input {
+    width: 140px;
+    height: 100%;
+    margin-left: -10px;
+    padding-left: 5px;
+    border-radius: 4px;
+    border: 1px solid #97A4BA;
+  }
+
+  .code-img {
+    display: inline-block;
+    width: 100px;
+    height: 40px;
+    vertical-align: middle;
+  }
+
+  img {
+    width: 100%;
+    height: 100%;
+    margin-left: 8px;
+    cursor: pointer;
+    vertical-align: middle;
+  }
+
+  a {
+    color: #fff;
+    font-size: 12px;
+    cursor: pointer;
+    text-decoration: underline;
+    float: right;
+  }
 }

+ 438 - 0
src/css/qcListCopyquexian.less

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

+ 9 - 7
src/css/qcListDept.less

@@ -115,9 +115,8 @@ h2{
     display: none;
 }
 .filter-toggler{
-    position: absolute;
-    left: 1048px;
-    top: 8px;
+    line-height: 34px;
+    margin-left: 15px;
     color: #777;
     white-space: nowrap;
     font-size: 14px;
@@ -178,6 +177,10 @@ h2{
     width: 160px;
     max-height: 400px;
 }
+.regionsList,.medoupsList{
+    width: 120px;
+    max-height: 400px;
+}
 .levelList,.checkList{
     width: 120px;
     // height: 200px;
@@ -187,10 +190,10 @@ h2{
     }
 }
 
-.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck{
+.selectLevel,.selectDept,.fpSelectCheck,.qcSelectCheck,.selectRegions,.selectMedoups{
     display: inline-block;
     position: relative;
-    width:120px;
+    min-width:120px;
     padding: 0 10px;
     height:32px;
     border-radius:4px;
@@ -201,7 +204,6 @@ h2{
 .selectDept{
     width: 160px;
 }
-
 .filter,.reset,.export{
     display: inline-block;
     width:60px;
@@ -290,7 +292,7 @@ h2{
     cursor: pointer;
 }
 
-.deptItem:hover{
+.deptItem:hover,.medoupsItem:hover,.regionsItem:hover{
     background-color: #EEF4FF;
     cursor: pointer;
 }

+ 0 - 3
src/css/qcScore.less

@@ -45,9 +45,6 @@
     margin-right: 25px;
     cursor: pointer;
   }
-  .ywCheck{
-    display: none;
-  }
 }
 .sub-menu{
   position: relative;

+ 203 - 100
src/css/reset.less

@@ -32,6 +32,7 @@ input {
   color: #333333;
   text-decoration: none;
 }
+
 textarea,
 html,
 body {
@@ -49,9 +50,11 @@ ul {
 li {
   list-style: none;
 }
+
 a {
   color: #333;
 }
+
 button {
   cursor: pointer;
   outline: none;
@@ -64,33 +67,39 @@ table {
   border-spacing: 0;
 }
 
-.table{
+.table {
   width: 100%;
-  border:1px solid #E2E5EF;
+  border: 1px solid #E2E5EF;
   border-collapse: collapse;
+
   thead {
     background: #EFF0F9;
   }
-  tr:nth-child(2n){
+
+  tr:nth-child(2n) {
     background: #EFF1F6;
   }
- 
-  th,td{
+
+  th,
+  td {
     height: @trHeight;
     box-sizing: border-box;
-    padding:0 10px;
-    border:1px solid #E2E5EF;
+    padding: 0 10px;
+    border: 1px solid #E2E5EF;
     border-collapse: collapse;
   }
-  th{
+
+  th {
     font-size: 14px;
     font-weight: 500;
   }
-  td{
+
+  td {
     font-size: 14px;
     font-weight: 400
   }
 }
+
 input,
 textarea {
   border: none;
@@ -99,51 +108,66 @@ textarea {
   outline: none;
 }
 
-.clearfix:after{
-  content: ""; 
-  display: block; 
-  height: 0; 
-  clear: both; 
-  visibility: hidden;  
+.clearfix:after {
+  content: "";
+  display: block;
+  height: 0;
+  clear: both;
+  visibility: hidden;
 }
 
 .clearfix {
-  zoom: 1; 
+  zoom: 1;
 }
 
-.fl{
+.fl {
   float: left;
 }
-.fr{
+
+.fr {
   float: right;
 }
 
 
-@headerHt:50px;   /*logo栏高度*/
-@menuLiHt:40px;   /*菜单项高度*/
-@menuWt:205px;   /*菜单宽度*/
-@themeColor:#203463;    //主题背景色
+@headerHt: 50px;
+/*logo栏高度*/
+@menuLiHt: 40px;
+/*菜单项高度*/
+@menuWt: 205px;
+/*菜单宽度*/
+@themeColor: #203463; //主题背景色
 @titleColor: #51649C; //面包屑标题颜色
-@themeFontClr:#fff;   //主题字体色
-@greyColor:#A5ADBF;    //灰色二级
-@fstColor:#E9EBEF;    //重要一级,菜单
-@secColor:#A5ADBF;    //重要二级,菜单
-@trdColor:#6D7A97;    //版权重要三级
-@darkLightBorderColor:#344876;    //深色背景的分割线,border,浅色
-@darkDeepBorderColor:#4A5D8E;    //深色背景的分割线,border,深点
-@themeBorderClr:#344876;    //主题边框色
-@activeColor:#00A1FF;   /*菜单项选中颜色*/
-@activeBg:#142753;   /*菜单项选中背景*/
-@borderColor:#E2E5EF; /**边框颜色**/
-@frameBdColor:#F0F0F0;/***框架边框颜色**/
-@warnColor:#FF4D4F;  /**重点红色**/
-@thBgColor:#EFF0F9; /**标题背景色**/
-@tableBorderColor:#E2E5EF;  /**表格边框**/
-@disColor:#EFF1F6;  /**背景颜色**/
-@trHeight:30px;   /**表格行高**/
-@highlighBg:#F4C9C3;/**单选否决高亮**/
-@anchorBg:#FEE6C4;//定位高亮背景颜色
-.h2{
+@themeFontClr: #fff; //主题字体色
+@greyColor: #A5ADBF; //灰色二级
+@fstColor: #E9EBEF; //重要一级,菜单
+@secColor: #A5ADBF; //重要二级,菜单
+@trdColor: #6D7A97; //版权重要三级
+@darkLightBorderColor: #344876; //深色背景的分割线,border,浅色
+@darkDeepBorderColor: #4A5D8E; //深色背景的分割线,border,深点
+@themeBorderClr: #344876; //主题边框色
+@activeColor: #00A1FF;
+/*菜单项选中颜色*/
+@activeBg: #142753;
+/*菜单项选中背景*/
+@borderColor: #E2E5EF;
+/**边框颜色**/
+@frameBdColor: #F0F0F0;
+/***框架边框颜色**/
+@warnColor: #FF4D4F;
+/**重点红色**/
+@thBgColor: #EFF0F9;
+/**标题背景色**/
+@tableBorderColor: #E2E5EF;
+/**表格边框**/
+@disColor: #EFF1F6;
+/**背景颜色**/
+@trHeight: 30px;
+/**表格行高**/
+@highlighBg: #F4C9C3;
+/**单选否决高亮**/
+@anchorBg: #FEE6C4; //定位高亮背景颜色
+
+.h2 {
   width: 100%;
   /*box-sizing: border-box;*/
   z-index: 20;
@@ -161,76 +185,86 @@ textarea {
 
 
 /****弹窗样式*****/
-.modal{
+.modal {
   position: fixed;
-  top:0;
+  top: 0;
   left: 0;
   display: none;
   width: 100%;
   height: 100%;
   z-index: 99;
-  .cover{
+
+  .cover {
     width: 100%;
     height: 100%;
     background: #000;
     opacity: .5;
   }
-  .modal-box{
+
+  .modal-box {
     position: absolute;
-    top:50%;
+    top: 50%;
     left: 50%;
     /*width: 400px;
     height: 255px;*/
     padding-bottom: 30px;
-    margin-top:-180px;
+    margin-top: -180px;
     margin-left: -200px;
     background: #fff;
-    border-radius:4px;
+    border-radius: 4px;
   }
-  .modal-header{
+
+  .modal-header {
     height: 40px;
     line-height: 40px;
     padding: 0 15px;
     border-bottom: 1px #E2E5EF solid;
-    a{
+
+    a {
       float: right;
       font-size: 18px;
       color: #8C8C8C;
     }
   }
-  .modal-body{
+
+  .modal-body {
     padding: 30px 65px 40px;
   }
-  .modal-footer{
+
+  .modal-footer {
     /*position: absolute;
     bottom: 20px;
     width: 100%;*/
     height: 50px;
     line-height: 50px;
     text-align: center;
-    a{
-      width:80px;
-      height:36px;
+
+    a {
+      width: 80px;
+      height: 36px;
       color: #fff;
-      background:@activeColor;
-      border-radius:4px;
-      padding:7px 26px;
-      &.cancel{
+      background: @activeColor;
+      border-radius: 4px;
+      padding: 7px 26px;
+
+      &.cancel {
         background: #fff;
-        border:1px @activeColor solid;
-        color:@activeColor;
+        border: 1px @activeColor solid;
+        color: @activeColor;
         margin-left: 20px;
       }
-  }
+    }
   }
 }
 
-.red{
+.red {
   color: @warnColor;
 }
-.blue{
-  color:@activeColor;
+
+.blue {
+  color: @activeColor;
 }
+
 .alertModal {
   .modalBg {
     position: fixed;
@@ -239,8 +273,9 @@ textarea {
     right: 0px;
     bottom: 0px;
     background: rgba(0, 0, 0, .3);
-    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000,endColorstr=#88000000);
+    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000, endColorstr=#88000000);
   }
+
   .modalMain {
     width: 300px;
     // height: 200px;
@@ -253,13 +288,14 @@ textarea {
     border-radius: 4px;
     overflow: hidden;
   }
-  .title {
+  .titlemodal {
     border-bottom: 1px solid #eee;
     line-height: 40px;
     height: 40px;
     position: relative;
     padding-left: 15px;
     font-size: 14px;
+
     img {
       position: absolute;
       right: 0px;
@@ -267,14 +303,30 @@ textarea {
       cursor: pointer;
     }
   }
+
   .content {
     padding: 25px 15px 0 15px;
     font-size: 14px;
     text-align: center;
+
+    .warnimg {
+      width: 16px;
+      vertical-align: text-top;
+      margin-left: -18px;
+
+    }
+  }
+
+  .contentleft {
+    padding: 25px 30px 0 30px;
+    font-size: 14px;
+    text-align: left;
   }
+
   .btns {
     height: 36px;
     text-align: center;
+
     span {
       border-radius: 5px;
       display: inline-block;
@@ -290,23 +342,37 @@ textarea {
       font-weight: 400;
       text-decoration: none;
     }
+
     .sure {
       background-color: @activeColor;
       border-color: #1E9FFF;
       color: #fff;
     }
+
     .quite {
       margin-left: 30px;
       margin-right: 30px;
     }
+
+    .gobackbtn {
+      float: right;
+      background-color: #1E9FFF !important;
+      border-color: #1E9FFF !important;
+      color: #fff;
+      margin-right: 30px;
+
+
+    }
   }
 }
+
 .divModal {
   position: fixed;
   z-index: 9999;
   width: 100%;
   height: 100%;
 }
+
 .modaltip {
   position: fixed;
   top: 50%;
@@ -317,8 +383,9 @@ textarea {
   color: #fff;
   background: rgba(0, 0, 0, .6);
   transform: translateX(-50%) translateY(-50%);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000,endColorstr=#88000000);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000, endColorstr=#88000000);
 }
+
 .loading {
   position: fixed;
   width: 100%;
@@ -327,7 +394,8 @@ textarea {
   border-radius: 3px;
   color: #fff;
   background: rgba(0, 0, 0, 0);
-  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000,endColorstr=#88000000);
+  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#88000000, endColorstr=#88000000);
+
   img {
     position: fixed;
     top: 50%;
@@ -339,17 +407,23 @@ textarea {
   }
 }
 
-input::-webkit-input-placeholder{
-  color:#ccc;
+input::-webkit-input-placeholder {
+  color: #ccc;
 }
-input::-moz-placeholder{   /* Mozilla Firefox 19+ */
-  color:#ccc;
+
+input::-moz-placeholder {
+  /* Mozilla Firefox 19+ */
+  color: #ccc;
 }
-input:-moz-placeholder{    /* Mozilla Firefox 4 to 18 */
-  color:#ccc;
+
+input:-moz-placeholder {
+  /* Mozilla Firefox 4 to 18 */
+  color: #ccc;
 }
-input:-ms-input-placeholder{  /* Internet Explorer 10-11 */
-  color:#ccc;
+
+input:-ms-input-placeholder {
+  /* Internet Explorer 10-11 */
+  color: #ccc;
 }
 
 
@@ -358,9 +432,11 @@ input:-ms-input-placeholder{  /* Internet Explorer 10-11 */
   height: 10px;
   background-color: #EFF1F6;
 }
+
 .partTitleT {
   height: 44px;
 }
+
 .partTitle {
   position: fixed;
   top: 0;
@@ -376,26 +452,32 @@ input:-ms-input-placeholder{  /* Internet Explorer 10-11 */
   font-weight: normal;
   letter-spacing: 1px;
   min-width: 100px;
+
   p {
     display: inline-block;
     color: @titleColor;
+
     a {
       color: @titleColor;
       opacity: 70%;
     }
+
     span {
       color: @titleColor;
     }
+
     i {
       color: @titleColor;
     }
   }
+
   .dateDetail {
     font-size: 12px;
     color: #777777;
     margin-right: 30px;
     font-weight: normal;
   }
+
   .monthYear {
     float: right;
     margin-right: 20px;
@@ -406,6 +488,7 @@ input:-ms-input-placeholder{  /* Internet Explorer 10-11 */
     overflow: hidden;
     cursor: pointer;
     margin-top: 7px;
+
     span {
       width: 48px;
       height: 28px;
@@ -414,19 +497,24 @@ input:-ms-input-placeholder{  /* Internet Explorer 10-11 */
       text-align: center;
       font-weight: normal;
     }
+
     .year {
-      background-color: @activeColor;
-      color: #fff;
+      color: @activeColor;
     }
+
     .mon {
-      color: @activeColor;
+      background-color: @activeColor;
+      color: #fff;
     }
   }
 }
+
 .partTitlePub span {
-  color: @fstColor !important;
+  color: @fstColor  !important;
 }
+
 .filterBox {
+
   /*.filter {
     display: inline-block;
     width:60px;
@@ -440,22 +528,23 @@ input:-ms-input-placeholder{  /* Internet Explorer 10-11 */
     top: -1px;
     cursor: pointer;
   }*/
-  .filterclear{
-      display: inline-block;
-      width:60px;
-      height:30px;
-      background:#fff;
-      border-radius:4px;
-      color: #777;
-      border: 1px solid #777;
-      text-align: center;
-      line-height: 30px;
-      position: relative;
-      top: 2px;
-      cursor: pointer;
-      margin-left: 5px;
+  .filterclear {
+    display: inline-block;
+    width: 60px;
+    height: 30px;
+    background: #fff;
+    border-radius: 4px;
+    color: #777;
+    border: 1px solid #777;
+    text-align: center;
+    line-height: 30px;
+    position: relative;
+    top: 2px;
+    cursor: pointer;
+    margin-left: 5px;
   }
 }
+
 .filterclearT {
   height: 324x !important;
   line-height: 32px !important;
@@ -463,6 +552,7 @@ input:-ms-input-placeholder{  /* Internet Explorer 10-11 */
   position: relative;
   top: 2px !important;
 }
+
 .goHomeDetail {
   color: #00A1F0;
   cursor: pointer;
@@ -486,37 +576,50 @@ input:-ms-input-placeholder{  /* Internet Explorer 10-11 */
   float: left;
 }
 
-.filterItem,.patientNumInp,.filter,.moduleItemInp,.selectDept, .filterItem span {
+.filterItem,
+.patientNumInp,
+.filter,
+.moduleItemInp,
+.selectDept,
+.filterItem span {
   height: 34px !important;
   line-height: 34px !important;
   float: left;
 }
-.filterItem ,.filter {
+
+.filterItem,
+.filter {
   top: 0px !important;
   float: left !important;
 }
-.arrow{
+
+.arrow {
   top: 13px !important;
 }
 
 .filterDropList {
   top: 31px !important;
 }
+
 .toggleSlide p {
   border: 1px solid #506597 !important;
 }
+
 .emptyBoxHome {
   text-align: center;
   position: absolute;
   width: 100%;
   top: 50%;
   margin-top: -48px;
+
   img {
     width: 50px;
   }
+
   p {
     color: #637192;
     margin-top: 5px;
   }
 }
-@import './common.less';
+
+@import './common.less';

文件差異過大導致無法顯示
+ 1214 - 0
src/css/uncorrectedCasesStatisticsAdm.css


+ 362 - 0
src/css/uncorrectedCasesStatisticsAdm.less

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

+ 68 - 39
src/html/allotCheckTask.html

@@ -6,7 +6,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>分配核查任务</title>
-    
+
 </head>
 
 <body>
@@ -25,14 +25,29 @@
                     <div class="overAuto fl">
                         <div class="filterBox">
                             <div class="clearfix">
-                                <span class="filterItem">
+                                <span class="filterItem typeFilter deptListWrap">
+                                    <span style="overflow:hidden">病区:</span>
+                                    <span class="selectRegions">
+                                        <i>--</i>
+                                        <img class="arrow" src="./../images/arrow_down.png" alt="下拉">
+                                    </span>
+                                    <ul class="regionsList filterDropList"></ul>
+                                </span>
+                                <span class="filterItem typeFilter deptListWrap">
                                     <span>科室:</span>
                                     <span class="selectDept">
                                         <i>全部</i>
                                         <img class="arrow" src="./../images/arrow_down.png" alt="下拉">
                                     </span>
-                                    <ul class="deptList filterDropList">
-                                    </ul>
+                                    <ul class="deptList filterDropList"></ul>
+                                </span>
+                                <span class="filterItem typeFilter deptListWrap">
+                                    <span style="overflow:hidden">医疗组:</span>
+                                    <span class="selectMedoups">
+                                        <i>全部</i>
+                                        <img class="arrow" src="./../images/arrow_down.png" alt="下拉">
+                                    </span>
+                                    <ul class="medoupsList filterDropList"></ul>
                                 </span>
                                 <span class="filterItem">
                                     <span>核查员:</span>
@@ -48,13 +63,15 @@
                         <div class="table-cont">
                             <table class="qctable checkerTable">
                                 <thead>
-                                <tr class="tabTitle">
-                                    <th class="recordScoreOpera textCenter">操作</th>
-                                    <th class="textCenter" valCode="deptName">科室</th>
-                                    <th class="textCenter" valCode="doctorName">核查员</th>
-                                    <th class="textCenter" valCode="jobNum">待核查</th>
-                                    <th class="textCenter" valCode="checkNum">已核查</th>
-                                </tr>
+                                    <tr class="tabTitle">
+                                        <th class="recordScoreOpera textCenter">操作</th>
+                                        <th class="textCenter" valCode="wardName">病区</th>
+                                        <th class="textCenter" valCode="deptName">科室</th>
+                                        <th class="textCenter" valCode="medoupName">医疗组</th>
+                                        <th class="textCenter" valCode="doctorName">核查员</th>
+                                        <th class="textCenter" valCode="jobNum">待核查</th>
+                                        <th class="textCenter" valCode="checkNum">已核查</th>
+                                    </tr>
                                 </thead>
                                 <tbody class="tbody">
 
@@ -91,17 +108,21 @@
                                     <span>医生姓名:</span>
                                     <input code="doctorName" type="text" placeholder="医生姓名">
                                 </span>
-                                <span class="filterItem typeFilter clearfix" >
+                                <span class="filterItem typeFilter clearfix">
                                     <span class="fl">生成日期:</span>
-                                    <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" code="startTime" id="datepicker" autocomplete="off" readonly /></span>
-                                    <span  class="divide fl">-</span>
-                                    <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" code="endTime" id="datepicker2"  autocomplete="off" readonly/></span>
+                                    <span class="datapickerBox fl"><input type="text" placeholder="请选择时间"
+                                            code="startTime" id="datepicker" autocomplete="off" readonly /></span>
+                                    <span class="divide fl">-</span>
+                                    <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" code="endTime"
+                                            id="datepicker2" autocomplete="off" readonly /></span>
                                 </span>
-                                <span class="filterItem typeFilter clearfix" >
+                                <span class="filterItem typeFilter clearfix">
                                     <span class="fl">出院日期:</span>
-                                    <span class="datapickerBox fl"><input type="text" code="behosDateStart" placeholder="请选择时间" id="datepicker3" autocomplete="off" readonly /></span>
-                                    <span  class="divide fl">-</span>
-                                    <span class="datapickerBox fl"><input type="text" code="behosDateEnd" placeholder="请选择时间" id="datepicker4"  autocomplete="off" readonly/></span>
+                                    <span class="datapickerBox fl"><input type="text" code="behosDateStart"
+                                            placeholder="请选择时间" id="datepicker3" autocomplete="off" readonly /></span>
+                                    <span class="divide fl">-</span>
+                                    <span class="datapickerBox fl"><input type="text" code="behosDateEnd"
+                                            placeholder="请选择时间" id="datepicker4" autocomplete="off" readonly /></span>
                                 </span>
                                 <span class="filterItem patDeptFilter">
                                     <span>科室:</span>
@@ -121,16 +142,22 @@
                         <div class="patient-table-cont">
                             <table class="qctable patientTable">
                                 <thead>
-                                <tr class="tabTitle">
-                                    <th class="allCheck textCenter" style="width: 65px;"><img code="" src="../images/icon_dis.png" alt=""></th>
-                                    <th class="patientName textCenter" style="width: 100px;" valCode="name">病人姓名</th>
-                                    <th class="beHospitalId textCenter" valCode="behospitalCode">病人住院序号</th>
-                                    <th class="deptName textCenter" valCode="behospitalDept">科室</th>
-                                    <th class="doctorName textCenter" valCode="attendingDoctor">主管医生</th>
-                                    <th class="outHospitalDate textCenter" valCode="leaveHospitalDate" code="leaveHospitalDate">出院日期</th>
-                                    <th class="outHospitalDate textCenter desc" valCode="jobCreateTime" code="jobCreateTime">生成日期</th>
-                                    <th class="recordScore textCenter" valCode="value" code="value">筛选分值</th>
-                                </tr>
+                                    <tr class="tabTitle">
+                                        <th class="allCheck textCenter" style="width: 65px;"><img code=""
+                                                src="../images/icon_dis.png" alt=""></th>
+                                        <th class="patientName textCenter" style="width: 100px;" valCode="name">病人姓名
+                                        </th>
+                                        <th class="beHospitalId textCenter" valCode="behospitalCode">病人住院序号</th>
+                                        <th class="deptName textCenter" valCode="wardName">病区</th>
+                                        <th class="deptName textCenter" valCode="behospitalDept" code="behospitalDept">科室</th>
+                                        <th class="deptName textCenter" valCode="medoupName">医疗组</th>
+                                        <th class="doctorName textCenter" valCode="attendingDoctor">主管医生</th>
+                                        <th class="outHospitalDate textCenter" valCode="leaveHospitalDate"
+                                            code="leaveHospitalDate">出院日期</th>
+                                        <th class="outHospitalDate textCenter desc" valCode="jobCreateTime"
+                                            code="jobCreateTime">生成日期</th>
+                                        <th class="recordScore textCenter" valCode="value" code="value">筛选分值</th>
+                                    </tr>
                                 </thead>
                                 <tbody class="tbody">
 
@@ -158,16 +185,18 @@
                     <div class="task-table-cont">
                         <table class="qctable taskTable">
                             <thead>
-                            <tr class="tabTitle">
-                                <th class="patientName textCenter" style="width: 100px;" valCode="name">病人姓名</th>
-                                <th class="beHospitalId textCenter" valCode="behospitalCode">病人住院序号</th>
-                                <th class="deptName textCenter" valCode="behospitalDept">科室</th>
-                                <th class="doctorName textCenter" valCode="attendingDoctor">主管医生</th>
-                                <th class="outHospitalDate textCenter desc" valCode="leaveHospitalDate" code="leaveHospitalDate">出院日期</th>
-                                <th class="recordScore textCenter" valCode="value" code="value">筛选分值</th>
-                                <th class="recordScore textCenter" valCode="jobDistributorName" code="jobDistributorName">分配人</th>
-                                <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th>
-                            </tr>
+                                <tr class="tabTitle">
+                                    <th class="patientName textCenter" style="width: 100px;" valCode="name">病人姓名</th>
+                                    <th class="beHospitalId textCenter" valCode="behospitalCode">病人住院序号</th>
+                                    <th class="deptName textCenter" valCode="behospitalDept">科室</th>
+                                    <th class="doctorName textCenter" valCode="attendingDoctor">主管医生</th>
+                                    <th class="outHospitalDate textCenter desc" valCode="leaveHospitalDate"
+                                        code="leaveHospitalDate">出院日期</th>
+                                    <th class="recordScore textCenter" valCode="value" code="value">筛选分值</th>
+                                    <th class="recordScore textCenter" valCode="jobDistributorName"
+                                        code="jobDistributorName">分配人</th>
+                                    <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th>
+                                </tr>
                             </thead>
                             <tbody class="tbody">
 

+ 125 - 97
src/html/checkTaskList.html

@@ -10,106 +10,134 @@
 </head>
 
 <body>
-<div class="container qcList">
-    <h2>核查任务列表</h2>
-    <div class="main-body"><div class="filterBox">
-        <div class="clearfix">
-        <span class="filterItem">
-            <span>病历核查状态:</span>
-            <span class="selectStatus">全部</span>
-            <ul class="statusList filterDropList">
-                <Li class="statusItem" data-name="全部" data-id="">全部</Li>
-                <li class="statusItem" data-name="已核查" data-id='1'>已核查</li>
-                <li class="statusItem" data-name="未核查" data-id='0'>未核查</li>
-            </ul>
-        </span>
-            <span class="filterItem typeFilter deptListWrap">
-            <span>科室:</span>
-            <span class="selectDept">全部</span>
-            <!--<input type="text" code="behDeptId" class="selectDept canEditDept" value="全部">-->
-            <ul class="deptList filterDropList"></ul>
-        </span>
-            <span class="filterItem">
-            <span>病人姓名:</span>
-            <input type="text" code="name" placeholder="病人姓名">
-        </span>
-            <span class="filterItem">
-            <span>病人住院序号:</span>
-            <input type="text" code="behospitalCode" placeholder="病人住院序号">
-        </span>
-        <span class="filterItem">
-            <span>医生姓名:</span>
-            <input type="text" code="doctorName" placeholder="医生姓名">
-        </span>
-            <span class="filterItem">
-            <span>核查员:</span>
-            <input type="text" code="checkName" placeholder="核查员">
-        </span>
-        <span class="filterItem typeFilter clearfix" >
-            <span class="fl">分配日期:</span>
-            <span class="datapickerBox fl"><input type="text" code="jobDistributionTimeStart" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly /></span>
-            <span  class="divide fl">-</span>
-            <span class="datapickerBox fl"><input type="text" code="jobDistributionTimeEnd" 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="filterItem">
-            <span>任务来源:</span>
-            <span class="selectScore">
-                <i>全部</i>
-                <img class="arrow" src="./../images/arrow_down.png" alt="下拉">
-            </span>
-            <ul class="scoreList filterDropList">
+    <div class="container qcList">
+        <h2>核查任务列表</h2>
+        <div class="main-body">
+            <div class="filterBox">
+                <div class="clearfix">
+                    <span class="filterItem">
+                        <span>病历核查状态:</span>
+                        <span class="selectStatus">全部</span>
+                        <ul class="statusList filterDropList">
+                            <Li class="statusItem" data-name="全部" data-id="">全部</Li>
+                            <li class="statusItem" data-name="已核查" data-id='1'>已核查</li>
+                            <li class="statusItem" data-name="未核查" data-id='0'>未核查</li>
+                        </ul>
+                    </span>
+                    <span class="filterItem typeFilter deptListWrap">
+                        <span style="overflow:hidden">病区:</span>
+                        <span class="selectRegions">
+                            <i>--</i>
+                            <img class="arrow" src="./../images/arrow_down.png" alt="下拉">
+                        </span>
+                        <ul class="regionsList filterDropList"></ul>
+                    </span>
+                    <span class="filterItem typeFilter deptListWrap">
+                        <span>科室:</span>
+                        <span class="selectDept">
+                            <i>全部</i>
+                            <img class="arrow" src="./../images/arrow_down.png" alt="下拉">
+                        </span>
+                        <ul class="deptList filterDropList"></ul>
+                    </span>
+                    <span class="filterItem typeFilter deptListWrap">
+                        <span style="overflow:hidden">医疗组:</span>
+                        <span class="selectMedoups">
+                            <i>全部</i>
+                            <!-- <img class="arrow" src="./../images/arrow_down.png" alt="下拉"> -->
+                        </span>
+                        <ul class="medoupsList filterDropList"></ul>
+                    </span>
+                    <span class="filterItem">
+                        <span>病人姓名:</span>
+                        <input type="text" code="name" placeholder="病人姓名">
+                    </span>
+                    <span class="filterItem">
+                        <span>病人住院序号:</span>
+                        <input type="text" code="behospitalCode" placeholder="病人住院序号">
+                    </span>
+                    <span class="filterItem typeFilter">
+                        <span>病案号:</span>
+                        <input class="fileCodeNumInp" code="fileCode" style="width: 148px;" type="text" placeholder="请输入病案号">
+                    </span>
+                    <span class="filterItem">
+                        <span>医生姓名:</span>
+                        <input type="text" code="doctorName" placeholder="医生姓名">
+                    </span>
+                    <span class="filterItem">
+                        <span>核查员:</span>
+                        <input type="text" code="checkName" placeholder="核查员">
+                    </span>
+                    <span class="filterItem typeFilter clearfix">
+                        <span class="fl">分配日期:</span>
+                        <span class="datapickerBox fl"><input type="text" code="jobDistributionTimeStart"
+                                placeholder="请选择时间" id="datepicker" autocomplete="off" readonly /></span>
+                        <span class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" code="jobDistributionTimeEnd"
+                                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="filterItem">
+                        <span>任务来源:</span>
+                        <span class="selectScore">
+                            <i>全部</i>
+                            <img class="arrow" src="./../images/arrow_down.png" alt="下拉">
+                        </span>
+                        <ul class="scoreList filterDropList">
 
-            </ul>
-        </span>
-            <span class="filter">查询</span>
-            <span class="filterclear abnormalClear filterclearT">重置</span>
-            <!--<span class="export">导出</span>-->
-        </div>
+                        </ul>
+                    </span>
+                    <span class="filter">查询</span>
+                    <span class="filterclear abnormalClear filterclearT">重置</span>
+                    <!--<span class="export">导出</span>-->
+                </div>
 
-    </div>
-         <div class="overAuto">
-             <table class="qctable">
-                 <thead>
-                 <tr class="tabTitle">
-                     <th class="textCenter" code="behospitalCode">病人住院序号</th>
-                     <th class="scoreTime textCenter" code="jobTypeName">任务来源</th>
-                     <th class="scoreTime textCenter" code="jobCreateTime">任务月份</th>
-                     <th class="doctorName textCenter" code="status" >病历核查状态</th>
-                     <th class="deptName textCenter" code="behDeptName">科室</th>
-                     <th class="patientName textCenter" code="name"  style="width: 100px;">病人姓名</th>
-                     <th class="patientNo textCenter" code="fileCode" >病案号</th>
-                     <th class="doctorName textCenter" code="doctorName">主管医生</th>
-                     <th class="outHospitalDate textCenter" code="leaveHospitalDate" >出院日期</th>
-                     <th class="inHospitalDate textCenter desc" code="jobDistributionTime"  code="jobDistributionTime">分配日期</th>
-                     <th class="patientSex textCenter" code="checkTime" >核查日期</th>
-                     <th class="patientage textCenter" code="checkName">核查员</th>
-                     <th class="bedNum textCenter" code="casesEntryNum" >缺陷数</th>
-                     <th class="recordLevel textCenter" code="level" >病历等级</th>
-                     <th class="recordScore textCenter" code="scoreRes" >病历得分</th>
-                     <!-- <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th> -->
-                 </tr>
-                 </thead>
-                 <tbody class="tbody">
+            </div>
+            <div class="overAuto">
+                <table class="qctable">
+                    <thead>
+                        <tr class="tabTitle">
+                            <th class="textCenter" code="behospitalCode">病人住院序号</th>
+                            <th class="scoreTime textCenter" code="jobTypeName">任务来源</th>
+                            <th class="scoreTime textCenter" code="jobCreateTime">任务月份</th>
+                            <th class="doctorName textCenter" code="status">病历核查状态</th>
+                            <th class="deptName textCenter" code="wardName">病区</th>
+                            <th class="deptName textCenter" code="behDeptName">科室</th>
+                            <th class="deptName textCenter" code="medoupName">医疗组</th>
+                            <th class="patientName textCenter" code="name" style="width: 100px;">病人姓名</th>
+                            <th class="patientNo textCenter" code="fileCode">病案号</th>
+                            <th class="doctorName textCenter" code="doctorName">主管医生</th>
+                            <th class="outHospitalDate textCenter" code="leaveHospitalDate">出院日期</th>
+                            <th class="inHospitalDate textCenter desc" code="jobDistributionTime"
+                                code="jobDistributionTime">分配日期</th>
+                            <th class="patientSex textCenter" code="checkTime">核查日期</th>
+                            <th class="patientage textCenter" code="checkName">核查员</th>
+                            <th class="bedNum textCenter" code="casesEntryNum">缺陷数</th>
+                            <th class="recordLevel textCenter" code="level">病历等级</th>
+                            <th class="recordScore textCenter" code="scoreRes">病历得分</th>
+                            <!-- <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th> -->
+                        </tr>
+                    </thead>
+                    <tbody class="tbody">
 
-                 </tbody>
-                 <tfoot>
-                 </tfoot>
-             </table>
-         </div>
-         <div class="pagination"></div>
-     </div>
-</div>
+                    </tbody>
+                    <tfoot>
+                    </tfoot>
+                </table>
+            </div>
+            <div class="pagination"></div>
+        </div>
+    </div>
 </body>
 
 </html>

+ 65 - 40
src/html/creatCheckTask.html

@@ -6,7 +6,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>生成核查任务</title>
-    
+
 </head>
 
 <body>
@@ -15,11 +15,13 @@
         <div class="main-body">
             <div class="filterBox">
                 <div class="clearfix">
-                     <span class="filterItem typeFilter clearfix" >
+                    <span class="filterItem typeFilter clearfix">
                         <span class="fl">出院日期:</span>
-                        <span class="datapickerBox fl"><input type="text" code="startDate" placeholder="请选择时间" id="datepicker" autocomplete="off"/></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" code="endDate" placeholder="请选择时间" id="datepicker2"  autocomplete="off"/></span>
+                        <span class="datapickerBox fl"><input type="text" code="startDate" placeholder="请选择时间"
+                                id="datepicker" autocomplete="off" /></span>
+                        <span class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" code="endDate" placeholder="请选择时间"
+                                id="datepicker2" autocomplete="off" /></span>
                     </span>
                     <span class="filterItem">
                         <span>生成状态:</span>
@@ -40,7 +42,19 @@
                         <span>病人住院序号:</span>
                         <input class="patientNumInp" code="behospitalCode" type="text" placeholder="病人住院序号">
                     </span>
-                     <span class="filterItem typeFilter deptListWrap">
+                    <span class="filterItem typeFilter">
+                        <span>病案号:</span>
+                        <input class="fileCodeNumInp" code="fileCode" style="width: 148px;" type="text" placeholder="请输入病案号">
+                    </span>
+                    <span class="filterItem typeFilter deptListWrap">
+                        <span style="overflow:hidden">病区:</span>
+                        <span class="selectRegions">
+                            <i>--</i>
+                            <img class="arrow" src="./../images/arrow_down.png" alt="下拉">
+                        </span>
+                        <ul class="regionsList filterDropList"></ul>
+                    </span>
+                    <span class="filterItem typeFilter deptListWrap">
                         <span>科室:</span>
                         <span class="selectDept">
                             <i>全部</i>
@@ -48,10 +62,18 @@
                         </span>
                         <ul class="deptList filterDropList"></ul>
                     </span>
+                    <span class="filterItem typeFilter deptListWrap">
+                        <span style="overflow:hidden">医疗组:</span>
+                        <span class="selectMedoups">
+                            <i>全部</i>
+                            <img class="arrow" src="./../images/arrow_down.png" alt="下拉">
+                        </span>
+                        <ul class="medoupsList filterDropList"></ul>
+                    </span>
                     <span class="filterItem typeFilter">
                         <span>住院天数:</span>
-                        <input class="mini-inp dayMin" code="smallDay" type="text"> -
-                        <input class="mini-inp dayMax" code="bigDay" type="text"> 天
+                        <input class="mini-inp dayMin" code="smallDay" type="number" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"> -
+                        <input class="mini-inp dayMax" code="bigDay" type="number" onkeyup="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}" onafterpaste="if(this.value.length==1){this.value=this.value.replace(/[^1-9]/g,'')}else{this.value=this.value.replace(/\D/g,'')}"> 天
                     </span>
                     <span class="filterItem typeFilter">
                         <span>医生姓名:</span>
@@ -61,7 +83,7 @@
                         <span>主诊断:</span>
                         <input class="mainDiag" code="diagnose" type="text" placeholder="主诊断">
                     </span>
-                     <span class="filterItem">
+                    <span class="filterItem">
                         <span>病历等级:</span>
                         <span class="selectLevel">
                             <i>全部</i>
@@ -100,39 +122,42 @@
                 </div>
                 <button class="creatTask">生成任务</button>
                 <button class="cancelTask disabled">取消任务</button>
-            <div class="overAuto">
-                <table class="qctable">
-                    <thead>
-                    <tr class="tabTitle">
-                        <th class="allCheck textCenter" style="width: 65px;"><img code="" src="../images/icon_dis.png" alt=""></th>
-                        <th class="beHospitalId textCenter" code="behospitalCode">病人住院序号</th>
-                        <th class="patientName textCenter" code="name" style="width: 100px;">病人姓名</th>
-                        <th class="patientNo textCenter" code="fileCode">病案号</th>
-                        <th class="patientSex textCenter" code="sex">性别</th>
-                        <th class="patientage textCenter" code="age">年龄</th>
-                        <th class="bedNum textCenter" code="behDeptName">科室</th>
-                        <th class="outHospitalDate textCenter desc" code="leaveHospitalDate">出院日期</th>
-                        <th class="inHospitalDate textCenter" code="behospitalDayNum">住院天数</th>
-                        <th class="doctorName textCenter" code="doctorName">主管医生</th>
-                        <th class="recordLevel textCenter" code="level">病历等级</th>
-                        <th class="diagnose textCenter" code="diagnose">主诊断</th>
-                        <th class="doctorName textCenter" code="score">筛选分值</th>
-                        <th class="doctorName textCenter" code="creatStatus">生成状态</th>
-                        <th class="doctorName textCenter" code="jobCreatorName">生成人</th>
-                        <th class="deptName textCenter" code="jobCreateTime">生成日期</th>
-                        <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th>
-                    </tr>
-                    </thead>
-                    <tbody class="tbody">
+                <div class="overAuto">
+                    <table class="qctable">
+                        <thead>
+                            <tr class="tabTitle">
+                                <th class="allCheck textCenter" style="width: 65px;"><img code=""
+                                        src="../images/icon_dis.png" alt=""></th>
+                                <th class="beHospitalId textCenter" code="behospitalCode">病人住院序号</th>
+                                <th class="patientName textCenter" code="name" style="width: 100px;">病人姓名</th>
+                                <th class="patientNo textCenter" code="fileCode">病案号</th>
+                                <th class="patientSex textCenter" code="sex">性别</th>
+                                <th class="patientage textCenter" code="age">年龄</th>
+                                <th class="bedNum textCenter" code="wardName">病区</th>
+                                <th class="bedNum textCenter" code="behDeptName">科室</th>
+                                <th class="bedNum textCenter" code="medoupName">医疗组</th>
+                                <th class="outHospitalDate textCenter desc" code="leaveHospitalDate">出院日期</th>
+                                <th class="inHospitalDate textCenter" code="behospitalDayNum">住院天数</th>
+                                <th class="doctorName textCenter" code="doctorName">主管医生</th>
+                                <th class="recordLevel textCenter" code="level">病历等级</th>
+                                <th class="diagnose textCenter" code="diagnose">主诊断</th>
+                                <th class="doctorName textCenter" code="score">筛选分值</th>
+                                <th class="doctorName textCenter" code="creatStatus">生成状态</th>
+                                <th class="doctorName textCenter" code="jobCreatorName">生成人</th>
+                                <th class="deptName textCenter" code="jobCreateTime">生成日期</th>
+                                <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th>
+                            </tr>
+                        </thead>
+                        <tbody class="tbody">
 
-                    </tbody>
-                    <tfoot>
-                    </tfoot>
-                </table>
-            </div>
+                        </tbody>
+                        <tfoot>
+                        </tfoot>
+                    </table>
+                </div>
 
-            <div class="pagination"></div>
-        </div>
+                <div class="pagination"></div>
+            </div>
         </div>
     </div>
     <div class="modal-container">

+ 118 - 92
src/html/dept/qcListCopyDept.html

@@ -13,114 +13,140 @@
         <!-- <h2>质控评分</h2>控制台 / 条目缺陷占比 / 缺陷详情 -->
         <div class="partTitle">
             <p class="titlePic"></p>
-          </div>
+        </div>
         <div class="main-body">
             <div class="filterBox">
                 <div class="clearfix">
+                    <span class="filterItem typeFilter">
+                        <span>病区:</span>
+                        <div type="text" class="selectRegions canEditDept" value="全部">全部</div>
+                        <ul class="regionsList filterDropList"></ul>
+                    </span>
                     <span class="filterItem typeFilter deptListWrap">
                         <span>科室:</span>
                         <div type="text" class="selectDept canEditDept" value="全部"></div>
                         <ul class="deptList filterDropList"></ul>
                     </span>
-                    <span class="filterItem typeFilter clearfix" >
-                        <span class="fl">出院日期:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/></span>
-                    </span>
-                    <span class="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" 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>
+                        <div type="text" class="selectMedoups canEditDept" value="全部">全部</div>
+                        <ul class="medoupsList filterDropList"></ul>
                     </span>
-                    <span class="filterItem doctorFilter">
-                        <span>医生姓名:</span>
-                        <input class="doctorInp" type="text" placeholder="请输入医生姓名">
-                    </span>
-                    <span class="filterItem doctorFilter">
-                        <span>医生工号:</span>
-                        <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
-                    </span>
-                    <span class="filterItem filterHide fpFilterItem">
-                        <span>病案首页核查状态:</span>
-                        <span class="fpSelectCheck">全部</span>
-                        <ul class="checkList filterDropList fpCheckList">
-                            <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
-                            <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
-                            <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
-                        </ul>
-                    </span>
-                    <span class="filterItem filterHide doctorFilter fpFilterItem">
-                        <span>病案首页核查人:</span>
-                        <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
-                    </span>
-                    <span class="filterItem filterHide typeFilter clearfix" >
-                        <span class="fl">病案首页核查时间:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"  autocomplete="off" readonly/></span>
-                    </span>
-                    <span class="filterItem qcFiliterItem">
-                        <span>病历核查状态:</span>
-                        <span class="qcSelectCheck">全部</span>
-                        <ul class="checkList filterDropList qcCheckList">
-                            <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
-                            <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
-                            <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
-                        </ul>
-                    </span>
-                    <span class="filterItem doctorFilter qcFiliterItem">
-                        <span>病历核查人:</span>
-                        <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
-                    </span>
-                    <span class="filterItem typeFilter clearfix qcFiliterItem" >
-                        <span class="fl">病历核查时间:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"  autocomplete="off" readonly/></span>
+                    <span class="filterItem typeFilter clearfix">
+                        <span class="fl">出院日期:</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker"
+                                autocomplete="off" readonly /></span>
+                        <span class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"
+                                autocomplete="off" readonly /></span>
                     </span>
-                    <span class="filterItem doctorFilter defectItem">
-                        <span>缺陷名称:</span>
-                        <span class="selectDefect"> 
-                        
+                    <div class="toggle-item clearfix">
+                        <span class="filterItem typeFilter">
+                            <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>病人姓名:</span>
+                            <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
                         </span>
-                        <!-- <input class="doctorInp" type="text" placeholder="请输入医生姓名"> -->
-                    </span>
-                    <span class="filterItem doctorFilter qcFiliterItem">
-                        <span>主诊断:</span>
-                        <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+                        <span class="filterItem typeFilter">
+                            <span>病人住院序号:</span>
+                            <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                        </span>
+                        <span class="filterItem doctorFilter">
+                            <span>医生姓名:</span>
+                            <input class="doctorInp" type="text" placeholder="请输入医生姓名">
+                        </span>
+                        <span class="filterItem doctorFilter">
+                            <span>医生工号:</span>
+                            <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
+                        </span>
+                        <span class="filterItem filterHide fpFilterItem">
+                            <span>病案首页核查状态:</span>
+                            <span class="fpSelectCheck">全部</span>
+                            <ul class="checkList filterDropList fpCheckList">
+                                <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
+                                <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                                <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
+                            </ul>
+                        </span>
+                        <span class="filterItem filterHide doctorFilter fpFilterItem">
+                            <span>病案首页核查人:</span>
+                            <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
+                        </span>
+                        <span class="filterItem filterHide typeFilter clearfix">
+                            <span class="fl">病案首页核查时间:</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1"
+                                    autocomplete="off" readonly /></span>
+                            <span class="divide fl">-</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"
+                                    autocomplete="off" readonly /></span>
+                        </span>
+                        <span class="filterItem qcFiliterItem">
+                            <span>病历核查状态:</span>
+                            <span class="qcSelectCheck">全部</span>
+                            <ul class="checkList filterDropList qcCheckList">
+                                <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
+                                <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                                <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
+                            </ul>
+                        </span>
+                        <span class="filterItem doctorFilter qcFiliterItem">
+                            <span>病历核查人:</span>
+                            <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
+                        </span>
+                        <span class="filterItem typeFilter clearfix qcFiliterItem">
+                            <span class="fl">病历核查时间:</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1"
+                                    autocomplete="off" readonly /></span>
+                            <span class="divide fl">-</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"
+                                    autocomplete="off" readonly /></span>
+                        </span>
+                        <span class="filterItem doctorFilter defectItem">
+                            <span>缺陷名称:</span>
+                            <span class="selectDefect">
+
+                            </span>
+                            <!-- <input class="doctorInp" type="text" placeholder="请输入医生姓名"> -->
+                        </span>
+                        <span class="filterItem doctorFilter qcFiliterItem">
+                            <span>主诊断:</span>
+                            <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+                        </span>
+                        <span class="filterItem typeFilter clearfix">
+                            <span class="filter">查询</span>
+                            <span class="filterclear abnormalClear filterclearT">重置</span>
+                            <span class="export">导出</span>
+                            <a href="javascript:void(0);" class="filter-toggler up" id="filterToggler">收起筛选</a>
+                        </span>
+                    </div>
+                    <span class="filterToggler2">
+                        <span class="filter">查询</span>
+                        <span class="filterclear abnormalClear filterclearT">重置</span>
+                        <span class="export">导出</span>
+                        <a href="javascript:void(0);" class="filter-toggler" id="filterToggler2">展开筛选</a>
                     </span>
-                    
+
                 </div>
+
+
             </div>
             <div class="overAuto">
                 <table class="qctable">
                     <thead>
-                    <tr class="tabOpera">
-                        
-                    </tr>
-                    <tr class="tabTitle">
-                        <!-- <th class="textCenter" ></th>
+                        <tr class="tabOpera">
+
+                        </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>
@@ -138,13 +164,13 @@
                         <th class="recordLevel textCenter" code="level">病历等级</th>
                         <th class="recordScore textCenter" code="score_res">病历得分</th>
                         <th class="scoreTime textCenter" code="grade_time">评分时间</th> -->
-                    </tr>
+                        </tr>
                     </thead>
                     <tbody class="tbody">
 
                     </tbody>
                     <tfoot>
-                        
+
                     </tfoot>
                 </table>
             </div>

+ 115 - 91
src/html/dept/qcListCopyUnqualifiedDept.html

@@ -6,7 +6,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>病历质控评分</title>
-    
+
 </head>
 
 <body>
@@ -14,113 +14,137 @@
         <!-- <h2>质控评分</h2>控制台 / 条目缺陷占比 / 缺陷详情 -->
         <div class="partTitle">
             <p class="titlePic"></p>
-          </div>
+        </div>
         <div class="main-body">
             <div class="filterBox">
                 <div class="clearfix">
+                    <span class="filterItem typeFilter">
+                        <span>病区:</span>
+                        <div type="text" class="selectRegions canEditDept" value="全部">全部</div>
+                        <ul class="regionsList filterDropList"></ul>
+                    </span>
                     <span class="filterItem typeFilter">
                         <span>科室:</span>
                         <div type="text" class="selectDept canEditDept" value="全部"></div>
                         <ul class="deptList filterDropList"></ul>
                     </span>
-                    <span class="filterItem typeFilter clearfix" >
-                        <span class="fl">出院日期:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/></span>
-                    </span>
-                    <span class="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" id="filterToggler">展开筛选</a>
-                <div class="toggle-item clearfix">
                     <span class="filterItem typeFilter">
-                        <span>病人姓名:</span>
-                        <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
-                    </span>
-                    <span class="filterItem typeFilter">
-                        <span>病人住院序号:</span>
-                        <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
-                    </span>
-                    <span class="filterItem doctorFilter">
-                        <span>医生姓名:</span>
-                        <input class="doctorInp" type="text" placeholder="请输入医生姓名">
-                    </span>
-                    <span class="filterItem doctorFilter">
-                        <span>医生工号:</span>
-                        <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
-                    </span>
-                    <span class="filterItem filterHide fpFilterItem">
-                        <span>病案首页核查状态:</span>
-                        <span class="fpSelectCheck">全部</span>
-                        <ul class="checkList filterDropList fpCheckList">
-                            <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
-                            <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
-                            <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
-                        </ul>
-                    </span>
-                    <span class="filterItem filterHide doctorFilter fpFilterItem">
-                        <span>病案首页核查人:</span>
-                        <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
-                    </span>
-                    <span class="filterItem filterHide typeFilter clearfix" >
-                        <span class="fl">病案首页核查时间:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"  autocomplete="off" readonly/></span>
-                    </span>
-                    <span class="filterItem qcFiliterItem">
-                        <span>病历核查状态:</span>
-                        <span class="qcSelectCheck">全部</span>
-                        <ul class="checkList filterDropList qcCheckList">
-                            <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
-                            <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
-                            <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
-                        </ul>
-                    </span>
-                    <span class="filterItem doctorFilter qcFiliterItem">
-                        <span>病历核查人:</span>
-                        <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
+                        <span>医疗组:</span>
+                        <div type="text" class="selectMedoups canEditDept" value="全部">全部</div>
+                        <ul class="medoupsList filterDropList"></ul>
                     </span>
-                    <span class="filterItem typeFilter clearfix qcFiliterItem" >
-                        <span class="fl">病历核查时间:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"  autocomplete="off" readonly/></span>
+                    <span class="filterItem typeFilter clearfix">
+                        <span class="fl">出院日期:</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker"
+                                autocomplete="off" readonly /></span>
+                        <span class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"
+                                autocomplete="off" readonly /></span>
                     </span>
-                    <span class="filterItem doctorFilter defectItem">
-                        <span>缺陷名称:</span>
-                        <span class="selectDefect"> 
-                        
+                    <div class="toggle-item clearfix">
+                        <span class="filterItem">
+                            <span>病历等级:</span>
+                            <span class="selectLevel">全部</span>
+                            <ul class="levelList filterDropList">
+                                <Li class="levelItem" data-name="全部" data-id="全部">全部</Li>
+                                <Li class="levelItem" data-name="未评分" data-id="未评分">未评分</Li>
+                                <Li class="levelItem" data-name="甲" data-id="甲">甲</Li>
+                                <li class="levelItem" data-name="乙" data-id=乙>乙</li>
+                                <li class="levelItem" data-name="丙" data-id=丙>丙</li>
+                            </ul>
                         </span>
-                        <!-- <input class="doctorInp" type="text" placeholder="请输入医生姓名"> -->
-                    </span>
-                    <span class="filterItem doctorFilter qcFiliterItem">
-                        <span>主诊断:</span>
-                        <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+                        <span class="filterItem typeFilter">
+                            <span>病人姓名:</span>
+                            <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+                        </span>
+                        <span class="filterItem typeFilter">
+                            <span>病人住院序号:</span>
+                            <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                        </span>
+                        <span class="filterItem doctorFilter">
+                            <span>医生姓名:</span>
+                            <input class="doctorInp" type="text" placeholder="请输入医生姓名">
+                        </span>
+                        <span class="filterItem doctorFilter">
+                            <span>医生工号:</span>
+                            <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
+                        </span>
+                        <span class="filterItem filterHide fpFilterItem">
+                            <span>病案首页核查状态:</span>
+                            <span class="fpSelectCheck">全部</span>
+                            <ul class="checkList filterDropList fpCheckList">
+                                <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
+                                <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                                <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
+                            </ul>
+                        </span>
+                        <span class="filterItem filterHide doctorFilter fpFilterItem">
+                            <span>病案首页核查人:</span>
+                            <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
+                        </span>
+                        <span class="filterItem filterHide typeFilter clearfix">
+                            <span class="fl">病案首页核查时间:</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1"
+                                    autocomplete="off" readonly /></span>
+                            <span class="divide fl">-</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"
+                                    autocomplete="off" readonly /></span>
+                        </span>
+                        <span class="filterItem qcFiliterItem">
+                            <span>病历核查状态:</span>
+                            <span class="qcSelectCheck">全部</span>
+                            <ul class="checkList filterDropList qcCheckList">
+                                <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
+                                <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                                <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
+                            </ul>
+                        </span>
+                        <span class="filterItem doctorFilter qcFiliterItem">
+                            <span>病历核查人:</span>
+                            <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
+                        </span>
+                        <span class="filterItem typeFilter clearfix qcFiliterItem">
+                            <span class="fl">病历核查时间:</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1"
+                                    autocomplete="off" readonly /></span>
+                            <span class="divide fl">-</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"
+                                    autocomplete="off" readonly /></span>
+                        </span>
+                        <span class="filterItem doctorFilter defectItem">
+                            <span>缺陷名称:</span>
+                            <span class="selectDefect">
+
+                            </span>
+                            <!-- <input class="doctorInp" type="text" placeholder="请输入医生姓名"> -->
+                        </span>
+                        <span class="filterItem doctorFilter qcFiliterItem">
+                            <span>主诊断:</span>
+                            <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+                        </span>
+                        <span class="filterItem typeFilter clearfix">
+                            <span class="filter">查询</span>
+                            <span class="filterclear abnormalClear filterclearT">重置</span>
+                            <span class="export">导出</span>
+                            <a href="javascript:void(0);" class="filter-toggler up" id="filterToggler">收起筛选</a>
+                        </span>
+                    </div>
+                    <span class="filterToggler2">
+                        <span class="filter">查询</span>
+                        <span class="filterclear abnormalClear filterclearT">重置</span>
+                        <span class="export">导出</span>
+                        <a href="javascript:void(0);" class="filter-toggler" id="filterToggler2">展开筛选</a>
                     </span>
-                    
                 </div>
+
             </div>
             <div class="overAuto">
                 <table class="qctable">
                     <thead>
-                    <tr class="tabOpera">
-                    </tr>
-                    <tr class="tabTitle">
-                        <!-- <th class="textCenter" ></th>
+                        <tr class="tabOpera">
+                        </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>
@@ -138,7 +162,7 @@
                         <th class="recordLevel textCenter" code="level">病历等级</th>
                         <th class="recordScore textCenter" code="score_res">病历得分</th>
                         <th class="scoreTime textCenter" code="grade_time">评分时间</th> -->
-                    </tr>
+                        </tr>
                     </thead>
                     <tbody class="tbody">
 

+ 129 - 101
src/html/dept/qcListOutHospitalDept.html

@@ -6,7 +6,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>病历质控评分</title>
-    
+
 </head>
 
 <body>
@@ -14,123 +14,151 @@
         <!-- <h2>质控评分</h2>控制台 / 条目缺陷占比 / 缺陷详情 -->
         <div class="partTitle">
             <p class="titlePic"></p>
-          </div>
+        </div>
         <div class="main-body">
             <div class="filterBox">
                 <div class="clearfix">
+                    <span class="filterItem typeFilter">
+                        <span>病区:</span>
+                        <div type="text" class="selectRegions canEditDept" value="全部">全部</div>
+                        <ul class="regionsList filterDropList"></ul>
+                    </span>
                     <span class="filterItem typeFilter">
                         <span style="overflow:hidden">科室:</span>
                         <span class="selectDept ellipsis" data-id=""><i>--</i></span>
                         <ul class="deptList filterDropList">
-                            
-                        </ul>
-                    </span>
-                    <span class="filterItem inorout">
-                        <span>出院人数:</span>
-                        <span class="selectLeaveHosType">全部</span>
-                        <ul class="leaveHosTypeList filterDropList">
-                            <Li class="leaveHosTypeItem" data-name="全部" data-id="全部">全部</Li>
-                            <Li class="leaveHosTypeItem" data-name="死亡人数" data-id="1">死亡人数</Li>
-                            <!-- <Li class="leaveHosTypeItem" data-name="新生儿患者" data-id="2">新生儿患者</Li> -->
-                            <li class="leaveHosTypeItem" data-name="手术病人数" data-id="3">手术病人数</li>
-                            <!-- <li class="leaveHosTypeItem" data-name="非医嘱离院病人数" data-id="4">非医嘱离院病人数</li> -->
-                            <!-- <li class="leaveHosTypeItem" data-name="31日再入院病人人数" data-id="5">31日再入院病人人数</li> -->
-                        </ul>
-                    </span>
-                    <span class="filterItem typeFilter clearfix" >
-                        <span class="fl">出院日期:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/></span>
-                    </span>
-                    
-                    <span class="filter">查询</span>
-                    <span class="filterclear abnormalClear filterclearT">重置</span>
-                    <span class="export">导出</span>
-                </div>
-                <a href="javascript:void(0);" class="filter-toggler" id="filterToggler">展开筛选</a>
-                <div class="toggle-item clearfix">
-                    <span class="filterItem">
-                        <span>病历等级:</span>
-                        <span class="selectLevel">全部</span>
-                        <ul class="levelList filterDropList">
-                            <Li class="levelItem" data-name="全部" data-id="全部">全部</Li>
-                            <Li class="levelItem" data-name="未评分" data-id="未评分">未评分</Li>
-                            <Li class="levelItem" data-name="甲" data-id="甲">甲</Li>
-                            <li class="levelItem" data-name="乙" data-id="乙">乙</li>
-                            <li class="levelItem" data-name="丙" data-id="丙">丙</li>
+
                         </ul>
                     </span>
                     <span class="filterItem typeFilter">
-                        <span>病人姓名:</span>
-                        <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
-                    </span>
-                    <span class="filterItem typeFilter">
-                        <span>病人住院序号:</span>
-                        <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                        <span>医疗组:</span>
+                        <div type="text" class="selectMedoups canEditDept" value="全部">全部</div>
+                        <ul class="medoupsList filterDropList"></ul>
                     </span>
-                    <span class="filterItem doctorFilter">
-                        <span>医生姓名:</span>
-                        <input class="doctorInp" type="text" placeholder="请输入医生姓名">
-                    </span>
-                    <span class="filterItem doctorFilter">
-                        <span>医生工号:</span>
-                        <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
-                    </span>
-                    
-                    <span class="filterItem filterHide fpFilterItem">
-                        <span>病案首页核查状态:</span>
-                        <span class="fpSelectCheck">全部</span>
-                        <ul class="checkList filterDropList fpCheckList">
-                            <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
-                            <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
-                            <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
-                        </ul>
-                    </span>
-                    <span class="filterItem filterHide doctorFilter fpFilterItem">
-                        <span>病案首页核查人:</span>
-                        <input class="fpCheckPeople" type="text" placeholder=" 请输入核查人">
-                    </span>
-                    <span class="filterItem filterHide typeFilter clearfix" >
-                        <span class="fl">病案首页核查时间:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"  autocomplete="off" readonly/></span>
-                    </span>
-                    <span class="filterItem qcFiliterItem">
-                        <span>病历核查状态:</span>
-                        <span class="qcSelectCheck">全部</span>
-                        <ul class="checkList filterDropList qcCheckList">
-                            <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
-                            <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
-                            <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
-                        </ul>
-                    </span>
-                    <span class="filterItem doctorFilter qcFiliterItem">
-                        <span>病历核查人:</span>
-                        <input class="qcCheckPeople" type="text" placeholder=" 请输入核查人">
-                    </span>
-                    
-                    <span class="filterItem typeFilter clearfix qcFiliterItem" >
-                        <span class="fl">病历核查时间:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"  autocomplete="off" readonly/></span>
+
+                    <span class="filterItem typeFilter clearfix">
+                        <span class="fl">出院日期:</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker"
+                                autocomplete="off" readonly /></span>
+                        <span class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"
+                                autocomplete="off" readonly /></span>
                     </span>
-                    <span class="filterItem doctorFilter qcFiliterItem">
-                        <span>主诊断:</span>
-                        <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+                    <div class="toggle-item clearfix">
+                        <span class="filterItem inorout">
+                            <span>出院人数:</span>
+                            <span class="selectLeaveHosType">全部</span>
+                            <ul class="leaveHosTypeList filterDropList">
+                                <Li class="leaveHosTypeItem" data-name="全部" data-id="全部">全部</Li>
+                                <Li class="leaveHosTypeItem" data-name="死亡人数" data-id="1">死亡人数</Li>
+                                <!-- <Li class="leaveHosTypeItem" data-name="新生儿患者" data-id="2">新生儿患者</Li> -->
+                                <li class="leaveHosTypeItem" data-name="手术病人数" data-id="3">手术病人数</li>
+                                <!-- <li class="leaveHosTypeItem" data-name="非医嘱离院病人数" data-id="4">非医嘱离院病人数</li> -->
+                                <!-- <li class="leaveHosTypeItem" data-name="31日再入院病人人数" data-id="5">31日再入院病人人数</li> -->
+                            </ul>
+                        </span>
+                        <span class="filterItem">
+                            <span>病历等级:</span>
+                            <span class="selectLevel">全部</span>
+                            <ul class="levelList filterDropList">
+                                <Li class="levelItem" data-name="全部" data-id="全部">全部</Li>
+                                <Li class="levelItem" data-name="未评分" data-id="未评分">未评分</Li>
+                                <Li class="levelItem" data-name="甲" data-id="甲">甲</Li>
+                                <li class="levelItem" data-name="乙" data-id="乙">乙</li>
+                                <li class="levelItem" data-name="丙" data-id="丙">丙</li>
+                            </ul>
+                        </span>
+                        <span class="filterItem typeFilter">
+                            <span>病人姓名:</span>
+                            <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+                        </span>
+                        <span class="filterItem typeFilter">
+                            <span>病人住院序号:</span>
+                            <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                        </span>
+                        <span class="filterItem typeFilter">
+                            <span>病案号:</span>
+                            <input class="fileCodeNumInp" style="width: 148px;" type="text" placeholder="请输入病案号">
+                        </span>
+                        <span class="filterItem doctorFilter">
+                            <span>医生姓名:</span>
+                            <input class="doctorInp" type="text" placeholder="请输入医生姓名">
+                        </span>
+                        <span class="filterItem doctorFilter">
+                            <span>医生工号:</span>
+                            <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
+                        </span>
+                        <span class="filterItem filterHide fpFilterItem">
+                            <span>病案首页核查状态:</span>
+                            <span class="fpSelectCheck">全部</span>
+                            <ul class="checkList filterDropList fpCheckList">
+                                <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
+                                <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                                <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
+                            </ul>
+                        </span>
+                        <span class="filterItem filterHide doctorFilter fpFilterItem">
+                            <span>病案首页核查人:</span>
+                            <input class="fpCheckPeople" type="text" placeholder=" 请输入核查人">
+                        </span>
+                        <span class="filterItem filterHide typeFilter clearfix">
+                            <span class="fl">病案首页核查时间:</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1"
+                                    autocomplete="off" readonly /></span>
+                            <span class="divide fl">-</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"
+                                    autocomplete="off" readonly /></span>
+                        </span>
+                        <span class="filterItem qcFiliterItem">
+                            <span>病历核查状态:</span>
+                            <span class="qcSelectCheck">全部</span>
+                            <ul class="checkList filterDropList qcCheckList">
+                                <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
+                                <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                                <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
+                            </ul>
+                        </span>
+                        <span class="filterItem doctorFilter qcFiliterItem">
+                            <span>病历核查人:</span>
+                            <input class="qcCheckPeople" type="text" placeholder=" 请输入核查人">
+                        </span>
+
+                        <span class="filterItem typeFilter clearfix qcFiliterItem">
+                            <span class="fl">病历核查时间:</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1"
+                                    autocomplete="off" readonly /></span>
+                            <span class="divide fl">-</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"
+                                    autocomplete="off" readonly /></span>
+                        </span>
+                        <span class="filterItem doctorFilter qcFiliterItem">
+                            <span>主诊断:</span>
+                            <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+                        </span>
+                        <span class="filterItem typeFilter clearfix">
+                            <span class="filter">查询</span>
+                            <span class="filterclear abnormalClear filterclearT">重置</span>
+                            <span class="export">导出</span>
+                            <a href="javascript:void(0);" class="filter-toggler up" id="filterToggler">收起筛选</a>
+                        </span>
+                    </div>
+                    <span class="filterToggler2">
+                        <span class="filter">查询</span>
+                        <span class="filterclear abnormalClear filterclearT">重置</span>
+                        <span class="export">导出</span>
+                        <a href="javascript:void(0);" class="filter-toggler" id="filterToggler2">展开筛选</a>
                     </span>
                 </div>
+
             </div>
             <div class="overAuto">
                 <table class="qctable">
                     <thead>
-                    <tr class="tabOpera">
+                        <tr class="tabOpera">
 
-                    </tr>
-                    <tr class="tabTitle">
-                        <!-- <th class="textCenter" ></th>
+                        </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>
@@ -148,13 +176,13 @@
                         <th class="recordLevel textCenter" code="level">病历等级</th>
                         <th class="recordScore textCenter" code="score_res">病历得分</th>
                         <th class="scoreTime textCenter" code="grade_time">评分时间</th> -->
-                    </tr>
+                        </tr>
                     </thead>
                     <tbody class="tbody">
 
                     </tbody>
                     <tfoot>
-                        
+
                     </tfoot>
                 </table>
             </div>

+ 92 - 112
src/html/dept/uccDeptDetail.html

@@ -1,69 +1,63 @@
 <!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 qcListCopy">
-      <!-- <h2>质控评分</h2>控制台 / 条目缺陷占比 / 缺陷详情 -->
-      <div class="partTitle">
-        <p class="titlePic"></p>
-      </div>
-      <div class="main-body">
-        <div class="filterBox">
-          <div class="clearfix">
-            <!-- <span class="filterItem typeFilter deptListWrap">
+<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 qcListCopy">
+    <!-- <h2>质控评分</h2>控制台 / 条目缺陷占比 / 缺陷详情 -->
+    <div class="partTitle">
+      <p class="titlePic"></p>
+    </div>
+    <div class="main-body">
+      <div class="filterBox">
+        <div class="clearfix">
+          <!-- <span class="filterItem typeFilter deptListWrap">
               <span>科室:</span>
               <input type="text" class="selectDept canEditDept" value="全部" />
               <ul class="deptList filterDropList"></ul>
             </span> -->
-            <span class="filterItem typeFilter deptListWrap">
-              <span style="overflow:hidden">科室:</span>
-              <span class="selectDept ellipsis" data-id=""><i>--</i></span>
-              <ul class="deptList filterDropList"></ul>
-            </span>
-            <span class="filterItem typeFilter clearfix">
-              <span class="fl">出院日期:</span>
-              <span class="datapickerBox fl">
-                <input
-                  type="text"
-                  placeholder="请选择时间"
-                  id="datepicker"
-                  autocomplete="off"
-                  readonly
-                />
-              </span>
-              <span class="divide fl">-</span>
-              <span class="datapickerBox fl">
-                <input
-                  type="text"
-                  placeholder="请选择时间"
-                  id="datepicker2"
-                  autocomplete="off"
-                  readonly
-                />
-              </span>
+          <span class="filterItem typeFilter">
+            <span>病区:</span>
+            <div type="text" class="selectRegions canEditDept" value="全部">全部</div>
+            <ul class="regionsList filterDropList"></ul>
+          </span>
+          <span class="filterItem typeFilter deptListWrap">
+            <span style="overflow:hidden">科室:</span>
+            <span class="selectDept ellipsis" data-id=""><i>--</i></span>
+            <ul class="deptList filterDropList"></ul>
+          </span>
+          <span class="filterItem typeFilter">
+            <span>医疗组:</span>
+            <div type="text" class="selectMedoups canEditDept" value="全部">全部</div>
+            <ul class="medoupsList filterDropList"></ul>
+          </span>
+          <span class="filterItem typeFilter clearfix">
+            <span class="fl">出院日期:</span>
+            <span class="datapickerBox fl">
+              <input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly />
             </span>
-            <span class="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 class="divide fl">-</span>
+            <span class="datapickerBox fl">
+              <input type="text" placeholder="请选择时间" id="datepicker2" autocomplete="off" readonly />
             </span>
-            <span class="filter">查询</span>
-            <span class="filterclear abnormalClear filterclearT">重置</span>
-            <span class="export">导出</span>
-          </div>
-          <a href="javascript:void(0);" class="filter-toggler" id="filterToggler">展开筛选</a>
+          </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>
           <div class="toggle-item clearfix">
             <span class="filterItem typeFilter">
               <span>病人姓名:</span>
@@ -71,12 +65,7 @@
             </span>
             <span class="filterItem typeFilter">
               <span>病人住院序号:</span>
-              <input
-                class="patientNumInp"
-                style="width: 148px;"
-                type="text"
-                placeholder="请输入病人住院序号"
-              />
+              <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号" />
             </span>
             <span class="filterItem doctorFilter">
               <span>医生姓名:</span>
@@ -103,23 +92,11 @@
             <span class="filterItem filterHide typeFilter clearfix">
               <span class="fl">病案首页核查时间:</span>
               <span class="datapickerBox fl">
-                <input
-                  type="text"
-                  placeholder="请选择时间"
-                  id="datepickerFp1"
-                  autocomplete="off"
-                  readonly
-                />
+                <input type="text" placeholder="请选择时间" id="datepickerFp1" autocomplete="off" readonly />
               </span>
               <span class="divide fl">-</span>
               <span class="datapickerBox fl">
-                <input
-                  type="text"
-                  placeholder="请选择时间"
-                  id="datepickerFp2"
-                  autocomplete="off"
-                  readonly
-                />
+                <input type="text" placeholder="请选择时间" id="datepickerFp2" autocomplete="off" readonly />
               </span>
             </span>
             <span class="filterItem qcFiliterItem">
@@ -138,23 +115,11 @@
             <span class="filterItem typeFilter clearfix qcFiliterItem">
               <span class="fl">病历核查时间:</span>
               <span class="datapickerBox fl">
-                <input
-                  type="text"
-                  placeholder="请选择时间"
-                  id="datepickerQc1"
-                  autocomplete="off"
-                  readonly
-                />
+                <input type="text" placeholder="请选择时间" id="datepickerQc1" autocomplete="off" readonly />
               </span>
               <span class="divide fl">-</span>
               <span class="datapickerBox fl">
-                <input
-                  type="text"
-                  placeholder="请选择时间"
-                  id="datepickerQc2"
-                  autocomplete="off"
-                  readonly
-                />
+                <input type="text" placeholder="请选择时间" id="datepickerQc2" autocomplete="off" readonly />
               </span>
             </span>
             <span class="filterItem doctorFilter">
@@ -166,21 +131,35 @@
               <span>主诊断:</span>
               <input class="qcCheckMain" type="text" placeholder="请输入主诊断" />
             </span>
+            <span class="filterItem typeFilter clearfix">
+              <span class="filter">查询</span>
+              <span class="filterclear abnormalClear filterclearT">重置</span>
+              <span class="export">导出</span>
+              <a href="javascript:void(0);" class="filter-toggler up" id="filterToggler">收起筛选</a>
+            </span>
           </div>
+          <span class="filterToggler2">
+            <span class="filter">查询</span>
+            <span class="filterclear abnormalClear filterclearT">重置</span>
+            <span class="export">导出</span>
+            <a href="javascript:void(0);" class="filter-toggler" id="filterToggler2">展开筛选</a>
+          </span>
         </div>
-        <div class="overAuto">
-          <table class="qctable">
-            <thead>
-              <tr class="tabOpera">
-                <!-- <td colspan="18" style="background: #fff">
+
+      </div>
+      <div class="overAuto">
+        <table class="qctable">
+          <thead>
+            <tr class="tabOpera">
+              <!-- <td colspan="18" style="background: #fff">
                             <div class="tabFoot">
                                 <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../../images/icon_unchecked.png" alt="checkbox">全选</span>
                                 <span class="recordScoreBtn">评分</span>
                             </div>
                         </td> -->
-              </tr>
-              <tr class="tabTitle">
-                <!-- <th class="textCenter" ></th>
+            </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>
@@ -198,11 +177,11 @@
                         <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>
+            </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>
@@ -210,17 +189,18 @@
                                 </div>
                             </td>
                         </tr> -->
-            </tfoot>
-          </table>
-        </div>
+          </tfoot>
+        </table>
+      </div>
 
-        <!--<div class="tabFoot">
+      <!--<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 class="pagination"></div>
     </div>
-  </body>
-</html>
+  </div>
+</body>
+
+</html>

+ 91 - 85
src/html/deptConsole.html

@@ -1,11 +1,13 @@
 <!DOCTYPE html>
 <html lang="en">
+
 <head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Document</title>
 </head>
-<body >
+
+<body>
   <div class="console deptConsole">
     <div class="partDept">
       <ul class="clearfix">
@@ -14,91 +16,94 @@
           <div class="monthYear clearfix">
             <span class="mon">本月</span>
             <span class="year">本年</span>
-          </div> 
+          </div>
+
           <div class="toggleSlide deptConsoleLis fr">
             <p><span>--</span><img src="../images/arrow_down1.png" alt=""> </p>
             <ul>
-              
+
             </ul>
           </div>
           <div class="dateDetail fr">
-            
+
           </div>
           <span class="dataSelectDark filterItem typeFilter clearfix">
-              <!-- <span class="fl">出院日期:</span> -->
-              <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly/><img class="iconCalen" src="../images/icon_calen_grey.png" /></span>
-              <span class="divide fl">-</span>
-              <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/><img class="iconCalen" src="../images/icon_calen_grey.png" /></span>
-              <span class="sureDate">查询</span>
+            <!-- <span class="fl">出院日期:</span> -->
+            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off"
+                readonly /><img class="iconCalen" src="../images/icon_calen_grey.png" /></span>
+            <span class="divide fl">-</span>
+            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2" autocomplete="off"
+                readonly /><img class="iconCalen" src="../images/icon_calen_grey.png" /></span>
+            <span class="sureDate">查询</span>
           </span>
         </div>
         <div class="partTitleT"></div>
         <!--<div class="grayLine"></div>-->
         <div class="partWrap clearfix">
-            <div class="part01 fl">
-              <p class="partTitlePub clearfix numCheck">
-                <span class="name"></span>
-                <span class="personNum"></span>
-              </p>
-              <div class="chuyuan" id="chuyuan">
+          <div class="part01 fl">
+            <p class="partTitlePub clearfix numCheck">
+              <span class="name"></span>
+              <span class="personNum"></span>
+            </p>
+            <div class="chuyuan" id="chuyuan">
+
+            </div>
+            <div class="chuyuanEmpty"></div>
+            <div class="defect">
+              <p class="partTitlePub">各模块缺陷占比排名 <img class="detailGo" src="../images/details.png" alt=""></p>
+              <div class="list">
+                <table class="qtable">
+
+                </table>
+                <div class="qtableEmpty">
 
-              </div>
-              <div class="chuyuanEmpty"></div>
-              <div class="defect">
-                <p class="partTitlePub">各模块缺陷占比排名 <img class="detailGo" src="../images/details.png" alt=""></p>
-                <div class="list">
-                  <table class="qtable">
-        
-                  </table>
-                  <div class="qtableEmpty">
-      
-                  </div>
                 </div>
               </div>
             </div>
-            <div class="part02 fl">
-              <div class="bldjs">
-                <ul class="bingli clearfix">
-                  <li class="fst">
-                    <p class="numShow"></p>
-                    <p class="explainNum">累计质控病历数</p>
-                  </li>
-                  <li class="sec">
-                    <p class="numShow"></p>
-                    <p class="explainNum">甲级病历</p>
-                  </li>
-                  <li class="sec">
-                    <p class="numShow"></p>
-                    <p class="explainNum">乙级病历</p>
-                  </li>
-                  <li class="four sec">
-                    <p class="numShow"></p>
-                    <p class="explainNum">丙级病历</p>
-                  </li>
-                </ul>
-                <div class="bingliLis clearfix">
-                  <p>病历评分等级占比 <img class="detailGo" src="../images/details.png" alt=""></p>
-                  <div class="panPartPub panPart02">
-                    <div class="fen" id="fen01"></div>
-                    <p>甲级占比</p>
-                  </div>
-                  <div class="panPartPub panPart01">
-                    <div class="fen" id="fen02"></div>
-                    <p>乙级占比</p>
-                  </div>
-                  <div class="panPartPub panPart03">
-                    <div class="fen" id="fen03"></div>
-                    <p>丙级占比</p>
-                  </div>
+          </div>
+          <div class="part02 fl">
+            <div class="bldjs">
+              <ul class="bingli clearfix">
+                <li class="fst">
+                  <p class="numShow"></p>
+                  <p class="explainNum">累计质控病历数</p>
+                </li>
+                <li class="sec">
+                  <p class="numShow"></p>
+                  <p class="explainNum">甲级病历</p>
+                </li>
+                <li class="sec">
+                  <p class="numShow"></p>
+                  <p class="explainNum">乙级病历</p>
+                </li>
+                <li class="four sec">
+                  <p class="numShow"></p>
+                  <p class="explainNum">丙级病历</p>
+                </li>
+              </ul>
+              <div class="bingliLis clearfix">
+                <p>病历评分等级占比 <img class="detailGo" src="../images/details.png" alt=""></p>
+                <div class="panPartPub panPart02">
+                  <div class="fen" id="fen01"></div>
+                  <p>甲级占比</p>
                 </div>
-              </div>
-              <div class="pingfendengji">
-                <p class="title">病历评分数据</p>
-                <div class="pingfendengjiEmpty">
-      
+                <div class="panPartPub panPart01">
+                  <div class="fen" id="fen02"></div>
+                  <p>乙级占比</p>
+                </div>
+                <div class="panPartPub panPart03">
+                  <div class="fen" id="fen03"></div>
+                  <p>丙级占比</p>
                 </div>
               </div>
-              <!-- <div class="circleB circleBSingle clearfix">
+            </div>
+            <div class="pingfendengji">
+              <p class="title">病历评分数据</p>
+              <div class="pingfendengjiEmpty">
+
+              </div>
+            </div>
+            <!-- <div class="circleB circleBSingle clearfix">
                 <p class="title">条目缺陷占比 <img class="detailGo" src="../images/details.png" alt=""></p>
                 <div class="emptyCircleBData">
                   <div id="emptyCircleB" class="emptyCircle"></div>
@@ -112,32 +117,33 @@
       
                 </div>
               </div> -->
-              <div class="circleBLis">
-                <div class="circleB homePage clearfix">
-                  <p class="title title24">病案首页合格率占比 <img class="detailGo" src="../images/details.png" alt=""></p>
-                  <div id="lineChart" class="emptyCircle emptyLineCircle"></div>
-                  <div class="emptyLineCircleEmpty"></div>
-                </div>
-                <div class="circleB homePageNo clearfix">
-                  <p class="title">条目缺陷占比 <img class="detailGo" src="../images/details.png" alt=""></p>
-                  <div class="emptyCircleBDatas">
-                    <div id="emptyCircleBc" class="emptyCircle"></div>
-                    <div class="explainPan explainPanc explainPanBc">
-                      <table>
-                        
-                      </table>
-                    </div>
-                  </div>
-                  <div class="emptyCircleBWraps">
-      
+            <div class="circleBLis">
+              <div class="circleB homePage clearfix">
+                <p class="title title24">病案首页合格率占比 <img class="detailGo" src="../images/details.png" alt=""></p>
+                <div id="lineChart" class="emptyCircle emptyLineCircle"></div>
+                <div class="emptyLineCircleEmpty"></div>
+              </div>
+              <div class="circleB homePageNo clearfix">
+                <p class="title">条目缺陷占比 <img class="detailGo" src="../images/details.png" alt=""></p>
+                <div class="emptyCircleBDatas">
+                  <div id="emptyCircleBc" class="emptyCircle"></div>
+                  <div class="explainPan explainPanc explainPanBc">
+                    <table>
+
+                    </table>
                   </div>
                 </div>
-      
+                <div class="emptyCircleBWraps">
+
+                </div>
               </div>
+
             </div>
+          </div>
         </div>
       </ul>
     </div>
   </div>
 </body>
+
 </html>

+ 12 - 0
src/html/index.html

@@ -70,6 +70,16 @@
 </script>
 <body>
   <div class="container">
+    <!-- <div class="dialog">
+        <div class="content">
+            <div class="diatop">
+                <div class="">提示</div>
+                <div>X</div>
+            </div>
+            <div class="diatips">重新登录</div>
+            <div class="tologin"><a href=""></a>我知道了</div>
+        </div>
+    </div> -->
       <div class="main-body clearfix">
           <div class="menu fl">
               <div class="logo">
@@ -81,6 +91,7 @@
                 </a>
               <div class="copy-right"><p>©杭州朗通信息技术有限公司</p></div>
           </div>
+          
           <div class="menu-mini fl">
               <div class="logo">
                   朗通
@@ -109,6 +120,7 @@
                 
                   </div>
               </div>
+              
               <iframe src="./console.html" frameborder="0" id="contentIframe"></iframe>
           </div>
       </div>

+ 1 - 34
src/html/login.html

@@ -4,45 +4,12 @@
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <meta http-equiv="X-UA-Compatible" content="ie=edge">
+  <!--<link rel="shortcut icon" href="../resource/favicon.ico" type="image/x-icon">-->
   <title>登录页</title>
 </head>
 <body>
   <div id="mainBox"></div>
   <div class="login clearfix">
-    
-    <!--<div class="logoTop">
-      <img src="../images/lantone.png" alt="">
-      <span></span>
-      <i>AI病案质控平台</i>
-    </div>-->
-    <!-- <div class="bg fl">
-      <p class="title">AI病案质控平台</p>
-    </div> -->
-    <!--<div class="loginForm clearfix">-->
-      <!-- <div class="message fr">
-        <div class="inner">
-          <p class="welcome">欢迎使用!</p>
-          <div class="perPub">
-            <p>用户名</p>
-            <div class="iptWrap">
-              <img src="../images/yonghu.png" alt="">
-              <input type="text" placeholder="请输入用户名" id="username" value="" autocomplete="off">
-            </div>
-          </div>
-          <br>
-          <div class="perPub">
-            <p>密码</p>
-            <div class="iptWrap">
-              <img src="../images/mima.png" alt="">
-              <input type="text" placeholder="请输入密码" id="password" value="" autocomplete="off">
-            </div>
-          </div>
-          <p class="waring"></p>
-          <div class="sureLogin">登录</div>
-        </div>
-        <div class="copy-right">由杭州朗通信息技术有限公司提供技术支持</div>
-      </div> -->
-    <!--</div>-->
   </div>
 </body>
 </html>

+ 4 - 0
src/html/qcList.html

@@ -51,6 +51,10 @@
                         <span>病人住院序号:</span>
                         <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
                     </span>
+                    <span class="filterItem typeFilter">
+                        <span>病案号:</span>
+                        <input class="fileCodeNumInp" style="width: 148px;" type="text" placeholder="请输入病案号">
+                    </span>
                     <span class="filterItem doctorFilter">
                         <span>医生姓名:</span>
                         <input class="doctorInp" type="text" placeholder="请输入医生姓名">

+ 192 - 0
src/html/qcListCopyquexian.html

@@ -0,0 +1,192 @@
+<!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 qcListDept">
+    <h2>控制台(科室) / 科室缺陷占比/ 病历列表</h2>
+    <div class="main-body">
+      <div class="filterBox">
+        <div class="clearfix">
+          <span class="filterItem typeFilter">
+            <span style="overflow:hidden">病区:</span>
+            <span class="selectRegions ellipsis" data-id=" "><i>全部</i></span>
+            <ul class="regionsList filterDropList"></ul>
+          </span>
+          <span class="filterItem typeFilter deptListWrap">
+            <span style="overflow:hidden">科室:</span>
+            <span class="selectDept ellipsis" data-id=" "><i>--</i></span>
+            <ul class="deptList filterDropList">
+
+            </ul>
+          </span>
+          <span class="filterItem typeFilter">
+            <span style="overflow:hidden">医疗组:</span>
+            <span class="selectMedoups ellipsis" data-id=" "><i>全部</i></span>
+            <ul class="medoupsList filterDropList"></ul>
+          </span>
+          <span class="filterItem typeFilter clearfix">
+            <span class="fl">出院日期:</span>
+            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off"
+                readonly /></span>
+            <span class="divide fl">-</span>
+            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2" autocomplete="off"
+                readonly /></span>
+          </span>
+          <div class="toggle-item clearfix">
+            <span class="filterItem">
+              <span>病历等级:</span>
+              <span class="selectLevel">全部</span>
+              <ul class="levelList filterDropList">
+                <Li class="levelItem" data-name="全部" data-id="全部">全部</Li>
+                <Li class="levelItem" data-name="未评分" data-id="未评分">未评分</Li>
+                <Li class="levelItem" data-name="甲" data-id="甲">甲</Li>
+                <li class="levelItem" data-name="乙" data-id=乙>乙</li>
+                <li class="levelItem" data-name="丙" data-id=丙>丙</li>
+              </ul>
+            </span>
+            <span class="filterItem typeFilter">
+              <span>病人姓名:</span>
+              <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+            </span>
+            <span class="filterItem typeFilter">
+              <span>病人住院序号:</span>
+              <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+            </span>
+            <span class="filterItem typeFilter">
+              <span>医生姓名:</span>
+              <input class="doctorInp" type="text" placeholder="请输入医生姓名">
+            </span>
+            <span class="filterItem doctorFilter">
+              <span>医生工号:</span>
+              <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
+            </span>
+            <span class="filterItem filterHide fpFilterItem">
+              <span>病案首页核查状态:</span>
+              <span class="fpSelectCheck">全部</span>
+              <ul class="checkList filterDropList fpCheckList">
+                <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
+                <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
+              </ul>
+            </span>
+            <span class="filterItem filterHide doctorFilter fpFilterItem">
+              <span>病案首页核查人:</span>
+              <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
+            </span>
+            <span class="filterItem filterHide typeFilter clearfix">
+              <span class="fl">病案首页核查时间:</span>
+              <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1"
+                  autocomplete="off" readonly /></span>
+              <span class="divide fl">-</span>
+              <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"
+                  autocomplete="off" readonly /></span>
+            </span>
+            <span class="filterItem qcFiliterItem">
+              <span>病历核查状态:</span>
+              <span class="qcSelectCheck">全部</span>
+              <ul class="checkList filterDropList qcCheckList">
+                <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
+                <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
+              </ul>
+            </span>
+            <span class="filterItem doctorFilter qcFiliterItem">
+              <span>病历核查人:</span>
+              <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
+            </span>
+
+            <span class="filterItem typeFilter clearfix qcFiliterItem">
+              <span class="fl">病历核查时间:</span>
+              <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1"
+                  autocomplete="off" readonly /></span>
+              <span class="divide fl">-</span>
+              <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"
+                  autocomplete="off" readonly /></span>
+            </span>
+            <span class="filterItem doctorFilter qcFiliterItem">
+              <span>主诊断:</span>
+              <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+            </span>
+            <span class="filterItem typeFilter clearfix">
+              <span class="filter">查询</span>
+              <span class="filterclear abnormalClear filterclearT">重置</span>
+              <span class="export">导出</span>
+              <a href="javascript:void(0);" class="filter-toggler " id="filterToggler">收起筛选</a>
+            </span>
+          </div>
+          <span class="filterToggler2">
+            <span class="filter">查询</span>
+            <span class="filterclear abnormalClear filterclearT">重置</span>
+            <span class="export">导出</span>
+            <a href="javascript:void(0);" class="filter-toggler up" id="filterToggler2">展开筛选</a>
+          </span>
+        </div>
+      </div>
+      <div class="overAuto">
+        <table class="qctable">
+          <thead>
+            <tr class="tabOpera">
+              <!-- <td colspan="18" style="background: #fff">
+                                <div class="tabFoot">
+                                    <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                    <span class="recordScoreBtn">评分</span>
+                                </div>
+                            </td> -->
+            </tr>
+            <tr class="tabTitle">
+              <!-- <th class="textCenter" ></th>
+                            <th class="recordScoreOpera textCenter" style="width: 65px;">操作</th>
+                            <th class="beHospitalId textCenter" code="behospital_code">病人住院序号</th>
+                            <th class="patientNo textCenter" code="file_code">病案号</th>
+                            <th class="patientName textCenter" code="name" style="width: 100px;">病人姓名</th>
+                            <th class="patientSex textCenter" code="sex">性别</th>
+                            <th class="patientage textCenter" code="age">年龄</th>
+                            <th class="bedNum textCenter" code="bed_code">床号</th>
+                            <th class="inHospitalDate textCenter" code="behospital_date">入院日期</th>
+                            <th class="outHospitalDate textCenter desc" code="leave_hospital_date">出院日期</th>
+                            <th class="diagnose textCenter" code="diagnose">主诊断</th>
+                            <th class="doctorName textCenter" code="beh_doctor_name">住院医生</th>
+                            <th class="doctorName textCenter" code="doctor_name">主管医生</th>
+                            <th class="doctorName textCenter" code="director_doctor_name">主任医生</th>
+                            <th class="deptName textCenter" code="beh_dept_name">科室</th>
+                            <th class="recordLevel textCenter" code="level">病历等级</th>
+                            <th class="recordScore textCenter" code="score_res">病历得分</th>
+                            <th class="scoreTime textCenter" code="grade_time">评分时间</th> -->
+            </tr>
+          </thead>
+          <tbody class="tbody">
+
+          </tbody>
+          <!-- <tfoot>
+                    <tr>
+                        <td colspan="17">
+                            <div class="tabFoot">
+                                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="../images/icon_unchecked.png" alt="checkbox">全选</span>
+                                <span class="recordScoreBtn">评分</span>
+                            </div>
+                        </td>
+                    </tr>
+                    </tfoot> -->
+        </table>
+      </div>
+
+      <!--<div class="tabFoot">
+                <span class="scoreOpera" data-selectAll=false><img class="iconCheck" src="" alt="checkbox">全选</span>
+                <span class="recordScoreBtn">评分</span>
+            </div>-->
+
+      <div class="pagination"></div>
+    </div>
+
+  </div>
+</body>
+
+</html>

+ 111 - 84
src/html/qcListDept.html

@@ -6,7 +6,7 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <meta http-equiv="X-UA-Compatible" content="ie=edge">
     <title>病历质控评分</title>
-    
+
 </head>
 
 <body>
@@ -16,94 +16,121 @@
             <div class="filterBox">
                 <div class="clearfix">
                     <span class="filterItem typeFilter">
-                        <span>科室:</span>
-                        <span class="selectDept">
-                            全部
-                        </span>
-
-                        <ul class="deptList filterDropList"></ul>
-                    </span>
-                    <span class="filterItem typeFilter clearfix">
-                        <span class="fl">出院日期:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly/></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/></span>
+                        <span style="overflow:hidden">病区:</span>
+                        <span class="selectRegions ellipsis" data-id=" "><i>全部</i></span>
+                        <ul class="regionsList filterDropList"></ul>
                     </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>
+                    <span class="filterItem typeFilter deptListWrap">
+                        <span style="overflow:hidden">科室:</span>
+                        <span class="selectDept ellipsis" data-id=" "><i>--</i></span>
+                        <ul class="deptList filterDropList">
+
                         </ul>
                     </span>
-                    <span class="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>
-                    <span class="filterItem filterHide fpFilterItem">
-                        <span>病案首页核查状态:</span>
-                        <span class="fpSelectCheck">全部</span>
-                        <ul class="checkList filterDropList fpCheckList">
-                            <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
-                            <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
-                            <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
-                        </ul>
-                    </span>
-                    <span class="filterItem filterHide doctorFilter fpFilterItem">
-                        <span>病案首页核查人:</span>
-                        <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
-                    </span>
-                    <span class="filterItem filterHide typeFilter clearfix" >
-                        <span class="fl">病案首页核查时间:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"  autocomplete="off" readonly/></span>
-                    </span>
-                    <span class="filterItem qcFiliterItem">
-                        <span>病历核查状态:</span>
-                        <span class="qcSelectCheck">全部</span>
-                        <ul class="checkList filterDropList qcCheckList">
-                            <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
-                            <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
-                            <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
-                        </ul>
+                        <span style="overflow:hidden">医疗组:</span>
+                        <span class="selectMedoups ellipsis" data-id=" "><i>全部</i></span>
+                        <ul class="medoupsList filterDropList"></ul>
                     </span>
-                    <span class="filterItem doctorFilter qcFiliterItem">
-                        <span>病历核查人:</span>
-                        <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
-                    </span>
-                    
-                    <span class="filterItem typeFilter clearfix qcFiliterItem" >
-                        <span class="fl">病历核查时间:</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1" autocomplete="off" readonly /></span>
-                        <span  class="divide fl">-</span>
-                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"  autocomplete="off" readonly/></span>
+                    <span class="filterItem typeFilter clearfix">
+                        <span class="fl">出院日期:</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker"
+                                autocomplete="off" readonly /></span>
+                        <span class="divide fl">-</span>
+                        <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"
+                                autocomplete="off" readonly /></span>
                     </span>
-                    <span class="filterItem doctorFilter qcFiliterItem">
-                        <span>主诊断:</span>
-                        <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+                    <div class="toggle-item clearfix">
+                        <span class="filterItem">
+                            <span>病历等级:</span>
+                            <span class="selectLevel">全部</span>
+                            <ul class="levelList filterDropList">
+                                <Li class="levelItem" data-name="全部" data-id="全部">全部</Li>
+                                <Li class="levelItem" data-name="未评分" data-id="未评分">未评分</Li>
+                                <Li class="levelItem" data-name="甲" data-id="甲">甲</Li>
+                                <li class="levelItem" data-name="乙" data-id=乙>乙</li>
+                                <li class="levelItem" data-name="丙" data-id=丙>丙</li>
+                            </ul>
+                        </span>
+                        <span class="filterItem typeFilter">
+                            <span>病人姓名:</span>
+                            <input class="patientNameInp" type="text" placeholder="请输入病人姓名">
+                        </span>
+                        <span class="filterItem typeFilter">
+                            <span>病人住院序号:</span>
+                            <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
+                        </span>
+                        <span class="filterItem typeFilter">
+                            <span>病案号:</span>
+                            <input class="fileCodeNumInp" style="width: 148px;" type="text" placeholder="请输入病案号">
+                        </span>
+                        <span class="filterItem typeFilter">
+                            <span>医生姓名:</span>
+                            <input class="doctorInp" type="text" placeholder="请输入医生姓名">
+                        </span>
+                        <span class="filterItem doctorFilter">
+                            <span>医生工号:</span>
+                            <input class="doctorNumInp" type="text" placeholder="请输入医生工号">
+                        </span>
+                        <span class="filterItem filterHide fpFilterItem">
+                            <span>病案首页核查状态:</span>
+                            <span class="fpSelectCheck">全部</span>
+                            <ul class="checkList filterDropList fpCheckList">
+                                <Li class="fpCheckItem" data-name="全部" data-id="">全部</Li>
+                                <Li class="fpCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                                <Li class="fpCheckItem" data-name="已核查" data-id="1">已核查</Li>
+                            </ul>
+                        </span>
+                        <span class="filterItem filterHide doctorFilter fpFilterItem">
+                            <span>病案首页核查人:</span>
+                            <input class="fpCheckPeople" type="text" placeholder="请输入核查人">
+                        </span>
+                        <span class="filterItem filterHide typeFilter clearfix">
+                            <span class="fl">病案首页核查时间:</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp1"
+                                    autocomplete="off" readonly /></span>
+                            <span class="divide fl">-</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerFp2"
+                                    autocomplete="off" readonly /></span>
+                        </span>
+                        <span class="filterItem qcFiliterItem">
+                            <span>病历核查状态:</span>
+                            <span class="qcSelectCheck">全部</span>
+                            <ul class="checkList filterDropList qcCheckList">
+                                <Li class="qcCheckItem" data-name="全部" data-id="">全部</Li>
+                                <Li class="qcCheckItem" data-name="未核查" data-id="0">未核查</Li>
+                                <Li class="qcCheckItem" data-name="已核查" data-id="1">已核查</Li>
+                            </ul>
+                        </span>
+                        <span class="filterItem doctorFilter qcFiliterItem">
+                            <span>病历核查人:</span>
+                            <input class="qcCheckPeople" type="text" placeholder="请输入核查人">
+                        </span>
+
+                        <span class="filterItem typeFilter clearfix qcFiliterItem">
+                            <span class="fl">病历核查时间:</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc1"
+                                    autocomplete="off" readonly /></span>
+                            <span class="divide fl">-</span>
+                            <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepickerQc2"
+                                    autocomplete="off" readonly /></span>
+                        </span>
+                        <span class="filterItem doctorFilter qcFiliterItem">
+                            <span>主诊断:</span>
+                            <input class="qcCheckMain" type="text" placeholder="请输入主诊断">
+                        </span>
+                        <span class="filterItem typeFilter clearfix">
+                            <span class="filter">查询</span>
+                            <span class="filterclear abnormalClear filterclearT">重置</span>
+                            <span class="export">导出</span>
+                            <a href="javascript:void(0);" class="filter-toggler " id="filterToggler">收起筛选</a>
+                        </span>
+                    </div>
+                    <span class="filterToggler2">
+                        <span class="filter">查询</span>
+                        <span class="filterclear abnormalClear filterclearT">重置</span>
+                        <span class="export">导出</span>
+                        <a href="javascript:void(0);" class="filter-toggler up" id="filterToggler2">展开筛选</a>
                     </span>
                 </div>
             </div>
@@ -162,7 +189,7 @@
 
             <div class="pagination"></div>
         </div>
-        
+
     </div>
 </body>
 

+ 4 - 0
src/html/qcListDocteam.html

@@ -46,6 +46,10 @@
                         <span>病人住院序号:</span>
                         <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
                     </span>
+                    <span class="filterItem typeFilter">
+                        <span>病案号:</span>
+                        <input class="fileCodeNumInp" style="width: 148px;" type="text" placeholder="请输入病案号">
+                    </span>
                     <span class="filterItem typeFilter">
                         <span>医生姓名:</span>
                         <input class="doctorInp" type="text" placeholder="请输入医生姓名">

+ 4 - 0
src/html/qcListOutHospital.html

@@ -70,6 +70,10 @@
                         <span>病人住院序号:</span>
                         <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
                     </span>
+                    <span class="filterItem typeFilter">
+                        <span>病案号:</span>
+                        <input class="fileCodeNumInp" style="width: 148px;" type="text" placeholder="请输入病案号">
+                    </span>
                     <span class="filterItem doctorFilter">
                         <span>医生姓名:</span>
                         <input class="doctorInp" type="text" placeholder="请输入医生姓名">

+ 4 - 0
src/html/qcListPerson.html

@@ -53,6 +53,10 @@
                     <span>病人住院序号:</span>
                     <input class="patientNumInp" style="width: 148px;" type="text" placeholder="请输入病人住院序号">
                 </span>
+                <span class="filterItem typeFilter">
+                    <span>病案号:</span>
+                    <input class="fileCodeNumInp" style="width: 148px;" type="text" placeholder="请输入病案号">
+                </span>
                 <span class="filterItem doctorFilter">
                     <span>医生:</span>
                     <span class="selectDoctor"> 

+ 181 - 150
src/html/qcScore.html

@@ -1,5 +1,6 @@
 <!DOCTYPE html>
 <html lang="en">
+
 <head>
     <meta charset="UTF-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
@@ -28,10 +29,10 @@
         <li class="page  menu-${id}" code="${name}">
             {{/if}}
             {{if sonMode.length}}
-            <ul> 
+            <ul>
                 <div class="liExtend"></div>
                 {{each sonMode}}
-                    <li class="page" code="${name.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g,'')}">${name}</li>
+                <li class="page" code="${name.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g,'')}">${name}</li>
                 {{/each}}
             </ul>
             {{/if}}
@@ -50,116 +51,127 @@
         {{/if}}
     </script>
     <script type="text/html" id="tableTmpl">
-         {{if k==="出院诊断"}}
-         <table class="embed-table">
-             <tr>
-                 <td>
-                     <table>
-                         <tr>
-                             <th>出院诊断</th>
-                             <th>疾病编码</th>
-                             <th>入院病情</th>
-                             <th>出院病情</th>
-                         </tr>
-                         {{each(i,v) data}}
-                         {{if i<(data.length/2)}}
-                         <tr>
-                             <td>${诊断名称}</td>
-                             <td>${诊断编码}</td>
-                             <td>${入院情况}</td>
-                             <td>${出院情况}</td>
-                         </tr>
-                         {{/if}}
-                         {{/each}}
-                     </table>
-                 </td>
-                 <td>
-                     <table>
-                         <tr>
-                             <th>出院诊断</th>
-                             <th>疾病编码</th>
-                             <th>入院病情</th>
-                             <th>出院病情</th>
-                         </tr>
-                         {{each(i,v) data}}
-                         {{if i>=(data.length/2)}}
-                         <tr>
-                             <td>${诊断名称}</td>
-                             <td>${诊断编码}</td>
-                             <td>${入院情况}</td>
-                             <td>${出院情况}</td>
-                         </tr>
-                         {{/if}}
-                         {{/each}}
-                         {{if (data.length)%2===1}}
-                         <tr>
-                             <td></td>
-                             <td></td>
-                             <td></td>
-                             <td></td>
-                         </tr>
-                         {{/if}}
-                     </table>
-                 </td>
-             </tr>
-<!--
+        {{if k==="出院诊断"}}
+        <table class="embed-table">
+            <tr>
+                <td>
+                    <table>
+                        <tr>
+                            <th>出院诊断</th>
+                            <th>疾病编码</th>
+                            <th>入院病情</th>
+                            <th>出院病情</th>
+                        </tr>
+                        {{each(i,v) data}}
+                        {{if i<(data.length/2)}}
+                        <tr>
+                            <td>${诊断名称}</td>
+                            <td>${诊断编码}</td>
+                            <td>${入院情况}</td>
+                            <td>${出院情况}</td>
+                        </tr>
+                        {{/if}}
+                        {{/each}}
+                    </table>
+                </td>
+                <td>
+                    <table>
+                        <tr>
+                            <th>出院诊断</th>
+                            <th>疾病编码</th>
+                            <th>入院病情</th>
+                            <th>出院病情</th>
+                        </tr>
+                        {{each(i,v) data}}
+                        {{if i>=(data.length/2)}}
+                        <tr>
+                            <td>${诊断名称}</td>
+                            <td>${诊断编码}</td>
+                            <td>${入院情况}</td>
+                            <td>${出院情况}</td>
+                        </tr>
+                        {{/if}}
+                        {{/each}}
+                        {{if (data.length)%2===1}}
+                        <tr>
+                            <td></td>
+                            <td></td>
+                            <td></td>
+                            <td></td>
+                        </tr>
+                        {{/if}}
+                    </table>
+                </td>
+            </tr>
+            <!--
              <tr><td colspan="2" class="table-tip">入院病情:1、"有" 2、"临床未确定" 3、"情况不明" 4、"无"<br/>出院病情:1、"治愈"  2、"好转"  3、"未愈"  4、"死亡"  9、"其它"</td></tr>
 -->
-         </table>
-         {{else}}
-             <table>
-         <tr>
-             <th rowspan="2">手术及操作编码</th>
-             <th rowspan="2">手术及操作日期</th>
-             <th rowspan="2">手术级别</th>
-             <th rowspan="2">手术及操作名称</th>
-             <th colspan="3">手术及操作医生</th>
-             <th rowspan="2">切口等级</th>
-             <th rowspan="2">愈合等级</th>
-             <th rowspan="2">麻醉方式</th>
-             <th rowspan="2">麻醉医师</th>
-         </tr>
-         <tr><th>术者</th><th>I助</th><th>II助</th></tr>
-         {{each data}}
-         <tr>
-             <td>${手术编码}</td>
-             <td>${手术日期}</td>
-             <td>${手术级别}</td>
-             <td>${手术名称}</td>
-             <td>${手术医生ID}</td>
-             <td>${一助医生ID}</td>
-             <td>${二助医生ID}</td>
-             <td>${切口等级}</td>
-             <td>${愈合等级}</td>
-             <td>${麻醉方式}</td>
-             <td>${麻醉医师}</td>
-         </tr>
-         {{/each}}
-         </table>
-         {{/if}}
+        </table>
+        {{else}}
+        <table>
+            <tr>
+                <th rowspan="2">手术及操作编码</th>
+                <th rowspan="2">手术及操作日期</th>
+                <th rowspan="2">手术级别</th>
+                <th rowspan="2">手术及操作名称</th>
+                <th colspan="3">手术及操作医生</th>
+                <th rowspan="2">切口等级</th>
+                <th rowspan="2">愈合等级</th>
+                <th rowspan="2">麻醉方式</th>
+                <th rowspan="2">麻醉医师</th>
+            </tr>
+            <tr>
+                <th>术者</th>
+                <th>I助</th>
+                <th>II助</th>
+            </tr>
+            {{each data}}
+            <tr>
+                <td>${手术编码}</td>
+                <td>${手术日期}</td>
+                <td>${手术级别}</td>
+                <td>${手术名称}</td>
+                <td>${手术医生ID}</td>
+                <td>${一助医生ID}</td>
+                <td>${二助医生ID}</td>
+                <td>${切口等级}</td>
+                <td>${愈合等级}</td>
+                <td>${麻醉方式}</td>
+                <td>${麻醉医师}</td>
+            </tr>
+            {{/each}}
+        </table>
+        {{/if}}
     </script>
     <script type="text/html" id="flawTmpl">
-        <div {{if isReject==='1'}} class="flaw-item high-light" {{else}} class="flaw-item" {{/if}} code="${modelName.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g,'')}">
-            <div  {{if isDeleted==="Y"}} class="delete title"{{else}}  class="title" {{/if}}>
+        <div {{if isReject==='1'}} class="flaw-item high-light" {{else}} class="flaw-item" {{/if}}
+            code="${modelName.replace(/[^\u4e00-\u9fa5|a-zA-Z0-9]+/g,'')}">
+            <div {{if isDeleted==="Y"}} class="delete title" {{else}} class="title" {{/if}}>
                 {{if gradeType===2}}
-                <img {{if explainInfo}} title="${explainInfo}" {{/if}} src="../images/tag.png" alt=""/>
+                <img {{if explainInfo}} title="${explainInfo}" {{/if}} src="../images/tag.png" alt="" />
                 {{/if}}
                 {{if info}}
-                <a {{if pageKeyList[0]}} anchors="${pageKeyList}" code="${id}" href="#anchor${pageKeyList[0]}" {{/if}}>${msg}(${info})</a>
+                <a {{if pageKeyList[0]}} anchors="${pageKeyList}" code="${id}" href="#anchor${pageKeyList[0]}"
+                    {{/if}}>${msg}(${info})</a>
                 {{else}}
-                <a {{if pageKeyList[0]}} anchors="${pageKeyList}" code="${id}" href="#anchor${pageKeyList[0]}" {{/if}}>${msg}</a>
+                <a {{if pageKeyList[0]}} anchors="${pageKeyList}" code="${id}" href="#anchor${pageKeyList[0]}"
+                    {{/if}}>${msg}</a>
                 {{/if}}
             </div>
             <div class="opers clearfix">
                 {{if score===0}}
-                <p {{if isDeleted==="Y"}} class="fl delete" {{else}} class="fl" {{/if}}>评分:<span class="red">warn</span></p>
+                <p {{if isDeleted==="Y"}} class="fl delete" {{else}} class="fl" {{/if}}>评分:<span class="red">warn</span>
+                </p>
                 {{else}}
-                <p {{if isDeleted==="Y"}} class="fl delete"{{else}} class="fl" {{/if}}>评分:<span class="red">-${score}</span></p>
+                <p {{if isDeleted==="Y"}} class="fl delete" {{else}} class="fl" {{/if}}>评分:<span
+                        class="red">-${score}</span></p>
                 {{/if}}
                 {{if isDeleted==="N"}}
                 <div class="oper fr">
                     <a class="edit-flaw blue" code="${id}" href="javascript:void(0);" style="margin-right: 18px;">修改</a>
-                    <a class="del-flaw red" code="${id}" href="javascript:void(0);">删除</a>
+                    <a class="del-flaw red" code="${id}" href="javascript:void(0);" style="margin-right: 18px;">删除</a>
+                    <a class="send-flaw blue" code="${id}" href="javascript:void(0);">发送</a>
+                    <a class="ysend-flaw blue" code="${id}" href="javascript:void(0);">已发送</a>
                 </div>
                 {{else}}
                 <div class="oper fr">
@@ -167,27 +179,29 @@
                 </div>
                 {{/if}}
             </div>
-        {{if gradeType===2||isDeleted==="Y"}}
+            {{if gradeType===2||isDeleted==="Y"}}
             <div class="info clearfix">
                 <p class="fl name" title="${linkman}">${linkman}</p>
                 <p class="fr">${gmtModified}</p>
             </div>
-        {{/if}}
+            {{/if}}
         </div>
     </script>
     <script type="text/html" id="emptyTmpl">
         <div class="empty">
-            <img src="../images/empty.png" alt="空"/>
+            <img src="../images/empty.png" alt="空" />
             <p>暂无缺陷~</p>
         </div>
     </script>
     <script type="text/html" id="editTmpl">
         <div class="edit-box">
-            <p><span>质控条目: </span><input disabled type="text" class="ellipsis" title="${standardMsg}" value="${standardMsg}" /></p>
+            <p><span>质控条目: </span><input disabled type="text" class="ellipsis" title="${standardMsg}"
+                    value="${standardMsg}" /></p>
             <!--<p><span>模块名称: </span><input type="text" value="${modelName}" /></p>-->
             <p><span>提示信息: </span><input id="qcMsg" class="ellipsis" type="text" title="${msg}" value="${msg}" /></p>
             <p><span style="margin-right: 8px">分值: </span> <input id="qcScore" type="text" value="${score}" /></p>
-            <p><span>备注: </span><input id="qcInfo" class="ellipsis" type="text" title="${explainInfo}" value="${explainInfo}" autocomplete="off"/></p>
+            <p><span>备注: </span><input id="qcInfo" class="ellipsis" type="text" title="${explainInfo}"
+                    value="${explainInfo}" autocomplete="off" /></p>
             <p class="warning"><span></span><span class="red">支持≥0的数字输入,最多保留小数点后1位~</span></p>
         </div>
     </script>
@@ -200,13 +214,15 @@
         <div class="edit-box add-box">
             <div class="drop-box">
                 <span>质控条目: </span>
-                <input type="text" class="flaw-drop-input ellipsis"/>
+                <input type="text" class="flaw-drop-input ellipsis" />
                 <ul></ul>
             </div>
             <!--<p><span>模块名称: </span><input type="text" value="${modelName}" /></p>-->
-            <p><span style="margin-right: 16px;">提示信息:</span><input title="${msg}" class="ellipsis" id="addQcMsg" type="text" value="${msg}" /></p>
+            <p><span style="margin-right: 16px;">提示信息:</span><input title="${msg}" class="ellipsis" id="addQcMsg"
+                    type="text" value="${msg}" /></p>
             <p><span>分值:</span> <input id="addQcScore" type="text" value="${score}" /></p>
-            <p><span style="margin-right: 16px;">备注:</span><input title="${explainInfo}" class="ellipsis" id="addQcInfo" type="text" value="${explainInfo}" autocomplete="off"/></p>
+            <p><span style="margin-right: 16px;">备注:</span><input title="${explainInfo}" class="ellipsis" id="addQcInfo"
+                    type="text" value="${explainInfo}" autocomplete="off" /></p>
             <p class="warning"><span></span><span class="red">支持≥0的数字输入,最多保留小数点后1位~</span></p>
         </div>
     </script>
@@ -248,71 +264,78 @@
         <div class="page-item" code="${title}">
             <h2 class="title titleSpecial" code="${title}">
                 {{if title==='缺陷总览'}}
-                    <span class="titlePay" data-type="2">缺陷总览</span>
-                    <span class="titleNo" data-type="1">控费缺陷</span>
+                <span class="titlePay" data-type="2">缺陷总览</span>
+                <span class="titleNo" data-type="1">控费缺陷</span>
                 {{/if}}
                 {{if title!=='缺陷总览'}}
-                    ${title}
+                ${title}
                 {{/if}}
             </h2>
             {{if !data || data&&data.length === 0}}
             <div class="empty">
-                <img src="../images/empty1.png" alt="空"/>
+                <img src="../images/empty1.png" alt="空" />
                 <p>暂无信息~</p>
             </div>
             {{else}}
             {{if title==='缺陷总览'}}
             <table class="scroll-table">
                 <thead>
-                <tr>
-                    <th width="250">来源</th>
-                    <th>缺陷详情</th>
-                    <th width="150">扣分</th>
-                </tr>
+                    <tr>
+                        <th width="250">来源</th>
+                        <th>缺陷详情</th>
+                        <th width="150">扣分</th>
+                    </tr>
                 </thead>
                 <tbody>
                     {{if JSON.stringify(data) == "{}"}}
                     <tr class="empty2">
-                        <td colspan="3" class=""> 
-                            <img src="../images/empty1.png" alt="空"/>
-                            <p>暂无数据~</p></td>
+                        <td colspan="3" class="">
+                            <img src="../images/empty1.png" alt="空" />
+                            <p>暂无数据~</p>
+                        </td>
                     </tr>
                     {{/if}}
-                {{each(i,val) data}}
-                <tr><td colspan="3" class="slide-up">${i}</td></tr>
-                {{each val}}
-                <tr code="${i}" {{if isReject==="1"}} class="high-light" {{/if}}>
-                    <td style="text-indent: 14px; {{if isDeleted=='Y'}}  text-decoration:line-through;  {{/if}}">${modelName}</td>
-                    <td>
-                        <a href="javascript:void(0);" class="page-anchor page-anchor-hover" {{if isDeleted=='Y'}}  style="text-decoration:line-through;"  {{/if}} code="${id}">${msg}</a>
-                    </td>
-                    <td class="red" {{if isDeleted=='Y'}}  style="text-decoration:line-through;"  {{/if}}>${score}</td>
-                </tr>
-                {{/each}}
-                {{/each}}
+                    {{each(i,val) data}}
+                    <tr>
+                        <td colspan="3" class="slide-up">${i}</td>
+                    </tr>
+                    {{each val}}
+                    <tr code="${i}" {{if isReject==="1"}} class="high-light" {{/if}}>
+                        <td style="text-indent: 14px; {{if isDeleted=='Y'}}  text-decoration:line-through;  {{/if}}">
+                            ${modelName}</td>
+                        <td>
+                            <a href="javascript:void(0);" class="page-anchor page-anchor-hover" {{if isDeleted=='Y'}}
+                                style="text-decoration:line-through;" {{/if}} code="${id}">${msg}</a>
+                        </td>
+                        <td class="red" {{if isDeleted=='Y'}} style="text-decoration:line-through;" {{/if}}>${score}
+                        </td>
+                    </tr>
+                    {{/each}}
+                    {{/each}}
                 </tbody>
             </table>
             {{else}}<table code="${title}" class="interval-color">
-            <thead>
-            <tr>
-                <th width="100" align="center">序号</th>
-                <th>文书详情</th>
-            </tr>
-            </thead>
-            <tbody>
-            {{each(i,val) data}}
-            <tr>
-                <td align="center">${i+1}</td>
-                <td>${recTitle}</td>
-            </tr>
-            {{/each}}
-            </tbody>
-        </table>
+                <thead>
+                    <tr>
+                        <th width="100" align="center">序号</th>
+                        <th>文书详情</th>
+                    </tr>
+                </thead>
+                <tbody>
+                    {{each(i,val) data}}
+                    <tr>
+                        <td align="center">${i+1}</td>
+                        <td>${recTitle}</td>
+                    </tr>
+                    {{/each}}
+                </tbody>
+            </table>
             {{/if}}
             {{/if}}
         </div>
     </script>
 </head>
+
 <body>
     <div class="main-part clearfix">
         <div class="sub-menu">
@@ -323,7 +346,9 @@
             <a href="javascript:void(0);" class="slide-show">
                 <img src="../images/down.png" alt="">
             </a>
-            <div class="copy-right"><p>©杭州朗通信息技术有限公司</p></div>
+            <div class="copy-right">
+                <p>©杭州朗通信息技术有限公司</p>
+            </div>
         </div>
         <div class="menu-mini fl">
             <div class="logo">
@@ -333,17 +358,22 @@
             <a href="javascript:void(0);" class="slide-hide">
                 <img src="../images/up.png" alt="">
             </a>
-           
+
         </div>
         <div class="tab-container clearfix">
             <div class="patient-info" id="patientInfo"></div>
             <p id="loading">加载中,请稍候 ...</p>
             <div class="flaw-table">
-                <iframe src="./nursing.html" frameborder="0" id="contentNursing" name="contentNursing" style="display: none;"></iframe>
-                <iframe src="./advice.html" frameborder="0" id="contentIframeIn" name="contentIframeIn" style="display: none;"></iframe>
-                <iframe src="./pacs.html" frameborder="0" id="pacsIframeIn" name="pacsIframeIn" style="display: none;"></iframe>
-                <iframe src="./assist.html" frameborder="0" id="assistIframeIn" name="assistIframeIn" style="display: none;"></iframe>
-                <iframe src="./pacsDetail.html" frameborder="0" id="pacsDetailIframeIn" name="pacsDetailIframeIn" style="display: none;"></iframe>
+                <iframe src="./nursing.html" frameborder="0" id="contentNursing" name="contentNursing"
+                    style="display: none;"></iframe>
+                <iframe src="./advice.html" frameborder="0" id="contentIframeIn" name="contentIframeIn"
+                    style="display: none;"></iframe>
+                <iframe src="./pacs.html" frameborder="0" id="pacsIframeIn" name="pacsIframeIn"
+                    style="display: none;"></iframe>
+                <iframe src="./assist.html" frameborder="0" id="assistIframeIn" name="assistIframeIn"
+                    style="display: none;"></iframe>
+                <iframe src="./pacsDetail.html" frameborder="0" id="pacsDetailIframeIn" name="pacsDetailIframeIn"
+                    style="display: none;"></iframe>
             </div>
             <div class="content-box fl" id="contentInfo"></div>
             <div class="operation fr" id="flaws">
@@ -378,4 +408,5 @@
         </div>
     </div>
 </body>
-</html>
+
+</html>

+ 72 - 0
src/html/uncorrectedCasesStatisticsAdm.html

@@ -0,0 +1,72 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <meta http-equiv="X-UA-Compatible" content="ie=edge">
+    <title>时效性相关统计(管理员)</title>
+</head>
+
+<body>
+<div class="container partDetailControl">
+    <div class="partTitle">
+        <p><a href="console.html">控制台 / </a>时效性相关统计(管理员)</p>
+        <div class="dateDetail fr">
+
+        </div>
+    </div>
+    <div class="partTitleT"></div>
+    <div class="main-body">
+        <div class="filterBox clearfix">
+            <span class="filterItem typeFilter">
+                <!-- <span>科室:</span> -->
+                <input type="text" class="selectDept canEditDept" value="全部">
+                <ul class="deptList filterDropList"></ul>
+            </span>
+            <span class="filterItem typeFilter clearfix dataSelectLight">
+                    <span class="fl">出院日期:</span>
+                    <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker" autocomplete="off" readonly/></span>
+                    <span  class="divide fl">-</span>
+                    <span class="datapickerBox fl"><input type="text" placeholder="请选择时间" id="datepicker2"  autocomplete="off" readonly/></span>
+                </span>
+            <span class="filter">查询</span>
+            <span class="filterclear abnormalClear">重置</span>
+            <span class="exportData">导出</span>
+        </div>
+        <div style="display: table;padding-right: 30px;" class="tableBox">
+            <table class="key-list">
+                <thead>
+                <tr class="tabTitle"></tr>
+                <!-- <th class="moduleName" style="width: 65px;">序号</th>
+                <th class="beHospitalId textCenter" code="deptName">科室</th>
+                <th class="beHospitalId textCenter" code="consultationNum">入院记录24h内<br/>未完成</th>
+                <th class="beHospitalId textCenter" code="consultationPercentStr">首程8h内未完成</th>
+                <th class="beHospitalId textCenter" code="operationNameNum">入院后未连记3天</th>
+                <th class="beHospitalId textCenter" code="operationNamePercentStr">主治48h未查房</th>
+                <th class="beHospitalId textCenter" code="operation15MinuteNum">主任72h未查房</th>
+                <th class="beHospitalId textCenter" code="operation15MinutePercentStr">术后24h无手术记录</th>
+                <th class="beHospitalId textCenter" code="operationTimeNum">术后首程未即刻完成</th>
+                <th class="beHospitalId textCenter" code="operationTimePercentStr">术后24h内无主刀查房</th>
+                <th class="beHospitalId textCenter" code="crisisNum">术后未连记3天</th>
+                <th class="beHospitalId textCenter" code="crisisPercentStr">病危无1天1记</th>
+                <th class="beHospitalId textCenter" code="stageSummaryNum">病重无2天1记</th>
+                <th class="beHospitalId textCenter" code="stageSummaryPercentStr">主任每周无2次查房</th>
+                <th class="beHospitalId textCenter" code="stageSummaryPercentStr">主治每周无3次查房</th>
+                <th class="beHospitalId textCenter" code="stageSummaryPercentStr">转入记录24h内未完成</th>
+                <th class="beHospitalId textCenter" code="stageSummaryPercentStr">转入后未连记3天</th>
+                <th class="beHospitalId textCenter textBreak" code="stageSummaryPercentStr">无阶段小结</th> -->
+                </thead>
+                <tbody>
+
+                </tbody>
+            </table>
+        </div>
+
+        <div class="pagination"></div>
+    </div>
+
+</div>
+</body>
+
+</html>

+ 1 - 1
src/html/userManager.html

@@ -39,7 +39,7 @@
                     <th class="moduleItemName">科室</th>
                     <th class="moduleTipsMsg">角色</th>
                     <th class="moduleUsed">状态</th>
-                    <th class="moduleOpera" style="width: 150px;">操作</th>
+                    <th class="moduleOpera" style="width: 200px;">操作</th>
                 </thead>
                 <tbody class="tbody">
     

文件差異過大導致無法顯示
+ 553 - 402
src/js/allotCheckTask.js


+ 15 - 0
src/js/api.js

@@ -1,7 +1,9 @@
 const api = {
   getHospitalMark: '/sys/user/getHospitalMark', //登录标识
+  getCaptcha: '/sys/user/getCaptcha',  //获取验证码
   getMenu: '/sys/user/getUserOrgMenu', //获取菜单
   midifyPassword: '/sys/user/midifyPassword', //修改密码
+  unlock: '/sys/user/unlock',//账号解锁
   getSubMenu: '/qc/mode/getMenu', //获取质控评分菜单
   delScore: '/qc/behospitalInfo/logicDelCase',//'/qc/behospitalInfo/delCase', //删除评分项
   editScore: '/qc/behospitalInfo/updCase', //修改评分
@@ -23,6 +25,9 @@ const api = {
   recordScore: '/qc/behospitalInfo/analyze',
   getInfoModule: '/qc/module/getById',
   getDeptList: '/bas/dept/getList',
+  getTimelinessList:'/bas/dept/getTimelinessList',
+  getDeptA: '/console/TimelinessReportA',
+  getDeptB: '/console/TimelinessReportB',
   getDeptListUser: '/bas/dept/listForUser',
   getDeptListDept: '/bas/dept/getListUser',
   getAverageDayNum: '/console/getAverageDayNum', //平均住院天数
@@ -90,6 +95,7 @@ const api = {
   exportDeptFlawsTz: '/console/export/levelExport_TZ', //各科室缺陷占比导出-台州
   exportIndexQualified: '/console/export/homePageLevelExport', //病案首页合格率占比导出
   exportItemFlaw: '/console/export/entryGroupByEntryExport', //条目缺陷占比导出
+  
   entryRejectPercent: '/console/entryRejectPercent', //单项否决占比
   qcResultLevelPercent: '/console/qcResultLevelPercent', //各科室甲乙丙级占比
   qcResultDefectList: '/console/qcResultShortPage', //条目缺陷质控评分
@@ -106,6 +112,7 @@ const api = {
   getDefaultPageSet: '/sys/user/pageset/getDefaultPageSet', //获取默认列设置
   getBadLevelPage: '/console/badLevelPage', //病案首页不合格数病历详情
 
+
   //导出接口
   getAverageDayNumExport: '/console/export/getAverageDayNumExport', //科室平均住院天数
   getAverageFeeExport: '/console/export/getAverageFeeExport', //科室平均住院花费
@@ -143,6 +150,7 @@ const api = {
   reHos31DaysPageExportByDept: '/print/export/reHos31DaysPageExportByDept', // 31日再入院-导出)
   unModifyMRSByDept: '/consoleByDept/unModifyMRSByDept', // 时效性)
   unModifyMRSExportByDept: '/print/export/unModifyMRSExportByDept', // 时效性-导出)
+  AdmunModifyMRSExportByDept: '/console/export/TimelinessReportExport', // 时效性-导出
   qcCheckMRPageByDept: '/consoleByDept/qcCheckMRPageByDept',
   qcCheckMRPageExportByDept: '/print/export/qcCheckMRPageExportByDept',
   hmImproveMRPageByDept: '/consoleByDept/hmImproveMRPageByDept',
@@ -177,7 +185,14 @@ const api = {
   getMedQualityCoList: '/qc/behospitalInfo/getMedQualityCoList',//病案指标列表
   medicalRecordIndicator: '/console/medicalRecordIndicator',//病案指标
   getListDoctor: '/bas/doctor/getList',//(科室医生列表)
+  getRegionAndMedoupList: '/bas/doctor/getRegionAndMedoupList',//(科室病区医疗组列表)
+  getLocalRegionMedoup: '/qc/medCheckWork/getLocalRegionMedoup',//当前用户医疗组信息
+  qcResultShortByDeptPage: '/consoleByDept/qcResultShortByDeptPage',//科室缺陷病历列表 七院
+  qcResultShortExportByDeptPage: '/print/export/qcResultShortExportByDeptPage',//科室缺陷导出 七院
+  levelStatisticsByDeptPage: '/consoleByDept/levelStatisticsByDeptPage',//科室缺陷列表 七院
+  levelStatisticsExportByDept: '/print/export/levelStatisticsExportByDept',//科室缺陷列表导出 七院
 
+  sendRuleWarn: "/qc/behospitalInfo/sendRuleWarn" // 发送入院记录
 }
 const ywCheckApi = {
   addMedCheckInfo: '/qc/medCheckInfo/addMedCheckInfo',   //核查

+ 224 - 62
src/js/checkTaskList.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("../css/checkTaskList.less");
 require('./modal.js');
 const { api, ywCheckApi } = require('./api.js')
-const { post, getCookie, getLogoParam, emptyBox,  listenScroll,getScoreTabList } = require('./utils.js')
+const { post, getCookie, getLogoParam, emptyBox, listenScroll, getScoreTabList } = require('./utils.js')
 require('./../resource/jquery-ui/jquery-ui.min.js');
 require('./../resource/jquery-ui/jquery-ui.min.css');
 const iconCalenBlue = require("./../images/icon_calen_blue.png")
@@ -15,15 +15,19 @@ const arrowRight = require("./../images/arrow_right.png")
 listenScroll()
 $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectStatus").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
-$(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
-
-let tabList = [],global_deptId = "",global_checkStatus = "",global_score='',global_level="",data_desc = ["jobDistributionTime"], data_asc = [];
+$(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+let tabList = [], global_deptId = "", global_checkStatus = "", global_score = '', global_level = "", data_desc = ["jobDistributionTime"], data_asc = [];
+wards = [], medoups = [];
 let isPlacefile = getCookie('isPlacefile') || 1
 if (isPlacefile != 1) {
     data_desc = ["jobDistributionTime"]
 }
-
-$(function(){
+let deptList = JSON.parse(getCookie("deptList")) || []
+const regionList = JSON.parse(localStorage.getItem('regions'))
+const medoupList = JSON.parse(localStorage.getItem('medoups'))
+const localMedoupCode = JSON.parse(localStorage.getItem('localMedoupCode'))
+const showAllFlag = JSON.parse(localStorage.getItem('showAllFlag'))
+$(function () {
     $(window.parent.document).find(".modaltip").hide();//切换页面过快时toast隐藏
     $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
     $('.iconCalen').on("mouseenter", function (e) {
@@ -35,6 +39,47 @@ $(function(){
     $('.iconCalen').on("click", function (e) {
         $(this).parent().find("input").focus()
     })
+    if (regionList) {
+        let str = ``
+        if (regionList.length <= 0) return
+        $(".qcList .selectRegions").attr("data-id", regionList[0].code).find("i").html(regionList[0].name)
+        for (let i = 0; i < regionList.length; i++) {
+            let tmp = regionList[i]
+            str += `<li class="regionsItem ellipsis" title="${tmp.name}" data-id="${tmp.code}" data-name="${tmp.name}">${tmp.name}</li>`
+        }
+        $(".qcList .regionsList").html(str)
+        wards = [regionList[0].code]
+        bindRegionsSelect()
+    }
+    if (medoupList) {
+        let str = `<li class="medoupsItem ellipsis" title="全部" data-id="" data-name="全部">全部</li>`
+        if (medoupList.length <= 0) return
+        for (let i = 0; i < medoupList.length; i++) {
+            let tmp = medoupList[i]
+            str += `<li class="medoupsItem ellipsis" title="${tmp.name}" data-id="${tmp.code}" data-name="${tmp.name}">${tmp.name}</li>`
+        }
+        $(".qcList .medoupsList").html(str)
+        bindMedoupsSelect()
+        if (localMedoupCode && !showAllFlag) {
+            let result = medoupList.find((item) => {
+                return item.code == localMedoupCode
+            })
+            medoups = [result.code]
+            $('.selectMedoups').attr("data-id", result.code).find("i").html(result.name)
+        } 
+    }
+    if (deptList) {
+        let str = ``
+        if (deptList.length <= 0) return
+        $(".qcList .selectDept").attr("data-id", deptList[0].deptId).find("i").html(deptList[0].deptName)
+        for (let i = 0; i < deptList.length; i++) {
+            let tmp = deptList[i]
+            str += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptId}" data-name="${tmp.deptName}">${tmp.deptName}</li>`
+        }
+        $(".qcList .deptList").html(str)
+        global_deptId = deptList[0].deptId
+        bindDeptSelect()
+    }
     //菜单选中
     $(".menu .page", parent.document).removeClass("active")
     $(parent.document).find(".menu .page[code=YH-ZKHC-HCRWLB]").addClass("active")
@@ -74,8 +119,8 @@ $(function(){
     };
     $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
 
-    const days = new Date().getDate()-1;
-    let startDate = "-"+days+"d",endDate=new Date();
+    const days = new Date().getDate() - 1;
+    let startDate = "-" + days + "d", endDate = new Date();
     //let endDate = new Date(),startDate = "-6d";
     $("#datepicker").datepicker({
         changeMonth: true,
@@ -90,13 +135,17 @@ $(function(){
     //getPageSet().then(res =>{
     $(".filter").click();   //初始查询
     //})
-//选择病历等级
+    //选择病历等级
     $('.selectLevel').on("click", function (e) {
         e.stopPropagation()
         $(".deptList ").css("display", "none")
         $(".selectDept .arrow").attr("src", iconDown)
         $(".checkList ").css("display", "none")
         $(".selectCheck .arrow").attr("src", iconDown)
+        $(".medoupsList ").css("display", "none")
+        $(".selectMedoups .arrow").attr("src", iconDown)
+        $(".regionsList ").css("display", "none")
+        $(".selectRegions .arrow").attr("src", iconDown)
         const showList = $(".levelList ").css("display")
         if (showList == "none" || !showList) {
             $(".levelList ").css("display", "block")
@@ -107,12 +156,16 @@ $(function(){
         }
     })
 
-//选择核查状态
+    //选择核查状态
     $('.selectStatus').on("click", function (e) {
         e.stopPropagation()
         $(".scoreList").css("display", "none")
-        $(".levelList").css("display","none")
+        $(".levelList").css("display", "none")
         $(".deptList ").css("display", "none")
+        $(".medoupsList ").css("display", "none")
+        $(".selectMedoups .arrow").attr("src", iconDown)
+        $(".regionsList ").css("display", "none")
+        $(".selectRegions .arrow").attr("src", iconDown)
         $(".selectDept .arrow").attr("src", iconDown)
         $(".selectCheck .arrow").attr("src", iconDown)
         const showList = $(".statusList").css("display")
@@ -126,13 +179,17 @@ $(function(){
     })
 
     //筛选分值选择
-    $('.selectScore').on("click", function(e){
+    $('.selectScore').on("click", function (e) {
         e.stopPropagation();
-        $(".deptList").css("display","none")
-        $(".levelList").css("display","none")
-        $(".selectDept .arrow").attr("src",iconDown)
-        $(".selectScore .arrow").attr("src",iconDown)
-        $(".scoreList ").css("display","block")
+        $(".deptList").css("display", "none")
+        $(".levelList").css("display", "none")
+        $(".medoupsList ").css("display", "none")
+        $(".selectMedoups .arrow").attr("src", iconDown)
+        $(".regionsList ").css("display", "none")
+        $(".selectRegions .arrow").attr("src", iconDown)
+        $(".selectDept .arrow").attr("src", iconDown)
+        $(".selectScore .arrow").attr("src", iconDown)
+        $(".scoreList ").css("display", "block")
     })
 
     //筛选
@@ -154,7 +211,7 @@ $(function(){
         clearFilter();
         getTabData(1)
     })
-    getScoreTabList((data)=>{rendeScoreList(data)},true)
+    getScoreTabList((data) => { rendeScoreList(data) }, true)
     getTabData(1)
     bindLeveldSelect()
     bindStatusdSelect()
@@ -166,6 +223,10 @@ $(function(){
         $(".selectLevel .arrow").attr("src", iconDown)
         $(".statusList").css("display", "none")
         $(".selectStatus .arrow").attr("src", iconDown)
+        $(".medoupsList ").css("display", "none")
+        $(".selectMedoups .arrow").attr("src", iconDown)
+        $(".regionsList ").css("display", "none")
+        $(".selectRegions .arrow").attr("src", iconDown)
         const showList = $(".deptList ").css("display")
         if (showList == "none" || !showList) {
             $(".deptList ").css("display", "block")
@@ -176,19 +237,63 @@ $(function(){
         }
     })
 
+    $('.selectRegions').on("click", function (e) {
+        e.stopPropagation()
+        $(".levelList ").css("display", "none")
+        $(".scoreList").css("display", "none")
+        $(".selectLevel .arrow").attr("src", iconDown)
+        $(".statusList").css("display", "none")
+        $(".selectStatus .arrow").attr("src", iconDown)
+        $(".medoupsList ").css("display", "none")
+        $(".selectMedoups .arrow").attr("src", iconDown)
+        $(".deptList ").css("display", "none")
+        $(".selectDept .arrow").attr("src", iconDown)
+        const showList = $(".regionsList ").css("display")
+        if (showList == "none" || !showList) {
+            $(".regionsList ").css("display", "block")
+            $(".selectRegions .arrow").attr("src", iconUp)
+        } else {
+            $(".regionsList ").css("display", "none")
+            $(".selectRegions .arrow").attr("src", iconDown)
+        }
+    })
+    $('.selectMedoups').on("click", function (e) {
+        e.stopPropagation()
+        $(".levelList ").css("display", "none")
+        $(".scoreList").css("display", "none")
+        $(".selectLevel .arrow").attr("src", iconDown)
+        $(".statusList").css("display", "none")
+        $(".selectStatus .arrow").attr("src", iconDown)
+        $(".regionsList ").css("display", "none")
+        $(".selectRegions .arrow").attr("src", iconDown)
+        $(".deptList ").css("display", "none")
+        $(".selectDept .arrow").attr("src", iconDown)
+        const showList = $(".medoupsList ").css("display")
+        if (showList == "none" || !showList) {
+            $(".medoupsList ").css("display", "block")
+            $(".selectMedoups .arrow").attr("src", iconUp)
+        } else {
+            $(".medoupsList ").css("display", "none")
+            $(".selectMedoups .arrow").attr("src", iconDown)
+        }
+    })
     $(document).on("click", function () {
         $(".statusList").css("display", "none")
         $(".scoreList").css("display", "none")
         $(".levelList ").css("display", "none")
         $(".deptList").css("display", "none")
+        $(".medoupsList ").css("display", "none")
+        $(".selectMedoups .arrow").attr("src", iconDown)
+        $(".regionsList ").css("display", "none")
+        $(".selectRegions .arrow").attr("src", iconDown)
         $(".selectDept .arrow").attr("src", iconDown)
         $(".selectLevel .arrow").attr("src", iconDown)
         $(".selectStatus .arrow").attr("src", iconDown)
     })
 
 
-//获取科室列表
-    getDeptList()
+    //获取科室列表
+    // getDeptList()
 })
 
 //判断有无某一权限
@@ -204,55 +309,69 @@ function hasData(data) {
     return false;
 }
 //列表获取筛选值
-function getFilterData(){
+function getFilterData() {
     const obj = {};
-    $(".filterBox input[code]").map((i,it)=>{
-        obj[$(it).attr("code")]=$(it).val()
+    $(".filterBox input[code]").map((i, it) => {
+        obj[$(it).attr("code")] = $(it).val()
     })
     return obj;
 }
 //重置筛选项
-function clearFilter(){
+function clearFilter() {
     $(".filterBox input").val("");
-    data_desc=["jobDistributionTime"];
+    data_desc = ["jobDistributionTime"];
     /*if(isPlacefile != 1){
         data_desc=["behospital_date"]
     }*/
-    data_asc=[];
+    data_asc = [];
     //默认日期为本月
-    const days = new Date().getDate()-1;
-    let startDate = "-"+days+"d",endDate=new Date();
-    $( "#datepicker" ).datepicker({
+    const days = new Date().getDate() - 1;
+    let startDate = "-" + days + "d", endDate = new Date();
+    $("#datepicker").datepicker({
         changeMonth: true,
         changeYear: true,
-        dateFormat:"yy-mm-dd",
-    }).datepicker( "setDate", startDate);
-    $( "#datepicker2" ).datepicker({
+        dateFormat: "yy-mm-dd",
+    }).datepicker("setDate", startDate);
+    $("#datepicker2").datepicker({
         changeMonth: true,
         changeYear: true,
-        dateFormat:"yy-mm-dd"
-    }).datepicker( "setDate",endDate);
+        dateFormat: "yy-mm-dd"
+    }).datepicker("setDate", endDate);
     $("th[code]").removeClass("asc desc")
     $("th[code='jobDistributionTime']").addClass('desc');
-
-    $('.selectDept ').html('全部')
+    // $('.selectDept ').html('全部')
     $(".deptList").css("display", "none")
     $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
-    global_deptId="";
+    if (localMedoupCode && !showAllFlag) {
+        console.log(123);
+        
+        let result = medoupList.find((item) => {
+            return item.code == localMedoupCode
+        })
+        medoups = [result.code]
+        $('.selectMedoups').attr("data-id", result.code).html(result.name)
+    }else{
+        medoups = []
+        $('.selectMedoups').html('全部')
+    }
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 
     $('.selectLevel').html('全部')
     $(".levelList").css("display", "none")
     $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
-    global_level="";
+    global_level = "";
 
     $('.selectStatus').html('全部')
     $(".statusList").css("display", "none")
     $(".selectStatus").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
-    global_checkStatus="";
+    global_checkStatus = "";
 
     $('.selectScore i').html('全部')
     $(".scoreList").css("display", "none")
-    global_score='';
+    global_score = '';
 }
 function getTabData(activePage) {
     const filterData = getFilterData();
@@ -261,16 +380,18 @@ function getTabData(activePage) {
         asc: data_asc,     //升序
         desc: data_desc,       //降序
         size: 15,
-        current:activePage,
+        current: activePage,
         ...filterData,
-        checkJobTypes:global_score.trim()?[global_score]:[],
-        behDeptId:global_deptId.trim(),
-        status:global_checkStatus,
-        jobDistributionTimeStart:filterData.jobDistributionTimeStart+" 00:00:00",
-        jobDistributionTimeEnd:filterData.jobDistributionTimeEnd+" 23:59:59"
+        checkJobTypes: global_score.trim() ? [global_score] : [],
+        depts: [global_deptId.trim()],
+        status: global_checkStatus,
+        jobDistributionTimeStart: filterData.jobDistributionTimeStart + " 00:00:00",
+        jobDistributionTimeEnd: filterData.jobDistributionTimeEnd + " 23:59:59",
+        medoups: medoups,
+        wards: wards
     }
     $('.pagination').html("")
-    $('.tbody').html(emptyBox('努力加载中...', '', 15))
+    $('.tbody').html(emptyBox('努力加载中...', '', 17))
     return post(ywCheckApi.getUserList, param).then(res => {
         if (res.data.code == '0') {
             tabList = res.data.data.records
@@ -284,7 +405,12 @@ function getTabData(activePage) {
                 $('.pagination').html("")
             }
         } else {
-            $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+            const token = localStorage.getItem('accessToken');
+            if (!token && window.location.href.indexOf('login') == -1) {
+                //alert('无token判断,跳回登录')
+            } else {
+                $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+            }
         }
     }).catch((e) => {
 
@@ -310,43 +436,48 @@ function bindOrder() {
 }
 
 //来源筛选下拉
-function rendeScoreList(list){console.log(list)
+function rendeScoreList(list) {
+    console.log(list)
     const arr = Object.keys(list);
-    if(arr.length == 0){
+    if (arr.length == 0) {
         $('.scoreList').html("")
         return
     }
     let str = `<li class="scoreItem ellipsis" data-id=" " data-name="全部">全部</li>`;
-    for(let i = 0; i < arr.length; i++){
+    for (let i = 0; i < arr.length; i++) {
         str += `<li class="scoreItem ellipsis" data-id=${arr[i]} data-name=${list[arr[i]]}> ${list[arr[i]]}</li>`
     }
     $('.scoreList').html(str)
     bindScoreSelect()
 }
-function bindScoreSelect(){
-    $('.scoreItem').on("click",function(){
+function bindScoreSelect() {
+    $('.scoreItem').on("click", function () {
         const scoreItemName = $(this).attr("data-name")
         const scoreItemItemId = $(this).attr("data-id")
-        global_score =scoreItemItemId;
+        global_score = scoreItemItemId;
         $('.selectScore i').html(scoreItemName)
         $(".scoreList").css("display", "none")
     })
 }
 function renderTab(data) {
-    let str = ``,code="";
+    let str = ``, code = "";
     if (data.length === 0) {
-        $('.tbody').html(emptyBox(null, 15))
+        $('.tbody').html(emptyBox(null, 17))
         return;
     }
     const titles = $(".tabTitle th[code]");
-    for(let i = 0; i < data.length; i++){
+    for (let i = 0; i < data.length; i++) {
         const item = data[i]
 
         str += `
             <tr  data-index=${i}>`;
-        for(let i=0;i<titles.length;i++){
+        for (let i = 0; i < titles.length; i++) {
             code = $(titles[i]).attr('code');
-            str +=  `<td class="${code=='name'?'beHospitalId':''} textCenter"><span data-index=${i}>${ item[code] || "-"}<span></td>`
+            if (code == 'checkTime') {
+                str += `<td class="${code == 'name' ? 'beHospitalId' : ''} textCenter"><span data-index=${i}>${item[code].split('-')[0] == '1970' ? '-' : item[code]}<span></td>`
+            } else {
+                str += `<td class="${code == 'name' ? 'beHospitalId' : ''} textCenter"><span data-index=${i}>${item[code] || "-"}<span></td>`
+            }
         }
         str += "</tr>"
     }
@@ -364,12 +495,12 @@ function bindScoreDetail() {
         const name = tabList[index].name
         const age = tabList[index].age;
         const checkStatus = tabList[index].checkStatus
-        scoreDetail({id, age,name, hid:getCookie("hospitalid"),code:'YH-ZKHC-HCRWLB'})
+        scoreDetail({ id, age, name, hid: getCookie("hospitalid"), code: 'YH-ZKHC-HCRWLB' })
     });
 }
 function scoreDetail(obj) {
     const logoParam = getLogoParam();
-    window.open(`./qcScore.html?id=${obj.id}&age=${obj.age}&name=${obj.name}&hid=${obj.hid}&code=${obj.code}`+logoParam)
+    window.open(`./qcScore.html?id=${obj.id}&age=${obj.age}&name=${obj.name}&hid=${obj.hid}&code=${obj.code}` + logoParam)
 }
 //病历等级选择
 function bindLeveldSelect() {
@@ -405,7 +536,6 @@ function getDeptList() {
 }
 
 function rendeDeptList(deptList) {
-    //console.log(deptList)
     let str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`
     for (let i = 0; i < deptList.length; i++) {
         str += `<li class="deptItem ellipsis" title=${deptList[i].deptName} data-id=${deptList[i].deptId} data-name=${deptList[i].deptName}> ${deptList[i].deptName}</li>`
@@ -428,6 +558,38 @@ function bindDeptSelect() {
         $(".deptList").css("display", "none")
     })
 }
+//病区选择
+function bindRegionsSelect() {
+    $('.regionsItem').on("click", function () {
+        const regionsItemName = $(this).attr("data-name")
+        const regionsItemCode = $(this).attr("data-id")
+        wards = regionsItemCode ? [regionsItemCode] : []
+        if (regionsItemName.length > 10) {
+            $('.selectRegions').text(regionsItemName.substring(0, 8) + '...')
+        } else {
+            $('.selectRegions').text(regionsItemName)
+        }
+        $('.selectRegions ').text(regionsItemName).attr('title', regionsItemName)
+        $(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $(".regionsList").css("display", "none")
+    })
+}
+//医疗组选择
+function bindMedoupsSelect() {
+    $('.medoupsItem').on("click", function () {
+        const medoupsItemName = $(this).attr("data-name")
+        const medoupsItemCode = $(this).attr("data-Id")
+        medoups = medoupsItemCode ? [medoupsItemCode] : []
+        if (medoupsItemName.length > 10) {
+            $('.selectMedoups').text(medoupsItemName.substring(0, 8) + '...')
+        } else {
+            $('.selectMedoups').text(medoupsItemName)
+        }
+        $('.selectMedoups ').text(medoupsItemName).attr('title', medoupsItemName)
+        $(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $(".medoupsList").css("display", "none")
+    })
+}
 function loading() {
     const str = `
     <div class="loadingBox">

+ 1 - 1
src/js/console.js

@@ -14,7 +14,7 @@ require('./../resource/jquery-ui/jquery-ui.min.js');
 require('./../resource/jquery-ui/jquery-ui.min.css');
 const {post,setCookie,delCookie,getCookie,focusMenuItem,picEmptyData, initScroll,listenScroll} = require('../js/utils.js');
 const { get } = require('jquery');
-let payMoney = [],behosDateStart="",ownSelectDate='',behosDateEnd="",dayLis = [],dateType = 2,slideType = 1,hospital=getCookie("hospital"),deptType="内科",deptId="",level="甲",lineType="all",lineType1=[],lineType2=[],lineType3=[],lineType4=[];
+let payMoney = [],behosDateStart="",ownSelectDate='',behosDateEnd="",dayLis = [],dateType = 1,slideType = 1,hospital=getCookie("hospital"),deptType="内科",deptId="",level="甲",lineType="all",lineType1=[],lineType2=[],lineType3=[],lineType4=[];
 let isPlacefile = getCookie('isPlacefile')||1
 listenScroll(".partWrap")
 if(isPlacefile == 1){

+ 172 - 45
src/js/creatCheckTask.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("../css/creatCheckTask.less");
 require('./modal.js');
 const { api, ywCheckApi } = require('./api.js')
-const { post, getCookie, emptyBox, listenScroll, getScoreTabList } = require('./utils.js')
+const { post, getCookie, getLocal, emptyBox, listenScroll, getScoreTabList } = 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,15 +17,20 @@ const arrowLeft = require("./../images/arrow_left.png")
 const arrowRight = require("./../images/arrow_right.png")
 
 listenScroll()
-let tabList = [], global_level = "", global_status = "0",
+let tabList = [], global_level = "", global_status = "0", wards = [], medoups = [],
     global_deptId = [], global_deptName = "", global_score = '',
     data_desc = ["leaveHospitalDate"], data_asc = [], global_taskList = [], global_delOrAdd = 1;//1生成0取消
 let global_activeTabCode = '0';    //激活的tab  code
 let isPlacefile = getCookie('isPlacefile') || 1
+const regionList = JSON.parse(localStorage.getItem('regions'))
+const medoupList = JSON.parse(localStorage.getItem('medoups'))
+const localMedoupCode = JSON.parse(localStorage.getItem('localMedoupCode'))
+let deptList = JSON.parse(getCookie("deptList")) || []
 
 $(function () {
     $(window.parent.document).find(".modaltip").hide();//切换页面过快时toast隐藏
     const checkAuth = getCookie('checkAuth');
+
     /*if(!checkAuth){
         $(".tabs").hide();
         toast("没有质控核查权限!");
@@ -49,6 +54,52 @@ $(function () {
     } else {
         getDeptList();
     }
+    if (regionList) {
+        let str = ``
+        if (regionList.length <= 0) return
+        $(".qcList .selectRegions").attr("data-id", regionList[0].code).find("i").html(regionList[0].name)
+        for (let i = 0; i < regionList.length; i++) {
+            let tmp = regionList[i]
+            str += `<li class="regionsItem ellipsis" title="${tmp.name}" data-id="${tmp.code}" data-name="${tmp.name}">${tmp.name}</li>`
+        }
+        $(".qcList .regionsList").html(str)
+        wards = [regionList[0].code]
+        bindRegionsSelect()
+    }
+    if (medoupList) {
+        if (medoupList.length <= 0) return
+        let str = `<li class="medoupsItem ellipsis" data-id="" data-name="全部">全部</li>`;
+        for (let i = 0; i < medoupList.length; i++) {
+            let tmp = medoupList[i]
+            str += `<li class="medoupsItem ellipsis" title="${tmp.name}" data-id="${tmp.code}" data-name="${tmp.name}">${tmp.name}</li>`
+        }
+        $(".qcList .medoupsList").html(str)
+        bindMedoupsSelect()
+    }
+    // if (localMedoupCode) {
+    //     let result = medoups.find((item) => {
+    //         return item.code == localMedoupCode
+    //     })
+    //     medoupId = result.code
+    //     medoupName = result.name
+    //     if (medoupName.length > 10) {
+    //         $('.selectMedoups').text(medoupName.substring(0, 8) + '...')
+    //     } else {
+    //         $('.selectMedoups').text(medoupName)
+    //     }
+    //     $('.selectMedoups ').text(medoupName).attr('title', medoupName)
+    // }
+    if (deptList) {
+        let str = ``
+        if (deptList.length <= 0) return
+        $(".qcList .selectDept").attr("data-id", deptList[0].deptId).find("i").html(deptList[0].deptName)
+        for (let i = 0; i < deptList.length; i++) {
+            let tmp = deptList[i]
+            str += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptId}" data-name="${tmp.deptName}">${tmp.deptName}</li>`
+        }
+        $(".qcList .deptList").html(str)
+        global_DeptId = [deptList[0].deptId]
+    }
     $(".tabs [data-code=" + global_activeTabCode + "]").addClass("active");
     $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
     $('.iconCalen').on("mouseenter", function (e) {
@@ -99,9 +150,11 @@ $(function () {
     //切换tab
     $(".tabBox .tabs button").on("click", (e) => {
         const me = e.target;
-        $('.selectDept i').text('全部')
+        // $('.selectDept i').text('全部')
         $(".deptItem.active").removeClass("active");
+        $(".medoupsList").css("display", "none")
         $(".deptList").css("display", "none")
+        $(".regionsList").css("display", "none")
         global_deptId = [];
         global_deptName = "";
         global_activeTabCode = $(me).attr("data-code");
@@ -121,7 +174,9 @@ $(function () {
         const showList = $(".statusList ").css("display")
         if (showList == "none" || !showList) {
             $(".levelList ").css("display", "none")
-            $(".deptList ").css("display", "none")
+            $(".medoupsList").css("display", "none")
+            $(".deptList").css("display", "none")
+            $(".regionsList").css("display", "none")
             $(".scoreList ").css("display", "none")
             $(".statusList ").css("display", "block")
         } else {
@@ -131,10 +186,14 @@ $(function () {
     //选择病历等级
     $('.selectLevel').on("click", function (e) {
         e.stopPropagation()
-        $(".deptList ").css("display", "none")
+        $(".medoupsList").css("display", "none")
+        $(".deptList").css("display", "none")
+        $(".regionsList").css("display", "none")
         const showList = $(".levelList ").css("display")
         if (showList == "none" || !showList) {
-            $(".deptList ").css("display", "none")
+            $(".medoupsList").css("display", "none")
+            $(".deptList").css("display", "none")
+            $(".regionsList").css("display", "none")
             $(".statusList ").css("display", "none")
             $(".scoreList ").css("display", "none")
             $(".levelList ").css("display", "block")
@@ -142,6 +201,16 @@ $(function () {
             $(".levelList ").css("display", "none")
         }
     })
+    //病区选择
+    $('.selectRegions').on("click", function (e) {
+        e.stopPropagation();
+        $(".levelList ").css("display", "none")
+        $(".statusList ").css("display", "none")
+        $(".scoreList ").css("display", "none")
+        $(".deptList ").css("display", "none")
+        $(".medoupsList ").css("display", "none")
+        $(".regionsList ").css("display", "block")
+    })
     //科室选择
     $('.selectDept').on("click", function (e) {
         e.stopPropagation();
@@ -149,8 +218,19 @@ $(function () {
         $(".statusList ").css("display", "none")
         $(".scoreList ").css("display", "none")
         $(".deptList ").css("display", "block")
+        $(".medoupsList ").css("display", "none")
+        $(".regionsList ").css("display", "none")
+    })
+    //医疗组选择
+    $('.selectMedoups').on("click", function (e) {
+        e.stopPropagation();
+        $(".levelList ").css("display", "none")
+        $(".statusList ").css("display", "none")
+        $(".scoreList ").css("display", "none")
+        $(".deptList ").css("display", "none")
+        $(".medoupsList ").css("display", "block")
+        $(".regionsList ").css("display", "none")
     })
-
     //筛选分值选择
     $('.selectScore').on("click", function (e) {
         e.stopPropagation();
@@ -158,6 +238,8 @@ $(function () {
         $(".deptList ").css("display", "none")
         $(".statusList ").css("display", "none")
         $(".scoreList ").css("display", "block")
+        $(".medoupsList ").css("display", "none")
+        $(".regionsList ").css("display", "none")
     })
 
     $(".creatTask,.cancelTask").click(function () {
@@ -236,14 +318,16 @@ $(function () {
     //关闭下拉
     $(document).on("click", function () {
         $(".levelList ").css("display", "none")
-        $(".deptList ").css("display", "none")
+        $(".medoupsList").css("display", "none")
+        $(".deptList").css("display", "none")
+        $(".regionsList").css("display", "none")
         $(".statusList ").css("display", "none")
         $(".scoreList ").css("display", "none")
     })
 });
 //判断有无某一权限
 function hasData(data) {
-    let trdObj = JSON.parse(getCookie("trdObj"))
+    let trdObj = JSON.parse(getLocal("trdObj"))
     let lis = trdObj['YH-ZKHC-SCRW']
     if (!lis) {
         return false
@@ -279,11 +363,6 @@ function bindScoreSelect() {
 function bindOrder() {
     $("th[code]").off("click").on("click", function (e) {
         const code = $(this).attr("code");
-        if (data_asc[0] === 'age') {
-
-        } else {
-
-        }
         if ((data_asc[0] === code && code !== 'age') || (data_desc[0] === 'birthday' && code == 'age')) {
             if (code == 'age') {
                 $("th[code]").removeClass("asc desc");
@@ -346,6 +425,7 @@ function creatTask() {
 
 function getTabData(activePage) {
     const filterData = getFilterData();
+    console.log(filterData,222);
     const { smallDay, bigDay, startDate, endDate } = filterData;
     if (+smallDay > +bigDay) {
         toast("住院天数区间有误~");
@@ -355,6 +435,8 @@ function getTabData(activePage) {
         toast("出院日期开始时间不能大于结束时间~");
         return;
     }
+    console.log(global_DeptId);
+
     const param = {
         jobType: global_activeTabCode,     //科室/质控科/院级
         creatStatus: global_status,
@@ -362,16 +444,18 @@ function getTabData(activePage) {
         hospitalId: '',
         level: global_level,//病历等级
         values: global_score.trim() ? [global_score] : [],
-        department: global_deptId,
+        depts: global_DeptId,
         asc: data_asc,     //升序
         desc: data_desc,       //降序
         size: 15,
         ...filterData,
         startDate: filterData.startDate + " 00:00:00",
         endDate: filterData.endDate + " 23:59:59",
+        wards: wards,
+        medoups: medoups,
     }
     $('.pagination').html("")
-    $('.tbody').html(emptyBox('努力加载中...', '', 17))
+    $('.tbody').html(emptyBox('努力加载中...', '', 19))
     return post(ywCheckApi.getTaskList, param).then(res => {
         if (res.data.code == '0') {
             const data = res.data.data;
@@ -386,7 +470,13 @@ function getTabData(activePage) {
                 $('.pagination').html("")
             }
         } else {
-            toast(res.data.msg);
+            const token = localStorage.getItem('accessToken');
+            if (!token && window.location.href.indexOf('login') == -1) {
+                //alert('无token判断,跳回登录')
+            } else {
+                toast(res.data.msg);
+            }
+
         }
     }).catch((e) => {
 
@@ -401,7 +491,7 @@ function renderTab(data) {
     let str = ``, code = "";
     let hasSelectAll = true;
     if (data.length === 0) {
-        $('.tbody').html(emptyBox(null, 17))
+        $('.tbody').html(emptyBox(null, 19))
         //   initScroll("qcList","YX",1)
         return;
     }
@@ -414,7 +504,11 @@ function renderTab(data) {
                 <td class="operaItem taskCheck textCenter"><img code="${item.behospitalCode}" src="${iconUnCheck}" alt=""></td>`;
         for (let i = 0; i < titles.length; i++) {
             code = $(titles[i]).attr('code');
-            str += `<td class="textCenter"><span data-index=${i}>${item[code] || "-"}<span></td>`
+            if (code == 'value' && item[code] == 0) {
+                str += `<td class="textCenter"><span data-index=${i}>${item[code]}<span></td>`
+            } else {
+                str += `<td class="textCenter"><span data-index=${i}>${item[code] || "-"}<span></td>`
+            }
         }
         str += `<td class="operaItem textCenter ${(item.creatStatus == '已生成' && item.delFlag) ? 'taskCancel' : 'disable'}" code="${item.behospitalCode}">取消</td></tr>`
     }
@@ -442,13 +536,19 @@ function bindTaskCheckEvent() {
         if ($(this).is(".active")) {
             let str = global_taskList.join(",") + ",";
             str = str.replace(code + ",", "").replace(/^,|,$/, '');
-            global_taskList = str.split(",");
+            console.log(str);
+            if (str) {
+                global_taskList = str.split(",");
+            } else {
+                global_taskList = []
+            }
             $(".allCheck img").attr('src', iconUnCheck).removeClass("active");
             $(this).attr('src', iconUnCheck).removeClass("active");
         } else {
             global_taskList.push(code);
             $(this).attr('src', iconCheck).addClass("active");
         }
+        // console.log(global_taskList);
 
     });
     //全选
@@ -467,7 +567,6 @@ function bindTaskCheckEvent() {
             });
             global_taskList = codes;
         }
-        console.log(global_taskList)
 
     });
 }
@@ -530,7 +629,7 @@ function rendeDeptList(deptList) {
         $('.deptList').html("")
         return
     }
-    let str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`;
+    let str = ``;
     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>`
     }
@@ -539,31 +638,53 @@ function rendeDeptList(deptList) {
 }
 //科室选择
 function bindDeptSelect() {
-    $('.deptItem').on("click", function (e) {
-        e.stopPropagation();
-        const deptItemName = $(this).attr("data-name");
-        let str = global_deptId.join(",") + ",";
-        const code = $(this).attr("data-id")
-        if (!code.trim()) {
-            $(".deptItem").removeClass("active");
-            global_deptId = [];
-            global_deptName = "";
-            $('.selectDept i').text('全部')
-            $('.selectDept').attr('title', '全部')
-            return;
+    $('.deptItem').on("click", function () {
+        const deptItemName = $(this).attr("data-name")
+        console.log($(this).attr("data-id") == '' ? [] : [$(this).attr("data-id")]);
+        global_DeptId = $(this).attr("data-id") == '' ? [] : [$(this).attr("data-id")]
+        console.log(global_DeptId, 223);
+        if (deptItemName.length > 10) {
+            $('.selectDept').text(deptItemName.substring(0, 8) + '...')
+        } else {
+            $('.selectDept').text(deptItemName)
         }
-        if ($(this).is(".active")) {
-            global_deptName = global_deptName.replace(deptItemName + ",", '');
-            str = str.replace(code + ",", "").replace(/^,|,$/, '');
-            global_deptId = str.split(",");
+        $('.selectDept ').text(deptItemName).attr('title', deptItemName)
+        $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $(".deptList").css("display", "none")
+    })
+
+
+}
+//病区选择
+function bindRegionsSelect() {
+    $('.regionsItem').on("click", function () {
+        const regionsItemName = $(this).attr("data-name")
+        const regionsItemCode = $(this).attr("data-id")
+        wards = regionsItemCode ? [regionsItemCode] : []
+        if (regionsItemName.length > 10) {
+            $('.selectRegions').text(regionsItemName.substring(0, 8) + '...')
+        } else {
+            $('.selectRegions').text(regionsItemName)
+        }
+        $('.selectRegions ').text(regionsItemName).attr('title', regionsItemName)
+        $(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $(".regionsList").css("display", "none")
+    })
+}
+//医疗组选择
+function bindMedoupsSelect() {
+    $('.medoupsItem').on("click", function () {
+        const medoupsItemName = $(this).attr("data-name")
+        const medoupsItemCode = $(this).attr("data-Id")
+        medoups = medoupsItemCode ? [medoupsItemCode] : []
+        if (medoupsItemName.length > 10) {
+            $('.selectMedoups').text(medoupsItemName.substring(0, 8) + '...')
         } else {
-            global_deptName = global_deptName + deptItemName + ",";
-            global_deptId.push(code);
+            $('.selectMedoups').text(medoupsItemName)
         }
-        $(this).toggleClass("active");
-        const name = global_deptName.replace(/,$/, '');
-        $('.selectDept i').text(name)
-        $('.selectDept').attr('title', name)
+        $('.selectMedoups ').text(medoupsItemName).attr('title', medoupsItemName)
+        $(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        $(".medoupsList").css("display", "none")
     })
 }
 function loading() {
@@ -596,11 +717,17 @@ function clearFilter() {
         changeYear: true,
         dateFormat: "yy-mm-dd"
     }).datepicker("setDate", endDate);
-    $('.selectDept i').text('全部')
+    // $('.selectDept i').text('全部')
     $(".deptItem.active").removeClass("active");
+    $('.selectMedoups').text('全部')
+    $(".medoupsList").css("display", "none")
+    $(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     $(".deptList").css("display", "none")
+    $(".regionsList").css("display", "none")
+    medoups = []
     global_deptId = [];
     global_deptName = "";
+    
     $('.selectLevel i').html('全部')
     $(".levelList").css("display", "none")
     global_level = "";

+ 9 - 8
src/js/dept/checkControlDept.js

@@ -295,13 +295,13 @@ function renderTab(data,hisId,activePage){
             <tr  data-index=${i}>
                 <td class="textCenter">${(activePage-1)*15 + i+1}</td>
                 <td>${item.doctorName || "-"}</td>
-                <td class="goHomeDetail" dept-id="${item.deptId || ""}" doc-name="${item.doctorName || ""}" dept-name="${item.deptName || ""}" data-check="0">${item.mrNum +''|| "-"}</td>
-                <td class="goHomeDetail" dept-id="${item.deptId || ""}" doc-name="${item.doctorName || ""}" dept-name="${item.deptName || ""}" data-check="1">${item.checkedNum+'' || "-"}</td>
-                <td class="goHomeDetail" dept-id="${item.deptId || ""}" doc-name="${item.doctorName || ""}" dept-name="${item.deptName || ""}" data-improve="1">${item.improveNum+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" doc-name="${item.doctorName || ""}" doc-id="${item.doctorId || ""}" dept-name="${item.deptName || ""}" data-check="0">${item.mrNum +''|| "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" doc-name="${item.doctorName || ""}" doc-id="${item.doctorId || ""}" dept-name="${item.deptName || ""}" data-check="1">${item.checkedNum+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" doc-name="${item.doctorName || ""}" doc-id="${item.doctorId || ""}" dept-name="${item.deptName || ""}" data-improve="1">${item.improveNum+'' || "-"}</td>
                 <td>${item.improvePercentStr || "-"}</td>
-                <td class="goHomeDetail" dept-id="${item.deptId || ""}" doc-name="${item.doctorName || ""}" dept-name="${item.deptName || ""}" data-improve="2">${item.improveToPassNum+'' || "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" doc-name="${item.doctorName || ""}" doc-id="${item.doctorId || ""}" dept-name="${item.deptName || ""}" data-improve="2">${item.improveToPassNum+'' || "-"}</td>
                 <td>${item.improveToPassPercentStr || "-"}</td>
-                <td class="goHomeDetail" dept-id="${item.deptId || ""}" doc-name="${item.doctorName || ""}" dept-name="${item.deptName || ""}" data-improve="3">${item.improveToFullNum +''|| "-"}</td>
+                <td class="goHomeDetail" dept-id="${item.deptId || ""}" doc-name="${item.doctorName || ""}" doc-id="${item.doctorId || ""}" dept-name="${item.deptName || ""}" data-improve="3">${item.improveToFullNum +''|| "-"}</td>
                 <td>${item.improveToFullPercentStr || "-"}</td>
             </tr>
         `
@@ -316,17 +316,18 @@ function renderTab(data,hisId,activePage){
         let checkStatus = $(this).attr("data-check");
         let improveType = $(this).attr("data-improve");
         let docName =$(this).attr("doc-name");
+        let docId = $(this).attr("doc-id");
         name = name === "全院" ? "全部" : name;
         // $(parent.document).find("#contentIframe").attr("src",`./qcListCopyDept.html?defectName=${defectName}&casesId=${caseId} &defectId=${defectId}&startDate=${startDateParam}&endDate=${endDateParam}&from=2&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`)  +"&deptName="+deptIdTemp
         if (checkStatus === '1') {
             // 核查数量跳转
-            $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?from=7&deptName=" + deptIdTemp + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam +"&docName=" + docName)
+            $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?from=7&deptName=" + deptIdTemp + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&docName=" + docName + "&docId=" + docId)
             // return 
         } else if(checkStatus === '0'){
             // 质控总数跳转
-            $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?from=8&deptName=" + deptIdTemp + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam +"&docName=" + docName )
+            $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?from=8&deptName=" + deptIdTemp + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&docName=" + docName + "&docId=" + docId)
         }else{
-            $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?from=6&deptName=" + deptIdTemp + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam+"&docName=" + docName + "&improveType=" + improveType)
+            $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?from=6&deptName=" + deptIdTemp + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&docName=" + docName + "&improveType=" + improveType + "&docId=" + docId)
         }
 
     })

+ 5 - 3
src/js/dept/deptScoreDetailControlDept.js

@@ -250,7 +250,7 @@ function renderTab(data,hisId,activePage){
     for(let i = 0; i <data.length; i++){
         const item = data[i]
         str += `
-            <tr  data-index=${i} data-doc="${item.doctorName}">
+            <tr  data-index=${i} data-doc="${item.doctorName}" data-docId="${item.doctorId}">
                 <td  class="textCenter">${(activePage-1)*15 + i+1}</td>
                 <td >${item.doctorName || "-"}</td>
                 <td class="goHomeDetailQuexian goHomeDetail" data-dept="${item.deptName || ""}" dept-id="${item.deptId || ""}">
@@ -308,17 +308,19 @@ function renderTab(data,hisId,activePage){
     $('.deptScoreDetailControlTable table').html(str?tHead+'<tbody>'+str+'</tbody>':tHead+`<tbody>${emptyBox()}</tbody>`)
     bindScoreDetail(hisId)
     $(".goHomeDetailQuexian").click(function(){
+        let doctorId = $(this).parent().attr("data-docId")
         let doctorName = $(this).parent().attr("data-doc")
         let deptId = $(this).attr("dept-id")
         // focusMenuItem("YH-ZKK-GKSQXZB_XQ");
-        $(parent.document).find("#contentIframe").attr("src", "quexianDetailControlDept.html?deptName=" + deptName+"&doctorName="+doctorName+"&deptId=" + deptId +"&from=2"+"&shijian=3"+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
+        $(parent.document).find("#contentIframe").attr("src", "quexianDetailControlDept.html?deptName=" + deptName + "&doctorName=" + doctorName + "&docId=" + doctorId+"&deptId=" + deptId +"&from=2"+"&shijian=3"+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
     })
     $(".goHomeDetailB").click(function(){
         let doctorName = $(this).parent().attr("data-doc")
+        let doctorId = $(this).parent().attr("data-docId")
         let deptC = $(this).attr("data-c")
         let deptIds = $(this).attr("dept-id")
         focusMenuItem("YH-BLZK-ZKPF");
-        $(parent.document).find("#contentIframe").attr("src","qcListDept.html?deptName="+deptName+"&doctorName="+doctorName+"&from=2"+"&shijian=3&chengdu="+deptC+"&deptId="+deptIds+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
+        $(parent.document).find("#contentIframe").attr("src", "qcListCopyquexian.html?deptName=" + deptName + "&docName=" + doctorName + "&docId=" + doctorId+ "&from=2" + "&shijian=3&chengdu=" + deptC + "&deptId=" + deptIds + "&startDateParam=" + startDateParam + "&endDateParam=" + endDateParam + "&type=10")
     })
     // initScroll("deptScoreDetailControl","YX",1)
 }

+ 11 - 6
src/js/dept/keyItemFlawControlDept.js

@@ -49,7 +49,8 @@ $(".abnormalClear").click(function(){
   casesName=casesNameTemp=""
   setDatePicker($("#datepicker"),$("#datepicker2"),"default")
   deptName =deptNameTemp= deptList[0]&&deptList[0].deptName
-  $(".selectDept").attr({'title':deptName,'data-id':''}).html(deptName).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+  deptId = deptIdTemp = deptList[0] && deptList[0].deptId
+  $(".selectDept").attr({ 'title': deptName, 'data-id': deptId}).html(deptName).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
   $(".selectModuleType").val('全部')
   $("th[code]").removeClass("asc desc")
     getmoduleTypeList()
@@ -124,6 +125,7 @@ function getTabData(activePage){
 
 $(".filter").on("click", function(e){
   deptName = deptNameTemp;
+  deptId = deptIdTemp
   behospitalCode = behospitalCodeTemp;
   casesName=casesNameTemp
   if(deptName == ""){
@@ -136,7 +138,7 @@ function renderTab(data,hisId,activePage){
   for(let i = 0; i < data.length; i++){
     const item = data[i]
     str += `
-          <tr  data-index=${i} class="dataGet" data-doc="${item.doctorName}">
+          <tr  data-index=${i} class="dataGet" data-doc="${item.doctorName}" data-docId="${item.doctorId}">
               <td  class="textCenter">${(activePage-1)*15 + i+1}</td>
               <td >${item.doctorName || "-"}</td>
               <td class="goHomeDetail" dept-id="${item.deptId || ""}" dept-name="${item.deptName || ""}" data-id="${item.consultationEntryId || ""}" data-name="${item.consultationEntryName || ""}">${item.consultationNum+'' || "-"}</td>
@@ -162,11 +164,12 @@ function renderTab(data,hisId,activePage){
     let casesId = $(this).attr("data-id");
     let name=$(this).attr("dept-name");
     let docName=$(this).parent(".dataGet").attr("data-doc");
+    let docId = $(this).parent(".dataGet").attr("data-docId");
     name=name==="全院"?"全部":name;
     let id=$(this).attr("dept-id");
     // 确定31天处跳转
     let fromDays = $(this).attr("data-fromDays");
-    $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?from=3&deptName=" + deptName + "&deptId=" + deptName + "&casesEntryId=" + casesId + "&defectName=" + caseName + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&fromDays=" + fromDays+"&docName="+docName)
+    $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?from=3&deptName=" + deptName + "&deptId=" + deptId + "&casesEntryId=" + casesId + "&defectName=" + caseName + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&fromDays=" + fromDays + "&docName=" + docName + "&docId=" + docId)
   })
   // initScroll("partDetailControl","YX",1)
 }
@@ -177,12 +180,13 @@ function bindDeptSelect(){
         const deptItemName = $(this).attr("data-name")||''
         const deptItemId = $(this).attr("data-id")
         deptName =deptNameTemp=deptItemName
+        deptId = deptIdTemp = deptItemId
         if(deptItemName.length > 10){
             $('.selectDept').html(deptItemName.substring(0,8)+'...')
         }else{
             $('.selectDept').html(deptItemName)
         }
-        $('.selectDept ').attr({'title':deptItemName,'data-id':deptItemName})
+      $('.selectDept ').attr({ 'title': deptItemName, 'data-id': deptItemId})
         $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 
         getmoduleTypeList('',deptItemName)
@@ -207,10 +211,11 @@ function getDeptList(){
   let str = ``
   if(deptList.length<=0)return
   deptName = deptNameTemp = deptList[0].deptName
-  $(".selectDept").attr("data-id",deptName).find("i").html(deptName)
+  deptId = deptIdTemp = deptList[0].deptId
+  $(".selectDept").attr("data-id", deptId).find("i").html(deptName)
   for(let i = 0;i < deptList.length;i++){
       let tmp = deptList[i]
-      str += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptName}" data-name="${tmp.deptName}">${tmp.deptName}</li>`
+    str += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptId}" data-name="${tmp.deptName}">${tmp.deptName}</li>`
   }
   getmoduleTypeList('',deptName)
   getTabData(1)

+ 5 - 3
src/js/dept/partDetailControlDept.js

@@ -278,7 +278,7 @@ function renderTab(data,hisId,activePage){
     for(let i = 0; i < data.length; i++){
         const item = data[i]
         str += `
-            <tr  data-index=${i} data-doc=${item.doctorName}>
+            <tr  data-index=${i} data-doc=${item.doctorName} data-docId=${item.doctorId}>
                 <td  class="textCenter">${(activePage-1)*15 + i+1}</td>
                 <td class="">${item.doctorName || "-"}</td>
                 <td class="goHomeDetail" data-ruleType="" data-dept="${item.deptName || ""}">${item.entryNum || "-"}</td>
@@ -298,9 +298,10 @@ function renderTab(data,hisId,activePage){
     bindScoreDetail(hisId)
     $(".goHomeDetail").click(function(){
         let docName = $(this).parent().attr("data-doc")
+        let docId = $(this).parent().attr("data-docId")
         let titleName = $(this).attr("data-title")
         let ruleType = $(this).attr("data-ruleType")
-        $(parent.document).find("#contentIframe").attr("src","quexianDetailHome.html?from=10&casesId=243&deptName="+deptIdTemp+"&docName="+docName+"&shijian=3"+"&ruleType="+ruleType+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam+"&titleName="+titleName)
+        $(parent.document).find("#contentIframe").attr("src", "quexianDetailHome.html?from=10&casesId=243&deptName=" + deptIdTemp + "&docName=" + docName + "&docId=" + docId+"&shijian=3"+"&ruleType="+ruleType+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam+"&titleName="+titleName)
     })
     // initScroll("partDetail","YX",1)
     // 不合格数跳转至 病历列表详情页
@@ -308,7 +309,8 @@ function renderTab(data,hisId,activePage){
         let index = $(this).parent().attr("data-index")
         let docName = $(this).parent().attr("data-doc")
         let titleName = $(this).attr("data-title")
-        $(parent.document).find("#contentIframe").attr("src","qcListCopyUnqualifiedDept.html?from=2&casesId=243&deptName="+deptIdTemp+"&docName="+docName+"&shijian=3"+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam+"&titleName="+titleName)
+        let docId = $(this).parent().attr("data-docId")
+        $(parent.document).find("#contentIframe").attr("src", "qcListCopyUnqualifiedDept.html?from=2&casesId=243&deptName=" + deptIdTemp + "&docName=" + docName + "&docId=" + docId+"&shijian=3"+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam+"&titleName="+titleName)
         // $(parent.document).find("#contentIframe").attr("src", "qcListCopy.html?deptName=" + deptName + "&deptId=" + deptId + "&from=4&casesId=243" + "&shijian=3" + "&ruleType=" + ruleType + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&defectName=" + defectName)
         // $(parent.document).find("#contentIframe").attr("src", "qcListCopyUnqualifiedDept.html?deptName=" + deptName + "&deptId=" + deptId + "&from=4&casesId=243" + "&shijian=3" +  "&startDate=" + startDateParam + "&endDate=" + endDateParam+"&titleName="+titleName )
 

文件差異過大導致無法顯示
+ 794 - 610
src/js/dept/qcListCopyDept.js


+ 198 - 17
src/js/dept/qcListCopyUnqualifiedDept.js

@@ -19,7 +19,8 @@ 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 isPlacefile = getCookie('isPlacefile')||1
-
+const regions = JSON.parse(localStorage.getItem('regions'))
+const medoups = JSON.parse(localStorage.getItem('medoups'))
 let pageSet = [],pageSetCopy = [], showNum = 0, scrollTop=0;
 let srcUrl = $("#contentIframe",parent.document).attr("src")
 let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || "3"
@@ -27,6 +28,7 @@ let chengdu = getUrlArgObjectNew("chengdu",srcUrl)||""
 let deptIdPram = getUrlArgObjectNew("deptId",srcUrl)||""
 let deptNamePram = getUrlArgObjectNew("deptName",srcUrl)||"";
 let docName = getUrlArgObjectNew("docName",srcUrl)||"";
+let docId = getUrlArgObjectNew("docId", srcUrl) || "";
 let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||"";
 let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||"";
 let from = getUrlArgObjectNew("from",srcUrl)||"";
@@ -45,15 +47,19 @@ $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".fpSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,qcCheckMain="",qcCheckMainTemp="",
   nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", deptName="", deptNameTemp="",doctorNum="",doctorNameTemp="",doctorNumTemp="",
   fpCheckStatus="",fpCheckStatusTemp="",fpCheckName="",fpCheckNameTemp="",qcCheckName="",qcCheckNameTemp="",qcCheckStatus="",qcCheckStatusTemp="",fpCheckDateStart="",fpCheckDateEnd="",
-    qcCheckDateStart = "", qcCheckDateEnd = "", casesEntryName="",
+    qcCheckDateStart = "", qcCheckDateEnd = "", casesEntryName = "", wardCode = "", wardName = "", medoupId = "", medoupName = "";
   data_desc=["leaveHospitalDate"],data_asc=[];
 listenScroll('.qcListCopy')
 if(isPlacefile != 1){
     data_desc=["behospitalDate"]
 }
+
+
 if(chengdu){
     levelTemp = chengdu
     level = chengdu
@@ -71,6 +77,12 @@ if(docName){
     doctorNameTemp = docName
     doctorName = docName
     $('.doctorInp').val(docName)
+    $('.doctorInp').prop('disabled', true);
+}
+if (docId) {
+    doctorNumTemp = doctorNum = docId
+    $('.doctorNumInp').val(docId)
+    $('.doctorNumInp').prop('disabled', true);
 }
 $(function(){
     if(deptNamePram){
@@ -105,10 +117,15 @@ $('.iconCalen').on("click", function(e){
 })
 $('.recordScoreBtn').css("opacity",hasData('FUNC000017')?'1':'0.5')
 
-$("#filterToggler").click(function(){
+$("#filterToggler").click(function () {
     const text = $(this).text();
-    $(".toggle-item").slideToggle();
-    $(this).text(text==="收起筛选"?"展开筛选":"收起筛选").toggleClass("up");
+    $(".toggle-item").css('display', 'none');
+    $(".filterToggler2").css('display', 'block');
+});
+$("#filterToggler2").click(function () {
+    const text = $(this).text();
+    $(".toggle-item").css('display', 'block');
+    $(".filterToggler2").css('display', 'none');
 });
 //判断有无某一权限
   function hasData(data){
@@ -163,7 +180,11 @@ function getTabData(activePage){
         chTimeEnd: qcCheckDateEnd.replace(/\//g,'-'), //病历核查截止时间
         mrTimeStart: fpCheckDateStart.replace(/\//g,'-'), //首页核查起始时间
         mrTimeEnd: fpCheckDateEnd.replace(/\//g,'-'), //首页核查截止时间
-        titleName:titleName
+        titleName:titleName,
+        wardCode: wardCode,
+        wardName: wardName,
+        medoupId: medoupId,
+        medoupName: medoupName,
     }
     if (from == 9) {
         if (deptName ==="全部"){
@@ -283,16 +304,19 @@ $(".abnormalClear").on("click", function(e){
     fpCheckName="";
     qcCheckName="" ;
     qcCheckMain="" ;
-    doctorNum=""; 
+    // doctorNum=""; 
     doctorNameTemp=""; 
     fpCheckNameTemp="";
     qcCheckNameTemp="";
     qcCheckMainTemp="";
-    doctorNumTemp=""; 
+    // doctorNumTemp=""; 
     fpCheckStatus="";
     fpCheckStatusTemp="";
     qcCheckStatus="";
     qcCheckStatusTemp=""
+    medoupId = "";
+    medoupName = "";
+    $('.selectMedoups ').html('全部').append(`<img class="arrow" src=${iconDown} alt="下拉">`);
     data_desc=["leaveHospitalDate"]
     if(isPlacefile != 1){
         data_desc=["behospitalDate"]
@@ -308,11 +332,23 @@ $(".abnormalClear").on("click", function(e){
         deptIdTemp = deptIdPram = deptIdPram
         deptName = deptNameTemp = deptNamePram
     }
+    if (docName) {
+        doctorNameTemp = docName
+        doctorName = docName
+        $('.doctorInp').val(docName)
+        $('.doctorInp').prop('disabled', true);
+    } else {
+        $('.doctorInp').val('')
+        $('.doctorInp').prop('disabled', false);
+    }
+    if (docId) {
+        doctorNumTemp = doctorNum = docId
+        $('.doctorNumInp').val(docId)
+        $('.doctorNumInp').prop('disabled', true);
+    }
     $('.patientNumInp').val('')
     $('.patientNameInp').val('')
-    $('.doctorInp').val('')
-    $('.doctorNumInp').val('')
-    $('.doctorInp').val('')
+    // $('.doctorNumInp').val('')
     $('.fpCheckPeople').val('')
     $('.qcCheckPeople').val('')
     $('.qcCheckMain').val('')
@@ -362,8 +398,12 @@ $(".abnormalClear").on("click", function(e){
     }else{
         $(".selectDept").attr({'title':"全部",'data-id':''}).val("全部")
     }
+    $(".regionsList").css("display", "none")
+    $(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     $(".deptList").css("display", "none")
     $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    $('.selectMedoups ').html('全部')
+    $(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     // $('.selectDept ').addClass('unSelect')
     $('.selectLevel').html('全部')
     $(".levelList").css("display", "none")
@@ -470,8 +510,12 @@ function bindScoreDetail(hisId){
 //选择病历等级
 $('.selectLevel').on("click", function(e){
     e.stopPropagation()
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
     $(".deptList ").css("display", "none")
-    $(".selectDept .arrow").attr("src",iconDown)
+    $(".selectDept .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".fpCheckList ").css("display", "none")
     $(".fpSelectCheck .arrow").attr("src",iconDown)
     $(".qcSelectCheck .arrow").attr("src",iconDown)
@@ -489,8 +533,12 @@ $('.selectLevel').on("click", function(e){
 //选择病案首页核查状态
 $('.fpSelectCheck').on("click", function(e){
     e.stopPropagation()
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
     $(".deptList ").css("display", "none")
-    $(".selectDept .arrow").attr("src",iconDown)
+    $(".selectDept .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
     $(".qcSelectCheck .arrow").attr("src",iconDown)
@@ -507,8 +555,12 @@ $('.fpSelectCheck').on("click", function(e){
 //选择病历核查状态
 $('.qcSelectCheck').on("click", function(e){
     e.stopPropagation()
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
     $(".deptList ").css("display", "none")
-    $(".selectDept .arrow").attr("src",iconDown)
+    $(".selectDept .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
     $(".fpSelectCheck .arrow").attr("src",iconDown)
@@ -682,7 +734,32 @@ $('.selectDept').on("click", function(e){
         $(".selectDept .arrow").attr("src",iconDown)
     }
 })
-
+$('.selectRegions').on("click", function (e) {
+    e.stopPropagation()
+    $(".levelList ").css("display", "none")
+    $(".selectLevel .arrow").attr("src", iconDown)
+    const showList = $(".regionsList ").css("display")
+    if (showList == "none" || !showList) {
+        $(".regionsList ").css("display", "block")
+        $(".selectRegions .arrow").attr("src", iconUp)
+    } else {
+        $(".regionsList ").css("display", "none")
+        $(".selectRegions .arrow").attr("src", iconDown)
+    }
+})
+$('.selectMedoups').on("click", function (e) {
+    e.stopPropagation()
+    $(".levelList ").css("display", "none")
+    $(".selectLevel .arrow").attr("src", iconDown)
+    const showList = $(".medoupsList ").css("display")
+    if (showList == "none" || !showList) {
+        $(".medoupsList ").css("display", "block")
+        $(".selectMedoups .arrow").attr("src", iconUp)
+    } else {
+        $(".medoupsList ").css("display", "none")
+        $(".selectMedoups .arrow").attr("src", iconDown)
+    }
+})
 
 bindDeptSelect()
 //科室选择
@@ -703,6 +780,101 @@ function bindDeptSelect(){
         // getmoduleTypeList('',deptItemId)
     })
 }
+//获取病区列表
+getRegionList()
+function getRegionList(val) {
+    post(api.getLocalRegionMedoup).then(res => {
+        if (res.data.code == '0') {
+            const regionsList = res.data.data.regions || []
+            rendeRegionAndList(regionsList)
+        } else {
+            rendeRegionAndList([])
+        }
+    }).catch((e) => {
+
+    })
+}
+function rendeRegionAndList(regionsList) {
+    if (regionsList.length == 0) {
+        $('.regionsList').html("")
+        return
+    }
+    let str = ``;
+    $(".selectRegions").attr("data-id", regionsList[0].code).html(regionsList[0].name)
+    for (let i = 0; i < regionsList.length; i++) {
+        str += `<li class="regionsItem ellipsis" title=${regionsList[i].name} data-id=${regionsList[i].code} data-name=${regionsList[i].name}> ${regionsList[i].name}</li>`
+    }
+    $('.regionsList').html(str)
+    wardCode = regionsList[0].code;
+    wardName = regionsList[0].name;
+    bindregionsSelect()
+}
+//病区选中
+function bindregionsSelect() {
+    $("body").on("click", '.regionsItem', function () {
+        const regionsItemName = $(this).attr("data-name")
+        const regionsItemId = $(this).attr("data-id")
+        // deptName = deptNameTemp = regionsItemName
+        wardCode = regionsItemId
+        wardName = regionsItemName
+        console.log(wardCode);
+        console.log(wardName);
+        if (regionsItemName.length > 10) {
+            $('.selectRegions').html(regionsItemName.substring(0, 8) + '...')
+        } else {
+            $('.selectRegions').html(regionsItemName)
+        }
+        $('.selectRegions ').attr({ 'title': regionsItemName, 'data-id': regionsItemId })
+        $(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+        $(".regionsList").css("display", "none")
+    })
+}
+//获取医疗组列表
+getMedoupsList()
+function getMedoupsList(val) {
+    post(api.getLocalRegionMedoup).then(res => {
+        if (res.data.code == '0') {
+            const medoupsList = res.data.data.medoups || []
+            rendemedoupsList(medoupsList)
+        } else {
+            rendemedoupsList([])
+        }
+    }).catch((e) => {
+
+    })
+}
+function rendemedoupsList(medoupsList) {
+    if (medoupsList.length == 0) {
+        $('.medoupsList').html("")
+        return
+    }
+    let str = `<li class="medoupsItem ellipsis" data-id=" " data-name="全部">全部</li>`;
+    for (let i = 0; i < medoupsList.length; i++) {
+        str += `<li class="medoupsItem ellipsis" title=${medoupsList[i].name} data-id=${medoupsList[i].code} data-name=${medoupsList[i].name}> ${medoupsList[i].name}</li>`
+    }
+    $('.medoupsList').html(str)
+    bindmedoupsSelect()
+}
+//医疗组选中
+function bindmedoupsSelect() {
+    $("body").on("click", '.medoupsItem', function () {
+        const medoupsItemName = $(this).attr("data-name")
+        const medoupsItemId = $(this).attr("data-id")
+        medoupId = medoupsItemId
+        medoupName = medoupsItemName == '全部' ? '' : medoupsItemName
+        // deptName = deptNameTemp = regionsItemName
+        if (medoupsItemName.length > 10) {
+            $('.selectMedoups').html(medoupsItemName.substring(0, 8) + '...')
+        } else {
+            $('.selectMedoups').html(medoupsItemName)
+        }
+        $('.selectMedoups ').attr({ 'title': medoupsItemName, 'data-id': medoupsItemId })
+        $(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+        $(".medoupsList").css("display", "none")
+    })
+}
 getDeptList()
 function getDeptList(){
     let str = ``
@@ -1175,12 +1347,17 @@ function renderPagination(totalPage,activePage,totalNum){
 
 $(document).on("click", function(){
     $(".levelList ").css("display", "none")
+    $(".deptList").css("display", "none")
+    $(".regionsList ").css("display", "none")
+    $(".medoupsList ").css("display", "none")
     $(".fpCheckList").css("display", "none")
     $(".qcCheckList").css("display", "none")
     $(".selectDept .arrow").attr("src",iconDown)
     $(".selectLevel .arrow").attr("src",iconDown)
     $(".fpSelectCheck .arrow").attr("src",iconDown)
     $(".qcSelectCheck .arrow").attr("src",iconDown)
+    $(".selectRegions .arrow").attr("src", iconDown)
+    $(".selectMedoups .arrow").attr("src", iconDown)
 })
 $(function($){
     $('.export').click(function(){
@@ -1225,6 +1402,10 @@ $(function($){
             chTimeEnd: qcCheckDateEnd.replace(/\//g,'-'), //病历核查截止时间
             mrTimeStart: fpCheckDateStart.replace(/\//g,'-'), //首页核查起始时间
             mrTimeEnd: fpCheckDateEnd.replace(/\//g,'-'), //首页核查截止时间
+            wardCode: wardCode,
+            wardName: wardName,
+            medoupId: medoupId,
+            medoupName: medoupName,
         }
 
         // console.log(exportURL,'exportURL导出接口');
@@ -1259,7 +1440,7 @@ $(function($){
 });
 function closeRadio(){
     $(".colSetBox .iconClose,.colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
-        $(".divModal",parent.document).html("")
+        $(".divModal", parent.document).remove();
     })
 }
 function radioSelect(){
@@ -1278,7 +1459,7 @@ function bindSaveColPort(param){
         }
         param.radioCheck = radioCheck||1
         expJson(api.homePageOrLevelExportByDept,param).then(res =>{
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove();
             downloadExportedData(res.data, $(".partTitle").text() + ".xls")
         })
     })

+ 194 - 14
src/js/dept/qcListOutHospitalDept.js

@@ -43,11 +43,13 @@ $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".fpSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectLeaveHosType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,
   nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", deptName="", deptNameTemp="",
   doctorNum="",doctorNameTemp="",doctorNumTemp="",leaveHosType="",leaveHosTypeTemp="",
   fpCheckStatus="",fpCheckStatusTemp="",fpCheckName="",fpCheckNameTemp="",qcCheckMain="",qcCheckMainTemp="",qcCheckName="",qcCheckNameTemp="",qcCheckStatus="",qcCheckStatusTemp="",fpCheckDateStart="",fpCheckDateEnd="",
-  qcCheckDateStart="",qcCheckDateEnd="",data_desc=["leaveHospitalDate"],data_asc=[];
+    qcCheckDateStart = "", qcCheckDateEnd = "", data_desc = ["leaveHospitalDate"], data_asc = [], wardCode = "", wardName = "", medoupId = "", medoupName = "", fileCode = "", fileCodeTemp = "";
 if(isPlacefile != 1){
     data_desc=["behospitalDate"]
 }
@@ -67,6 +69,7 @@ if(docName){
     doctorNameTemp = docName
     doctorName = docName
     $('.doctorInp').val(docName)
+    $('.doctorInp').prop('disabled', true);
 }
 if(from==2){
     $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a> ${isPlacefile==0?'入院人数统计':'出院人数统计'}`)
@@ -74,11 +77,9 @@ if(from==2){
     if(inner == 2){
         // $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a>入院人数统计`)
         $(".inorout").css('display','none')
-        $(".filter-toggler").css("left","830px")
     }else{
         // $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a>出院人数统计`)
         $(".inorout").css('display','block')
-        $(".filter-toggler").css("left","1077px")
     }
 }else if(from==3){
 //   $(".partTitle .titlePic ").html(`<a href="keyItemFlawControl.html">关键条目缺陷占比 / </a>缺陷详情`)
@@ -119,10 +120,15 @@ $(".partTitle .consoleD").click(function(){
     focusMenuItem('YH-KZT')
     $(".container",parent.document).addClass("console-cont");
 })
-$("#filterToggler").click(function(){
+$("#filterToggler").click(function () {
     const text = $(this).text();
-    $(".toggle-item").slideToggle();
-    $(this).text(text==="收起筛选"?"展开筛选":"收起筛选").toggleClass("up");
+    $(".toggle-item").css('display', 'none');
+    $(".filterToggler2").css('display', 'block');
+});
+$("#filterToggler2").click(function () {
+    const text = $(this).text();
+    $(".toggle-item").css('display', 'block');
+    $(".filterToggler2").css('display', 'none');
 });
 
 // YH-ZKK-CYRSTJ
@@ -155,6 +161,7 @@ function getTabData(activePage){
     const param = {
         current:activePage,
         behospitalCode: behospitalCode,
+        fileCode: fileCode,
         patName: name, //病人姓名
         level:level,//病历等级
         behDeptName: deptName == "全部" ? "":deptName||"",
@@ -176,6 +183,10 @@ function getTabData(activePage){
         chTimeEnd: qcCheckDateEnd.replace(/\//g,'-'), //病历核查截止时间
         mrTimeStart: fpCheckDateStart.replace(/\//g,'-'), //首页核查起始时间
         mrTimeEnd: fpCheckDateEnd.replace(/\//g,'-'), //首页核查截止时间
+        wardCode: wardCode,
+        wardName: wardName,
+        medoupId: medoupId,
+        medoupName: medoupName,
     }
     $('.pagination').html("")
     $('.tbody').html(emptyBox('努力加载中...','',1))
@@ -194,7 +205,12 @@ function getTabData(activePage){
                 $('.pagination').html("")
             }
         }else{
-            $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+		  const token = localStorage.getItem('accessToken');
+		  if (!token && window.location.href.indexOf('login') == -1) {
+			//alert('无token判断,跳回登录')
+		  } else {
+			$.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+		  }
         }
     }).catch((e) =>{
         console.log(999)
@@ -251,6 +267,7 @@ $(".filter").on("click", function(e){
 
     name = nameTemp
     behospitalCode = behospitalCodeTemp
+    fileCode = fileCodeTemp
     level = levelTemp==="全部"?"":levelTemp
     deptId = deptIdTemp
     deptName = deptNameTemp
@@ -271,10 +288,12 @@ $(".abnormalClear").on("click", function(e){
     tabList = []; 
     name = ""; 
     behospitalCode="";  
+    fileCode = "";
     level=""; 
     scoreSum = 0; 
     nameTemp = "";  
     behospitalCodeTemp=""; 
+    fileCodeTemp = "";
     levelTemp="";  
     deptId=""; 
     deptName=""; 
@@ -284,7 +303,7 @@ $(".abnormalClear").on("click", function(e){
     fpCheckName="";
     qcCheckName="" ;   
     qcCheckMain="" ;   
-    doctorNum=""; 
+    doctorNum="";
     doctorNameTemp=""; 
     doctorNumTemp=""; 
     fpCheckNameTemp="";
@@ -296,6 +315,8 @@ $(".abnormalClear").on("click", function(e){
     qcCheckStatusTemp=""
     leaveHosType="";
     leaveHosTypeTemp="";
+    medoupId = "", 
+    medoupName = "";
     data_desc=["leaveHospitalDate"];
     if(isPlacefile != 1){
         data_desc=["behospitalDate"]
@@ -303,6 +324,7 @@ $(".abnormalClear").on("click", function(e){
     data_asc=[];
     $('.patientNumInp').val('')
     $('.patientNameInp').val('')
+    $('.fileCodeNumInp').val('')
     $('.doctorInp').val('')
     $('.doctorNumInp').val('')
     $('.doctorInp').val('')
@@ -357,6 +379,11 @@ $(".abnormalClear").on("click", function(e){
     $('.selectLevel').html('全部')
     $(".levelList").css("display", "none")
     $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    $(".regionsList").css("display", "none")
+    $(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    $('.selectMedoups ').html('全部')
+    $(".medoupsList").css("display", "none")
+    $(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     // $('.selectLevel ').addClass('unSelect')
     $('.fpSelectCheck').html('全部')
     $(".fpCheckList").css("display", "none")
@@ -484,8 +511,12 @@ function bindScoreDetail(hisId){
 //选择病历等级
 $('.selectLevel').on("click", function(e){
     e.stopPropagation()
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
     $(".deptList ").css("display", "none")
-    $(".selectDept .arrow").attr("src",iconDown)
+    $(".selectDept .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".checkList ").css("display", "none")
     $(".selectCheck .arrow").attr("src",iconDown)
     $(".leaveHosTypeList").css("display", "none")
@@ -507,8 +538,12 @@ $('.selectLevel').on("click", function(e){
 //选择病案首页核查状态
 $('.fpSelectCheck').on("click", function(e){
     e.stopPropagation()
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
     $(".deptList ").css("display", "none")
-    $(".selectDept .arrow").attr("src",iconDown)
+    $(".selectDept .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
     $(".leaveHosTypeList").css("display", "none")
@@ -528,8 +563,12 @@ $('.fpSelectCheck').on("click", function(e){
 //选择病历核查状态
 $('.qcSelectCheck').on("click", function(e){
     e.stopPropagation()
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
     $(".deptList ").css("display", "none")
-    $(".selectDept .arrow").attr("src",iconDown)
+    $(".selectDept .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
     $(".leaveHosTypeList").css("display", "none")
@@ -549,8 +588,12 @@ $('.qcSelectCheck').on("click", function(e){
 //选择出院人数类型
 $('.selectLeaveHosType').on("click", function(e){
     e.stopPropagation()
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
     $(".deptList ").css("display", "none")
-    $(".selectDept .arrow").attr("src",iconDown)
+    $(".selectDept .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".levelList ").css("display","none")
     $(".checkList ").css("display", "none")
     $(".selectCheck .arrow").attr("src",iconDown)
@@ -756,6 +799,32 @@ $('.selectDept').on("click", function(e){
         $(".selectDept .arrow").attr("src",iconDown)
     }
 })
+$('.selectRegions').on("click", function (e) {
+    e.stopPropagation()
+    $(".levelList ").css("display", "none")
+    $(".selectLevel .arrow").attr("src", iconDown)
+    const showList = $(".regionsList ").css("display")
+    if (showList == "none" || !showList) {
+        $(".regionsList ").css("display", "block")
+        $(".selectRegions .arrow").attr("src", iconUp)
+    } else {
+        $(".regionsList ").css("display", "none")
+        $(".selectRegions .arrow").attr("src", iconDown)
+    }
+})
+$('.selectMedoups').on("click", function (e) {
+    e.stopPropagation()
+    $(".levelList ").css("display", "none")
+    $(".selectLevel .arrow").attr("src", iconDown)
+    const showList = $(".medoupsList ").css("display")
+    if (showList == "none" || !showList) {
+        $(".medoupsList ").css("display", "block")
+        $(".selectMedoups .arrow").attr("src", iconUp)
+    } else {
+        $(".medoupsList ").css("display", "none")
+        $(".selectMedoups .arrow").attr("src", iconDown)
+    }
+})
 getDeptList()
 function getDeptList(){
     let str = ``
@@ -769,7 +838,100 @@ function getDeptList(){
     $(".deptList").html(str)
     // getTabData(1)
 }
+//获取病区列表
+getRegionList()
+function getRegionList(val) {
+    post(api.getLocalRegionMedoup).then(res => {
+        if (res.data.code == '0') {
+            const regionsList = res.data.data.regions || []
+            rendeRegionAndList(regionsList)
+        } else {
+            rendeRegionAndList([])
+        }
+    }).catch((e) => {
+
+    })
+}
+function rendeRegionAndList(regionsList) {
+    if (regionsList.length == 0) {
+        $('.regionsList').html("")
+        return
+    }
+    let str = ``;
+    $(".selectRegions").attr("data-id", regionsList[0].code).html(regionsList[0].name)
+    for (let i = 0; i < regionsList.length; i++) {
+        str += `<li class="regionsItem ellipsis" title=${regionsList[i].name} data-id=${regionsList[i].code} data-name=${regionsList[i].name}> ${regionsList[i].name}</li>`
+    }
+    $('.regionsList').html(str)
+    wardCode = regionsList[0].code;
+    wardName = regionsList[0].name;
+    bindregionsSelect()
+}
+//病区选中
+function bindregionsSelect() {
+    $("body").on("click", '.regionsItem', function () {
+        const regionsItemName = $(this).attr("data-name")
+        const regionsItemId = $(this).attr("data-id")
+        // deptName = deptNameTemp = regionsItemName
+        wardCode = regionsItemId
+        wardName = regionsItemName
+        if (regionsItemName.length > 10) {
+            $('.selectRegions').html(regionsItemName.substring(0, 8) + '...')
+        } else {
+            $('.selectRegions').html(regionsItemName)
+        }
+        $('.selectRegions ').attr({ 'title': regionsItemName, 'data-id': regionsItemId })
+        $(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+        $(".regionsList").css("display", "none")
+    })
+}
+//获取医疗组列表
+getMedoupsList()
+function getMedoupsList(val) {
+    post(api.getLocalRegionMedoup).then(res => {
+        if (res.data.code == '0') {
+            const medoupsList = res.data.data.medoups || []
+            rendemedoupsList(medoupsList)
+        } else {
+            rendemedoupsList([])
+        }
+    }).catch((e) => {
+
+    })
+}
 
+function rendemedoupsList(medoupsList) {
+    if (medoupsList.length == 0) {
+        $('.medoupsList').html("")
+        return
+    }
+    let str = `<li class="medoupsItem ellipsis" data-id=" " data-name="全部">全部</li>`;
+    for (let i = 0; i < medoupsList.length; i++) {
+        str += `<li class="medoupsItem ellipsis" title=${medoupsList[i].name} data-id=${medoupsList[i].code} data-name=${medoupsList[i].name}> ${medoupsList[i].name}</li>`
+    }
+    $('.medoupsList').html(str)
+    bindmedoupsSelect()
+}
+//医疗组选中
+function bindmedoupsSelect() {
+    $("body").on("click", '.medoupsItem', function () {
+        const medoupsItemName = $(this).attr("data-name")
+        const medoupsItemId = $(this).attr("data-id")
+        medoupId = medoupsItemId
+        medoupName = medoupsItemName == '全部' ? '' : medoupsItemName
+        // deptName = deptNameTemp = regionsItemName
+        if (medoupsItemName.length > 10) {
+            $('.selectMedoups').html(medoupsItemName.substring(0, 8) + '...')
+        } else {
+            $('.selectMedoups').html(medoupsItemName)
+        }
+        $('.selectMedoups ').attr({ 'title': medoupsItemName, 'data-id': medoupsItemId })
+        $(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+        $(".medoupsList").css("display", "none")
+    })
+}
 function loading(){
     const str = `
         <div class="loadingBox">
@@ -1059,6 +1221,15 @@ $(".patientNumInp").on("input", function(e){
     });
     behospitalCodeTemp = beCode
 });
+$(".fileCodeNumInp").on("input", function (e) {
+    const val = $(this).val().trim();
+    let beCode = fileCode;
+    const patrn = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g;
+    beCode = val.replace(patrn, function (x) {
+        return "\\" + x;
+    });
+    fileCodeTemp = beCode
+});
 $(".patientNameInp").on("input", function(e){
     const val = $(this).val().trim()
     nameTemp = val
@@ -1229,6 +1400,8 @@ function renderPagination(totalPage,activePage,totalNum){
 $(document).on("click", function(){
     $(".levelList ").css("display", "none")
     $(".deptList").css("display", "none")
+    $(".regionsList ").css("display", "none")
+    $(".medoupsList ").css("display", "none")
     $(".leaveHosTypeList").css("display", "none")
     $(".fpCheckList").css("display", "none")
     $(".qcCheckList").css("display", "none")
@@ -1237,6 +1410,8 @@ $(document).on("click", function(){
     $(".selectLeaveHosType .arrow").attr("src",iconDown)
     $(".fpSelectCheck .arrow").attr("src",iconDown)
     $(".qcSelectCheck .arrow").attr("src",iconDown)
+    $(".selectRegions .arrow").attr("src", iconDown)
+    $(".selectMedoups .arrow").attr("src", iconDown)
 })
 
 
@@ -1252,6 +1427,7 @@ $(function($){
         const param = {
             behospitalCode: behospitalCode,
             patName: name, //病人姓名
+            fileCode: fileCode,
             level:level,//病历等级
             behDeptName: deptName == "全部" ? "":deptName||"",
             deptName: deptName == "全部" ? "":deptName||"",
@@ -1272,6 +1448,10 @@ $(function($){
             mrTimeStart: fpCheckDateStart.replace(/\//g,'-'), //首页核查起始时间
             mrTimeEnd: fpCheckDateEnd.replace(/\//g,'-'), //首页核查截止时间
             leaveHosType: leaveHosType  == "全部" ? "":leaveHosType, //出院人数类型
+            wardCode: wardCode,
+            wardName: wardName,
+            medoupId: medoupId,
+            medoupName: medoupName,
         }
         $.alerModal({type:"radio",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
         closeRadio()
@@ -1281,7 +1461,7 @@ $(function($){
 });
 function closeRadio(){
     $(".colSetBox .iconClose,.colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
-        $(".divModal",parent.document).html("")
+        $(".divModal", parent.document).remove()
     })
 }
 function radioSelect(){
@@ -1300,7 +1480,7 @@ function bindSaveColPort(param){
         }
         param.radioCheck = radioCheck||1
         expJson(api.leaveHosMrPageExportByDept,param).then(res =>{
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, $(".partTitle").text()+".xls")
         })
     })

+ 4 - 2
src/js/dept/quexianDetailControlDept.js

@@ -11,7 +11,7 @@ const iconUp = require("@images/arrow_up.png")
 const arrowLeft= require("@images/arrow_left.png")
 const arrowRight = require("@images/arrow_right.png")
 listenScroll('.quexianDetailControl')
-let casesId="", name="", isReject ="",deptName="",data_asc=[],data_desc=["casesName"],doctorName="", isUsed ="",casesIdTemp="",casesIds="", nameTemp="", isRejectTemp ="", isUsedTemp ="",from="",deptIdTemp="",deptItemId="",deptId=""
+let casesId = "", name = "", isReject = "", deptName = "", data_asc = [], data_desc = ["casesName"], doctorName = "", doctorId = "", isUsed ="",casesIdTemp="",casesIds="", nameTemp="", isRejectTemp ="", isUsedTemp ="",from="",deptIdTemp="",deptItemId="",deptId=""
 $(".selectModuleType").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectReject").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectUsed").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
@@ -28,6 +28,7 @@ $(function(){
     
     from = getUrlArgObjectNew("from",srcUrl)||""
     doctorName = getUrlArgObjectNew("doctorName",srcUrl)||""
+    doctorId = getUrlArgObjectNew("docId", srcUrl) || ""
     isReject = isRejectTemp = getUrlArgObjectNew("shijian",srcUrl)||""
     casesIds = getUrlArgObjectNew("casesId",srcUrl)||""
     let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
@@ -174,6 +175,7 @@ function getTabData(activePage){
         type: 0,//1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去)
         name: name, //条目名
         doctorName:doctorName,
+        doctorId: doctorId,
         casesName:deptId,
         deptName:deptName=="全院"?"":(deptName||""),
         casesId:casesIds||"",
@@ -324,7 +326,7 @@ function renderTab(data,activePage){
         let index = $(this).parent().attr("data-index")
         let casesId = $(this).attr("data-id")
         let defectName = data[index].name
-        $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?deptName=" + deptName + "&deptId=" + deptPushId + "&from=9&casesId=" + casesId + "&shijian=3" + "&ruleType=" + ruleType + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&defectName=" + defectName+"&docName="+doctorName)
+        $(parent.document).find("#contentIframe").attr("src", "qcListCopyDept.html?deptName=" + deptName + "&deptId=" + deptPushId + "&from=9&casesId=" + casesId + "&shijian=3" + "&ruleType=" + ruleType + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&defectName=" + defectName + "&docName=" + doctorName + "&docId=" + doctorId)
         // $(parent.document).find("#contentIframe").attr("src", "uccDetail.html?from=3&deptName=" + name + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam)
     })
 }

+ 7 - 6
src/js/dept/readmissionDept.js

@@ -243,7 +243,7 @@ function renderTab(data, hisId, activePage) {
           <td class="textCenter" rowspan="2">${item.fileCode || '-'}</td> 
           <td class="textCenter patientNameSpan" data-id="${
             item.details[0].behospitalCode
-          }" data-name="${item.details[1].name}" >${item.details[0].name || '-'}</td> 
+        }" data-name="${item.details[0].name}" data-level="${item.details[0].level}">${item.details[0].name || '-'}</td> 
           <td class="textCenter" rowspan="2">${item.sex || '-'}</td> 
           <td class="textCenter">${item.details[0].level || '-'}</td> 
           <td class="textCenter">${item.details[0].scoreRes || '-'}</td> 
@@ -254,7 +254,7 @@ function renderTab(data, hisId, activePage) {
           <td class="textCenter">${item.details[0].leaveHospitalDate || '-'}</td> 
           <td class="textCenter">${item.details[0].behospitalDayNum || '-'}</td> 
           <td class="textCenter">${item.details[0].totleFee || '-'}</td> 
-          <td class="textCenter" rowspan="2">${item.diffDays || '-'}</td> 
+          <td class="textCenter" rowspan="2">${item.diffDays == 0 ? '0' : item.diffDays ? item.diffDays : '-'}</td> 
           <td class="textCenter" rowspan="2">${item.lastAgainBehospitalPlan || "-"}</td> 
           </tr>
         `;
@@ -266,7 +266,7 @@ function renderTab(data, hisId, activePage) {
           <td class="textCenter delete">${item.fileCode || '-'}</td> 
           <td class="textCenter patientNameSpan" data-id="${
             item.details[1].behospitalCode
-          }" data-name="${item.details[1].name}">${item.details[1].name || '-'}</td> 
+        }" data-name="${item.details[1].name}" data-level="${item.details[1].level}">${item.details[1].name || '-'}</td> 
           <td class="textCenter delete">${item.sex || '-'}</td> 
           <td class="textCenter">${item.details[1].level || '-'}</td> 
           <td class="textCenter">${item.details[1].scoreRes || '-'}</td> 
@@ -277,7 +277,7 @@ function renderTab(data, hisId, activePage) {
           <td class="textCenter">${item.details[1].leaveHospitalDate || '-'}</td> 
           <td class="textCenter">${item.details[1].behospitalDayNum || '-'}</td> 
           <td class="textCenter">${item.details[1].totleFee || '-'}</td> 
-          <td class="textCenter delete">${item.diffDays || '-'}</td>
+          <td class="textCenter delete">${item.diffDays == 0 ? '0' : item.diffDays ? item.diffDays:'-'}</td>
           <td class="textCenter delete">${item.lastAgainBehospitalPlan || "-"}</td>  
           </tr>
         `;
@@ -327,10 +327,11 @@ function bindScoreDetail(hisId) {
   $('.patientNameSpan').on('click', function(e) {
     const id = $(this).attr('data-id');
     const age = '';
-    const noScore = '';
+    const noScore = $(this).attr('data-level');
     const checkStatus = '';
     const name = $(this).attr('data-name');
-    if (noScore) {
+
+    if (noScore == 'null') {
       $.alerModal({
         message: '请先进行评分!',
         type: 'tip',

+ 200 - 13
src/js/dept/uccDeptDetail.js

@@ -19,7 +19,8 @@ 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 isPlacefile = getCookie('isPlacefile')||1
-
+const regions = JSON.parse(localStorage.getItem('regions'))
+const medoups = JSON.parse(localStorage.getItem('medoups'))
 let pageSet = [],pageSetCopy = [], showNum = 0, scrollTop=0;
 let srcUrl = $("#contentIframe",parent.document).attr("src")
 let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || "3"
@@ -40,6 +41,8 @@ let currentPage;
 docNameTemp = docName = doctorNameUrl
 listenScroll()
 let deptListArr = JSON.parse(getCookie("deptList"))||[]
+$(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+$(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 $(".fpSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
@@ -47,7 +50,7 @@ $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,
   nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", deptName="", deptNameTemp="",doctorNum="",doctorNameTemp="",doctorNumTemp="",
   fpCheckStatus="",fpCheckStatusTemp="",fpCheckName="",fpCheckNameTemp="",qcCheckMain="",qcCheckMainTemp="",qcCheckName="",qcCheckNameTemp="",qcCheckStatus="",qcCheckStatusTemp="",fpCheckDateStart="",fpCheckDateEnd="",
-  qcCheckDateStart="",qcCheckDateEnd="",data_desc=["leaveHospitalDate"],data_asc=[];
+    qcCheckDateStart = "", qcCheckDateEnd = "", data_desc = ["leaveHospitalDate"], data_asc = [],wardCode = "", wardName = "", medoupId = "", medoupName = "";
   deptId = deptIdTemp = getUrlArgObjectNew("deptName",srcUrl)||"";
 if(isPlacefile != 1){
     data_desc=["behospitalDate"]
@@ -67,6 +70,7 @@ if(docName){
     doctorNameTemp = docName
     doctorName = docName
     $('.doctorInp').val(docName)
+    $('.doctorInp').prop('disabled', true);
 }
 if(deptNamePram){
     deptIdTemp = deptIdPram = deptIdPram
@@ -107,10 +111,15 @@ $('.iconCalen').on("click", function(e){
 })
 $('.recordScoreBtn').css("opacity",hasData('FUNC000017')?'1':'0.5')
 
-$("#filterToggler").click(function(){
+$("#filterToggler").click(function () {
+    const text = $(this).text();
+    $(".toggle-item").css('display', 'none');
+    $(".filterToggler2").css('display', 'block');
+});
+$("#filterToggler2").click(function () {
     const text = $(this).text();
-    $(".toggle-item").slideToggle();
-    $(this).text(text==="收起筛选"?"展开筛选":"收起筛选").toggleClass("up");
+    $(".toggle-item").css('display', 'block');
+    $(".filterToggler2").css('display', 'none');
 });
 if(deptId){
     $(".selectDept").html(deptId).attr({
@@ -163,6 +172,10 @@ function getTabData(activePage){
         chTimeEnd: qcCheckDateEnd.replace(/\//g,'-'), //病历核查截止时间
         mrTimeStart: fpCheckDateStart.replace(/\//g,'-'), //首页核查起始时间
         mrTimeEnd: fpCheckDateEnd.replace(/\//g,'-'), //首页核查截止时间
+        wardCode: wardCode,
+        wardName: wardName,
+        medoupId: medoupId,
+        medoupName: medoupName,
     }
     $('.pagination').html("")
     $('.tbody').html(emptyBox('努力加载中...','',1))
@@ -271,9 +284,9 @@ $(".abnormalClear").on("click", function(e){
     fpCheckName="";
     qcCheckName="" ;  
     qcCheckMain="" ;  
-    doctorNum=""; 
+    // doctorNum=""; 
     doctorNameTemp=""; 
-    doctorNumTemp=""; 
+    // doctorNumTemp=""; 
     fpCheckNameTemp="";
     qcCheckNameTemp=""; 
     qcCheckMainTemp=""; 
@@ -281,6 +294,9 @@ $(".abnormalClear").on("click", function(e){
     fpCheckStatusTemp="";
     qcCheckStatus="";
     qcCheckStatusTemp=""
+    medoupId = "";
+    medoupName = "";
+    $('.selectMedoups ').html('全部').append(`<img class="arrow" src=${iconDown} alt="下拉">`);
     data_desc=["leaveHospitalDate"]
     if(isPlacefile != 1){
         data_desc=["behospitalDate"]
@@ -292,9 +308,22 @@ $(".abnormalClear").on("click", function(e){
         deptNameTemp=deptListDept[0]&&deptListDept[0].deptName;
         deptIdTemp=deptListDept[0]&&deptListDept[0].deptId;
     }
+    if (docName) {
+        doctorNameTemp = docName
+        doctorName = docName
+        $('.doctorInp').val(docName)
+        $('.doctorInp').prop('disabled', true);
+    } else {
+        $('.doctorInp').val('')
+        $('.doctorInp').prop('disabled', false);
+    }
+    if (docId) {
+        doctorNumTemp = doctorNum = docId
+        $('.doctorNumInp').val(docId)
+        $('.doctorNumInp').prop('disabled', true);
+    }
     $('.patientNumInp').val('')
     $('.patientNameInp').val('')
-    $('.doctorInp').val('')
     $('.doctorNumInp').val('')
     $('.fpCheckPeople').val('')
     $('.qcCheckPeople').val('')
@@ -348,6 +377,10 @@ $(".abnormalClear").on("click", function(e){
         $('.selectDept ').val('全部')
     }
     $(".deptList").css("display", "none")
+    $(".regionsList").css("display", "none")
+    $(".medoupsList").css("display", "none")
+    $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+    $(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     // $('.selectDept ').addClass('unSelect')
     $('.selectLevel').html('全部')
     $(".levelList").css("display", "none")
@@ -478,6 +511,10 @@ $('.selectLevel').on("click", function(e){
     e.stopPropagation()
     $(".deptList ").css("display", "none")
     $(".selectDept .arrow").attr("src",iconDown)
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".checkList ").css("display", "none")
     $(".selectCheck .arrow").attr("src",iconDown)
     $(".fpCheckList ").css("display", "none")
@@ -498,7 +535,11 @@ $('.selectLevel').on("click", function(e){
 $('.fpSelectCheck').on("click", function(e){
     e.stopPropagation()
     $(".deptList ").css("display", "none")
-    $(".selectDept .arrow").attr("src",iconDown)
+    $(".selectDept .arrow").attr("src", iconDown)
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
     $(".qcSelectCheck .arrow").attr("src",iconDown)
@@ -517,7 +558,11 @@ $('.fpSelectCheck').on("click", function(e){
 $('.qcSelectCheck').on("click", function(e){
     e.stopPropagation()
     $(".deptList ").css("display", "none")
-    $(".selectDept .arrow").attr("src",iconDown)
+    $(".selectDept .arrow").attr("src", iconDown)
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
     $(".fpSelectCheck .arrow").attr("src",iconDown)
@@ -668,12 +713,145 @@ function getDeptList(flg){
     $(".qcListCopy .filterDropList").html(str)
     getTabData(1)
 }
+//获取病区列表
+getRegionList()
+function getRegionList(val) {
+    post(api.getLocalRegionMedoup).then(res => {
+        if (res.data.code == '0') {
+            const regionsList = res.data.data.regions || []
+            rendeRegionAndList(regionsList)
+        } else {
+            rendeRegionAndList([])
+        }
+    }).catch((e) => {
+
+    })
+}
+function rendeRegionAndList(regionsList) {
+    if (regionsList.length == 0) {
+        $('.regionsList').html("")
+        return
+    }
+    let str = ``;
+    $(".selectRegions").attr("data-id", regionsList[0].code).html(regionsList[0].name)
+    for (let i = 0; i < regionsList.length; i++) {
+        str += `<li class="regionsItem ellipsis" title=${regionsList[i].name} data-id=${regionsList[i].code} data-name=${regionsList[i].name}> ${regionsList[i].name}</li>`
+    }
+    $('.regionsList').html(str)
+    wardCode = regionsList[0].code;
+    wardName = regionsList[0].name;
+    bindregionsSelect()
+}
+//病区选中
+function bindregionsSelect() {
+    $("body").on("click", '.regionsItem', function () {
+        const regionsItemName = $(this).attr("data-name")
+        const regionsItemId = $(this).attr("data-id")
+        // deptName = deptNameTemp = regionsItemName
+        wardCode = regionsItemId
+        wardName = regionsItemName
+        console.log(wardCode);
+        console.log(wardName);
+        if (regionsItemName.length > 10) {
+            $('.selectRegions').html(regionsItemName.substring(0, 8) + '...')
+        } else {
+            $('.selectRegions').html(regionsItemName)
+        }
+        $('.selectRegions ').attr({ 'title': regionsItemName, 'data-id': regionsItemId })
+        $(".selectRegions").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+        $(".regionsList").css("display", "none")
+    })
+}
+//获取医疗组列表
+getMedoupsList()
+function getMedoupsList(val) {
+    post(api.getLocalRegionMedoup).then(res => {
+        if (res.data.code == '0') {
+            const medoupsList = res.data.data.medoups || []
+            rendemedoupsList(medoupsList)
+        } else {
+            rendemedoupsList([])
+        }
+    }).catch((e) => {
+
+    })
+}
+function rendemedoupsList(medoupsList) {
+    if (medoupsList.length == 0) {
+        $('.medoupsList').html("")
+        return
+    }
+    let str = `<li class="medoupsItem ellipsis" data-id=" " data-name="全部">全部</li>`;
+    for (let i = 0; i < medoupsList.length; i++) {
+        str += `<li class="medoupsItem ellipsis" title=${medoupsList[i].name} data-id=${medoupsList[i].code} data-name=${medoupsList[i].name}> ${medoupsList[i].name}</li>`
+    }
+    $('.medoupsList').html(str)
+    bindmedoupsSelect()
+}
+//医疗组选中
+function bindmedoupsSelect() {
+    $("body").on("click", '.medoupsItem', function () {
+        const medoupsItemName = $(this).attr("data-name")
+        const medoupsItemId = $(this).attr("data-id")
+        medoupId = medoupsItemId
+        medoupName = medoupsItemName == '全部' ? '' : medoupsItemName
+        // deptName = deptNameTemp = regionsItemName
+        if (medoupsItemName.length > 10) {
+            $('.selectMedoups').html(medoupsItemName.substring(0, 8) + '...')
+        } else {
+            $('.selectMedoups').html(medoupsItemName)
+        }
+        $('.selectMedoups ').attr({ 'title': medoupsItemName, 'data-id': medoupsItemId })
+        $(".selectMedoups").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+
+        $(".medoupsList").css("display", "none")
+    })
+}
+$('.selectRegions').on("click", function (e) {
+    e.stopPropagation()
+    $(".levelList ").css("display", "none")
+    $(".selectLevel .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconUp)
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src", iconUp)
+    const showList = $(".regionsList ").css("display")
+    if (showList == "none" || !showList) {
+        $(".regionsList ").css("display", "block")
+        $(".selectRegions .arrow").attr("src", iconUp)
+    } else {
+        $(".regionsList ").css("display", "none")
+        $(".selectRegions .arrow").attr("src", iconDown)
+    }
+})
+$('.selectMedoups').on("click", function (e) {
+    e.stopPropagation()
+    $(".levelList ").css("display", "none")
+    $(".selectLevel .arrow").attr("src", iconDown)
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconUp)
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src", iconUp)
+    const showList = $(".medoupsList ").css("display")
+    if (showList == "none" || !showList) {
+        $(".medoupsList ").css("display", "block")
+        $(".selectMedoups .arrow").attr("src", iconUp)
+    } else {
+        $(".medoupsList ").css("display", "none")
+        $(".selectMedoups .arrow").attr("src", iconDown)
+    }
+})
 //全选绑定
 
 $('.selectDept').on("click", function(e){
     e.stopPropagation()
     $(".levelList ").css("display","none")
     $(".selectLevel .arrow").attr("src",iconDown)
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconUp)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconUp)
     const showList =  $(".deptList ").css("display")
     if(showList == "none" ||!showList){
         $(".deptList ").css("display","block")
@@ -1257,7 +1435,12 @@ $(document).on("click", function(){
     $(".checkList").css("display", "none")
     $(".fpCheckList").css("display", "none")
     $(".qcCheckList").css("display", "none")
-    $(".selectDept .arrow").attr("src",iconDown)
+    $(".deptList ").css("display", "none")
+    $(".selectDept .arrow").attr("src", iconDown)
+    $(".regionsList ").css("display", "none")
+    $(".selectRegions .arrow").attr("src", iconDown)
+    $(".medoupsList ").css("display", "none")
+    $(".selectMedoups .arrow").attr("src", iconDown)
     $(".selectLevel .arrow").attr("src",iconDown)
     $(".selectCheck .arrow").attr("src",iconDown)
     $(".fpSelectCheck .arrow").attr("src",iconDown)
@@ -1304,6 +1487,10 @@ $(function($){
             chTimeEnd: qcCheckDateEnd.replace(/\//g,'-'), //病历核查截止时间
             mrTimeStart: fpCheckDateStart.replace(/\//g,'-'), //首页核查起始时间
             mrTimeEnd: fpCheckDateEnd.replace(/\//g,'-'), //首页核查截止时间
+            wardCode: wardCode,
+            wardName: wardName,
+            medoupId: medoupId,
+            medoupName: medoupName,
         }
         if (isInspection) {
             param = { ...param, casesEntryName: ''}
@@ -1327,7 +1514,7 @@ $(function($){
 });
 function closeRadio(){
     $(".colSetBox .iconClose,.colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
-        $(".divModal",parent.document).html("")
+        $(".divModal", parent.document).remove()
     })
 }
 function radioSelect(){
@@ -1349,7 +1536,7 @@ function bindSaveColPort(param){
             param = { ...param, casesEntryName: ''}
         }
         expJson(!isInspection ? api.unModifyMRPageExportByDept : api.medicalCheckInnerExport , param).then(res => {
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, $(".partTitle").text() + ".xls")
         })
     })

+ 6 - 6
src/js/deptConsole.js

@@ -189,14 +189,14 @@ function getOwnDept() {
             renderDeptLis(result)//科室tab渲染
             curDept = result[0].deptName
             curDeptId = result[0].deptId
-            $(".partTitle p i,.toggleSlide p span").html(curDept).attr({ "title": curDept, 'data-dept': curDept, 'dept-id': curDeptId })
+            $(".partTitle p i,.deptConsoleLis p span").html(curDept).attr({ "title": curDept, 'data-dept': curDept, 'dept-id': curDeptId })
             $(".partTitle .hosdept").html(hospital + curDept)
             getBarData(2)//图标数据获取
         } else {
-            $(".partTitle p i,.toggleSlide p span").html('--')
+            $(".partTitle p i,.deptConsoleLis p span").html('--')
         }
     }).catch(() => {
-        $(".partTitle p i,.toggleSlide p span").html('--')
+        $(".partTitle p i,.deptConsoleLis p span").html('--')
     })
     // }
 }
@@ -207,8 +207,8 @@ function renderDeptLis(data) {
             <li title="${data[i].deptName}" dept-id="${data[i].deptId}" class="${i == 0 ? 'li0 toggleAverge toggleSlide1' : 'toggleAverge toggleSlide1'}" data-dept="${data[i].deptName}">${data[i].deptName}</li>
         `
     }
-    $(".toggleSlide ul").html(str)
-    $(".toggleSlide ul li").click(function () {
+    $(".deptConsoleLis ul").html(str)
+    $(".deptConsoleLis ul li").click(function () {
         let name = $(this).attr("data-dept")
         let did = $(this).attr("dept-id")
         curDept = name
@@ -1139,7 +1139,7 @@ $(function () {
         isRTL: false
     };
     $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
-    dateConsole(dateType)
+    dateConsole(dateType,1)
     $('.iconCalen').on("mouseenter", function (e) {
         $(this).attr("src", iconCalenBlue)
     })

+ 352 - 286
src/js/index.js

@@ -3,20 +3,35 @@ const $ = require('jquery');
 require('jquery-templates');
 const md5 = require('js-md5');
 require("./modal.js")
-const okIcon =  require("./../images/checkOk.png")
-const WarningIcon =  require("./../images/icon-Warning.png")
+const okIcon = require("./../images/checkOk.png")
+const WarningIcon = require("./../images/icon-Warning.png")
 const warnIcon = require("./../images/warn.png")
 const openEye = require("./../images/open-eye.png")
 const closeEye = require("./../images/close-eye.png")
 const adLogo = require("../images/adlogo.png")
-
-const {api} = require('./api.js')
-const {post,pageMap,delCookie,setCookie,setLocal,getCookie,focusMenuItem,getUrlArgObject} = require('./utils.js');
-let userInfo={};
-let isPlacefile = getCookie('isPlacefile')||1
+const {
+  api
+} = require('./api.js')
+const {
+  post,
+  pageMap,
+  delCookie,
+  setCookie,
+  setLocal,
+  getCookie,
+  focusMenuItem,
+  getUrlArgObject
+} = require('./utils.js');
+let userInfo = {};
+let isPlacefile = getCookie('isPlacefile') || 1
 let passwordComplexity = getCookie('passwordComplexity')
 const hideLogo = getUrlArgObject("hideLg");
 const otherLogo = getUrlArgObject("adLg");
+//token判断没有跳登录
+const token = localStorage.getItem('accessToken');
+if (!token||localStorage.getItem('toLogin')==='1') {
+  window.location.href = '../login.html';
+}
 const modalDom = `
       <p class="tips"><img src=${WarningIcon} /><span>为确保账号安全,请及时修改初始密码</span></p>
       <div class="modalAction">
@@ -34,226 +49,231 @@ const psdChecker = `<div class="psd-checkbox">
                       <p class="eight-str"><i></i>8位字符</p>
                     </div>`;
 $(function () {
-    //无logo演示隐藏logo
-    if(hideLogo){
-        $(".copy-right,.logo img").remove();
-        $(".menu-mini .logo").text("");
-    }
-    const otherLogo = getUrlArgObject("adLg");
-    if(otherLogo){
-        $(".logo img").attr("src",adLogo);
-        $(".menu-mini .logo").text("艾登");
-        $(".copy-right").remove();
-    }
-    hideDropdown();
+  //无logo演示隐藏logo
+  if (hideLogo) {
+    $(".copy-right,.logo img").remove();
+    $(".menu-mini .logo").text("");
+  }
+  const otherLogo = getUrlArgObject("adLg");
+  if (otherLogo) {
+    $(".logo img").attr("src", adLogo);
+    $(".menu-mini .logo").text("艾登");
+    $(".copy-right").remove();
+  }
+  hideDropdown();
   getOwnDept();
   setInterval(() => {
-      getTimeDetail()
+    getTimeDetail()
   }, 1000);
   sureChangeWord()
-  if (passwordComplexity!=='null') {
-      $.alerModal({
-          quiteBtn: true,
-          title: "修改密码",
-          type: "modal",
-          width: '470',
-          time: '1000',
-          sureText: '保存',
-          message: modalDom});
-      bindModalEvent();
+  const token = localStorage.getItem('accessToken');
+  if (!token) {
+    window.location.href = '../login.html';
+  }
+  if (passwordComplexity !== 'null' && token) {
+    $.alerModal({
+      quiteBtn: true,
+      title: "修改密码",
+      type: "modal",
+      width: '470',
+      time: '1000',
+      sureText: '保存',
+      message: modalDom
+    });
+    bindModalEvent();
   }
-    //菜单展开收起
+  //菜单展开收起
   $(".main").css({
-    height:$(window).height()-52+'px'
+    height: $(window).height() - 52 + 'px'
   })
-  $(window).resize(function(){
+  $(window).resize(function () {
     $(".main").css({
-      height:$(window).height()-52+'px'
+      height: $(window).height() - 52 + 'px'
     })
   })
-  $(window).click(function(e){
-    $(".userAction").css("display","none")
+  $(window).click(function (e) {
+    $(".userAction").css("display", "none")
   })
-  $("#changeWord").css("opacity",hasData('FUNC000002')?'1':'0.5').hover(function(){
-    $(this).css("color","#777777")
+  $("#changeWord").css("opacity", hasData('FUNC000002') ? '1' : '0.5').hover(function () {
+    $(this).css("color", "#777777")
   })
-  if(isPlacefile==0){
+  if (isPlacefile == 0) {
     $(this).find('.qiehuan i').html('切换病案质控')
     $('.subtitle').html('AI运行质控平台')
     getMenu()
-  }else if(isPlacefile==1){
+  } else if (isPlacefile == 1) {
     $(this).find('.qiehuan i').html('切换运行质控')
     $('.subtitle').html('AI病案质控平台')
     getMenu()
   }
-  $(".header .title .qiehuan").click(function(){
+  $(".header .title .qiehuan").click(function () {
     let txt = $(this).find('i').html()
-    if(txt == '切换运行质控'){
+    if (txt == '切换运行质控') {
       $(this).find('i').html('切换病案质控')
       $('.subtitle').html('AI运行质控平台')
-      setCookie("isPlacefile",0)
-    }else{
+      setCookie("isPlacefile", 0)
+    } else {
       $(this).find('i').html('切换运行质控')
       $('.subtitle').html('AI病案质控平台')
-      setCookie("isPlacefile",1)
+      setCookie("isPlacefile", 1)
     }
     $('#contentIframe').attr('src', $('#contentIframe').attr('src'));
     getMenu();
   })
-  $(".header .title .qiehuan").mouseenter(function(){
-    $(this).parent().find('img').attr('src',require('../images/qiehuan1.png'))
+  $(".header .title .qiehuan").mouseenter(function () {
+    $(this).parent().find('img').attr('src', require('../images/qiehuan1.png'))
   })
-  $(".header .title .qiehuan").mouseleave(function(){
-    $(this).parent().find('img').attr('src',require('../images/qiehuan2.png'))
+  $(".header .title .qiehuan").mouseleave(function () {
+    $(this).parent().find('img').attr('src', require('../images/qiehuan2.png'))
   })
 });
 //切换密码明文
 function switchPwd(el) {
-  if(!el.is(".open")){
-      el.attr("src",openEye).addClass("open");
-      el.prev().attr("type",'text');
-  }else{
-      el.attr("src",closeEye).removeClass("open");
-      el.prev().attr("type",'password');
+  if (!el.is(".open")) {
+    el.attr("src", openEye).addClass("open");
+    el.prev().attr("type", 'text');
+  } else {
+    el.attr("src", closeEye).removeClass("open");
+    el.prev().attr("type", 'password');
   }
 }
 
-function toast(msg){
-    const toast = `<div class="toast"><img src="${okIcon}" alt=""><p>${msg}</p></div>`;
-    $(toast).appendTo($(".alertModal"));
+function toast(msg) {
+  const toast = `<div class="toast"><img src="${okIcon}" alt=""><p>${msg}</p></div>`;
+  $(toast).appendTo($(".alertModal"));
 }
 
-function hideDropdown(){//关闭下拉
-    $(document).off("click").on("click",function(e){
-        $("#contentIframe").contents().find(".toggleSlide ul").hide();
-    })
+function hideDropdown() { //关闭下拉
+  $(document).off("click").on("click", function (e) {
+    $("#contentIframe").contents().find(".toggleSlide ul").hide();
+  })
 }
 
 //绑定输入框事件
-function bindModalEvent(){
-    $(".modalAction input").off("click").on("click",function(){
-          $(this).removeAttr("readonly").focus()
-    })
-    $(".modalAction input").off("blur").on("blur",function(){
-        $(this).attr("readonly",true)
-    })
-  $(".modalAction .eye").off("click").on("click",function(){
-      switchPwd($(this))
+function bindModalEvent() {
+  $(".modalAction input").off("click").on("click", function () {
+    $(this).removeAttr("readonly").focus()
+  })
+  $(".modalAction input").off("blur").on("blur", function () {
+    $(this).attr("readonly", true)
+  })
+  $(".modalAction .eye").off("click").on("click", function () {
+    switchPwd($(this))
   })
 
-  $("#oldWord").off("input").on("input",function(){
-      switchToPsd($(this));
+  $("#oldWord").off("input").on("input", function () {
+    switchToPsd($(this));
     const text = $(this).val();
     $(".oldWaring.warning,.newword.warning").hide();
     verifyPsdPart();
-    if(text.trim()){
-        $("#newWord").attr("disabled",false);
+    if (text.trim()) {
+      $("#newWord").attr("disabled", false);
     }
-    if(!$(".modalAction .warning:visible").length){
-        $(".alertModal .sureChange").addClass("active");
+    if (!$(".modalAction .warning:visible").length) {
+      $(".alertModal .sureChange").addClass("active");
     }
   });
-    let gl_psdOk=false;
-  $("#newWord").off("input").on("input",function(){
-      switchToPsd($(this));
-      let text = $(this).val();
-      const checker = $(".alertModal .psd-checkbox");
-      if(/[\u4e00-\u9fa5]/g.test(text)){
-          $(this).val(text.replace(/[\u4e00-\u9fa5]/g,''));
+  let gl_psdOk = false;
+  $("#newWord").off("input").on("input", function () {
+    switchToPsd($(this));
+    let text = $(this).val();
+    const checker = $(".alertModal .psd-checkbox");
+    if (/[\u4e00-\u9fa5]/g.test(text)) {
+      $(this).val(text.replace(/[\u4e00-\u9fa5]/g, ''));
+    }
+    text = $(this).val();
+    $(".newword.warning,.sureword.warning").hide();
+    if (text.trim()) { //显示密码验证标签
+      if (checker.length) {
+        checker.show()
+      } else {
+        $(psdChecker).appendTo($(".alertModal"));
       }
-      text = $(this).val();
-      $(".newword.warning,.sureword.warning").hide();
-      if(text.trim()){    //显示密码验证标签
-        if(checker.length){
-            checker.show()
-        }else{
-            $(psdChecker).appendTo($(".alertModal"));
-        }
-        let psdsOk = verifyPsdPart();
-          gl_psdOk = verifyPsd(text);
-        if(gl_psdOk){
-            $("#sureWord").attr("disabled",false);
-        }
-        if(psdsOk&&gl_psdOk&&$("#sureWord").val().trim()){
-            $(".modalAction .warning").hide();
-            //保存按钮启用
-            $(".alertModal .sureChange").addClass("active");
-        }else{
-            $(".alertModal .sureChange").removeClass("active");
-        }
-      }else{
-          checker.hide()
+      let psdsOk = verifyPsdPart();
+      gl_psdOk = verifyPsd(text);
+      if (gl_psdOk) {
+        $("#sureWord").attr("disabled", false);
       }
+      if (psdsOk && gl_psdOk && $("#sureWord").val().trim()) {
+        $(".modalAction .warning").hide();
+        //保存按钮启用
+        $(".alertModal .sureChange").addClass("active");
+      } else {
+        $(".alertModal .sureChange").removeClass("active");
+      }
+    } else {
+      checker.hide()
+    }
+  })
+  $("#sureWord").off("input").on("input", function () {
+    switchToPsd($(this));
+    const text = $(this).val();
+    $(".sureword.warning").hide();
+    if (/[\u4e00-\u9fa5]/g.test(text)) {
+      $(this).val(text.replace(/[\u4e00-\u9fa5]/g, ''));
+    }
+    if (text.trim()) {
+      let psdsOk = verifyPsdPart();
+      //const psdOk = verifyPsd(text);
+      if (gl_psdOk && psdsOk) {
+        $(".modalAction .warning").hide();
+        //保存按钮启用
+        $(".alertModal .sureChange").addClass("active");
+      } else {
+        $(".alertModal .sureChange").removeClass("active");
+      }
+    }
   })
-    $("#sureWord").off("input").on("input",function(){
-        switchToPsd($(this));
-        const text = $(this).val();
-        $(".sureword.warning").hide();
-        if(/[\u4e00-\u9fa5]/g.test(text)){
-            $(this).val(text.replace(/[\u4e00-\u9fa5]/g,''));
-        }
-        if(text.trim()){
-            let psdsOk=verifyPsdPart();
-            //const psdOk = verifyPsd(text);
-            if(gl_psdOk&&psdsOk){
-                $(".modalAction .warning").hide();
-                //保存按钮启用
-                $(".alertModal .sureChange").addClass("active");
-            }else{
-                $(".alertModal .sureChange").removeClass("active");
-            }
-        }
-    })
 }
 
-function switchToPsd(dom){
-    if(!dom.val()){
-        dom.attr("readonly",true)
-        setTimeout(function () {
-            dom.removeAttr("readonly").focus()
-        })
-    }
+function switchToPsd(dom) {
+  if (!dom.val()) {
+    dom.attr("readonly", true)
+    setTimeout(function () {
+      dom.removeAttr("readonly").focus()
+    })
+  }
 }
 
 //验证新密码规则
-function verifyPsd(text){
-    let pass = true;
-  if(/(?=.*?[A-Z])/.test(text)){  //至少一个大写字母
+function verifyPsd(text) {
+  let pass = true;
+  if (/(?=.*?[A-Z])/.test(text)) { //至少一个大写字母
     $(".big-letter").addClass("active");
-  }else{
-      $(".big-letter").removeClass("active");
-      pass=false;
+  } else {
+    $(".big-letter").removeClass("active");
+    pass = false;
   }
-  if(/(?=.*?[a-z])/.test(text)){  //至少一个大写字母
-      $(".small-letter").addClass("active");
-  }else{
-      $(".small-letter").removeClass("active");
-      pass=false;
+  if (/(?=.*?[a-z])/.test(text)) { //至少一个大写字母
+    $(".small-letter").addClass("active");
+  } else {
+    $(".small-letter").removeClass("active");
+    pass = false;
   }
-  if(/(?=.*?[0-9])/.test(text)){  //至少一个数字
-      $(".one-number").addClass("active");
-  }else{
-      $(".one-number").removeClass("active");
-      pass=false;
+  if (/(?=.*?[0-9])/.test(text)) { //至少一个数字
+    $(".one-number").addClass("active");
+  } else {
+    $(".one-number").removeClass("active");
+    pass = false;
   }
-  if(/(?=.*?[#?!@$,,%^&*-])/.test(text)){  //至少一个特殊字符
-      $(".special-letter").addClass("active");
-  }else{
-      $(".special-letter").removeClass("active");
-      pass=false;
+  if (/(?=.*?[#?!@$,,%^&*-])/.test(text)) { //至少一个特殊字符
+    $(".special-letter").addClass("active");
+  } else {
+    $(".special-letter").removeClass("active");
+    pass = false;
   }
-  if(text.length>7){  //至少8个字符
-      $(".eight-str").addClass("active");
-  }else{
-      $(".eight-str").removeClass("active");
-      pass=false;
+  if (text.length > 7) { //至少8个字符
+    $(".eight-str").addClass("active");
+  } else {
+    $(".eight-str").removeClass("active");
+    pass = false;
   }
-  if(text.length>12){
+  if (text.length > 12) {
     $(".newword.warning b").text("密码最多12位");
     $(".newword.warning").show();
-    pass=false;
-  }else{
-      $(".newword.warning").hide();
+    pass = false;
+  } else {
+    $(".newword.warning").hide();
   }
   //const regex = new RegExp('^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[$@~^·$、,,\.!#%*?&])[A-Za-z\\d$@#$\.~、,,·!%*?&]{8,12}');
   /*if(regex.test(text)){
@@ -262,49 +282,50 @@ function verifyPsd(text){
   return pass;
 }
 
-function verifyPsdPart(){   //验证各密码关系规则
+function verifyPsdPart() { //验证各密码关系规则
   const oldP = $("#oldWord").val();
   const newP = $("#newWord").val();
   const confirmP = $("#sureWord").val();
-  let pass =  true;
-  if(oldP&&newP&&(oldP.trim()===newP.trim())){
+  let pass = true;
+  if (oldP && newP && (oldP.trim() === newP.trim())) {
     $(".newword.warning b").text("原密码和新密码不能相同");
     $(".newword.warning").show();
-      pass = false;
+    pass = false;
   }
-  if(newP.length>12){
-      $(".newword.warning b").text("密码最多12位");
-      $(".newword.warning").show();
-      pass = false;
+  if (newP.length > 12) {
+    $(".newword.warning b").text("密码最多12位");
+    $(".newword.warning").show();
+    pass = false;
   }
-  if(confirmP.trim()&&(newP.trim()!==confirmP.trim())){
-      $(".sureword.warning b").text("两次密码输入不一致");
-      $(".sureword.warning").show();
-      pass = false;
+  if (confirmP.trim() && (newP.trim() !== confirmP.trim())) {
+    $(".sureword.warning b").text("两次密码输入不一致");
+    $(".sureword.warning").show();
+    pass = false;
   }
   return pass;
 }
 
 //判断有无某一权限
-function hasData(data,list){
-  if(list&&list.length>0){
-    if(list.indexOf(data)>-1){//有权限
+function hasData(data, list) {
+  if (list && list.length > 0) {
+    if (list.indexOf(data) > -1) { //有权限
       return true
     }
     return false;
   }
-  let lis = JSON.parse(getCookie("codeLis"))||[]
-  if(lis.indexOf(data)>-1){//有权限
-      return true
+  let lis = JSON.parse(getCookie("codeLis")) || []
+  if (lis.indexOf(data) > -1) { //有权限
+    return true
   }
   return false;
 }
-function userActionHide(e){
-  $(".userAction").css("display","none")
+
+function userActionHide(e) {
+  $(".userAction").css("display", "none")
 }
 window.userActionHide = userActionHide
 
-function initMenu(data,userInfo){
+function initMenu(data, userInfo) {
   //菜单数据填充
   $(".menu ul").html("");
   $(".menu-mini ul").html("");
@@ -313,8 +334,8 @@ function initMenu(data,userInfo){
   //用户数据填充
   $("#userName").text(userInfo.linkman);
   //菜单收起展开
-  $(".menu .list-1").on("click",function(){
-    if($(this).is(".list-1-show")){
+  $(".menu .list-1").on("click", function () {
+    if ($(this).is(".list-1-show")) {
       $(this).removeClass("list-1-show")
       $(this).find("ul").slideToggle();
       return;
@@ -322,8 +343,8 @@ function initMenu(data,userInfo){
 
     $(".menu .list-1-show ul").slideUp();
     $(".menu .list-1").removeClass("list-1-show");
-    const ulShow =  $(this).find("ul").css("display")
-    if(ulShow == "none"){
+    const ulShow = $(this).find("ul").css("display")
+    if (ulShow == "none") {
       $(this).addClass("list-1-show")
     }
     $(this).find("ul").slideToggle();
@@ -331,45 +352,52 @@ function initMenu(data,userInfo){
     //   initScroll("menuList","Y",2)
     // },300)
   });
-//收起菜单
-$(".slide-hide").off("click").click(function(){
-    $(".menu,.copy-right").animate({"width":"60px"},function(){
+  //收起菜单
+  $(".slide-hide").off("click").click(function () {
+    $(".menu,.copy-right").animate({
+      "width": "60px"
+    }, function () {
       $(this).hide();
       $(".menu-mini").show();
     });
-    $(".main").animate({"margin-left":"60px"});
+    $(".main").animate({
+      "margin-left": "60px"
+    });
   });
   //展开菜单
-  $(".slide-show").off("click").click(function(){
+  $(".slide-show").off("click").click(function () {
     $(".menu-mini").hide();
-    $(".menu,.copy-right").show().animate({"width":"205px"},function(){
+    $(".menu,.copy-right").show().animate({
+      "width": "205px"
+    }, function () { });
+    $(".main").animate({
+      "margin-left": "205px"
     });
-    $(".main").animate({"margin-left":"205px"});
   });
 
-  $(".menu .list-1 li").on("click",function(e){
+  $(".menu .list-1 li").on("click", function (e) {
     e.stopPropagation();
   });
   //右侧页面切换
-  $(".page").on("click",function(){
+  $(".page").on("click", function () {
     $(".menu .active,.menu-mini .active").removeClass('active');
-    const code=$(this).attr("code");
-    if(code === 'YH-KZT'||code === 'YH-KZTKS'){
+    const code = $(this).attr("code");
+    if (code === 'YH-KZT' || code === 'YH-KZTKS') {
       // if(code === 'YH-KZT'){
       $(".container").addClass("console-cont");
-      $('.qiehuan').css("display","inline-block")
-    }else{
-      $('.qiehuan').css("display","none")
+      $('.qiehuan').css("display", "inline-block")
+    } else {
+      $('.qiehuan').css("display", "none")
       $(".container").removeClass("console-cont");
     }
-    const mItems = $(".menu .page[code="+code+"],.menu-mini .page[code="+code+"]");
+    const mItems = $(".menu .page[code=" + code + "],.menu-mini .page[code=" + code + "]");
     mItems.addClass("active");
     mItems.parents(".list-1").addClass("active");
-    let url = './'+pageMap[code];
-    if(code === 'YH-BLZK-ZKPFGR'){
+    let url = './' + pageMap[code];
+    if (code === 'YH-BLZK-ZKPFGR') {
       url += `?doctorName=${userInfo.linkman}`
     }
-    $("#contentIframe").attr("src",url);
+    $("#contentIframe").attr("src", url);
     setTimeout(() => {
       bindMenu()
     }, 500);
@@ -379,153 +407,191 @@ $(".slide-hide").off("click").click(function(){
 }
 
 //获取科室列表
-function getOwnDept(){
+function getOwnDept() {
   // if(hasData('FUNC000058')){
-      setCookie("deptList",JSON.stringify([]))
-      post(api.getDept,{}).then((res)=>{
-          let data = res.data;
-          if(data.code == 0){
-              let result = data.data
-              setCookie("deptList",JSON.stringify(result))
-          }
-        })
+  setCookie("deptList", JSON.stringify([]))
+  post(api.getDept, {}).then((res) => {
+    let data = res.data;
+    if (data.code == 0) {
+      let result = data.data
+      setCookie("deptList", JSON.stringify(result))
+    }
+  })
   // }
 }
-function getMenu(){
-  // console.log(api.getMenu)
-  isPlacefile = getCookie('isPlacefile')||1
-  post(api.getMenu).then(function(res){
-    if(res.data.code==='0'){
+
+function getMenu() {
+  isPlacefile = getCookie('isPlacefile') || 1
+  post(api.getMenu).then(function (res) {
+    if (res.data.code === '0') {
       const data = res.data.data;
-      for(let i = 0;i<data.menuWrappers.length;i++){
-        if(isPlacefile==='0'&&data.menuWrappers[i].code==='YH-ZKHC'){
-          data.menuWrappers.splice(i,1);
-          continue;
-        }
+      for (let i = 0; i < data.menuWrappers.length; i++) {
+        // if (isPlacefile === '0' && data.menuWrappers[i].code === 'YH-ZKHC') {
+        //   data.menuWrappers.splice(i, 1);
+        //   continue;
+        // }
         data.menuWrappers[i].isPlacefile = isPlacefile
       }
-      initMenu(data.menuWrappers,data.userLoginDTO);
+      initMenu(data.menuWrappers, data.userLoginDTO);
       userInfo = data.userLoginDTO
-      setCookie("hospital",data.basHospitalInfoDTO.name)
-      setCookie("hospitalid",data.basHospitalInfoDTO.id)
+      setCookie("hospital", data.basHospitalInfoDTO.name)
+      setCookie("hospitalid", data.basHospitalInfoDTO.id)
       getAllCode(data.menuWrappers);
+      for (let i = 0; i < data.menuWrappers.length; i++) {
+        if (isPlacefile === '0' && data.menuWrappers[i].code === 'YH-ZKHC') {
+          $(".YH-ZKHC").hide()
+        }
+
+      }
     }
   })
 };
-function getAllCode(data){
-  let lis = [],personCodeLis=[],deptCodeLis=[],trdObj={}
-  for(let i = 0;i < data.length;i++){
+
+function getAllCode(data) {
+  let lis = [],
+    personCodeLis = [],
+    deptCodeLis = [],
+    trdObj = {}
+  for (let i = 0; i < data.length; i++) {
     let tmpSon = data[i]
     lis.push(tmpSon.code)
-    if(tmpSon.subMenuList.length > 0){//三层
-      for(let j = 0;j<tmpSon.subMenuList.length;j++){//第二层循环
+    if (tmpSon.subMenuList.length > 0) { //三层
+      for (let j = 0; j < tmpSon.subMenuList.length; j++) { //第二层循环
         let tmpGrandSon = tmpSon.subMenuList[j]
-        let sonLis=[]
+        let sonLis = []
         lis.push(tmpGrandSon.code)
-        for(let m = 0;m < tmpGrandSon.sysUserPermissionDTOList.length;m++){
+        for (let m = 0; m < tmpGrandSon.sysUserPermissionDTOList.length; m++) {
           let tmpData = tmpGrandSon.sysUserPermissionDTOList[m]
           lis.push(tmpData.code)
           sonLis.push(tmpData.code)
         }
         trdObj[tmpGrandSon.code] = sonLis
       }
-    }else{//两层
-      for(let n = 0;n < tmpSon.sysUserPermissionDTOList.length;n++){
+    } else { //两层
+      for (let n = 0; n < tmpSon.sysUserPermissionDTOList.length; n++) {
         let tmpData = tmpSon.sysUserPermissionDTOList[n]
         lis.push(tmpData.code)
       }
     }
   }
   //初始菜单选中
-  if(hasData('YH-KZT',lis)){
+  if (hasData('YH-KZT', lis)) {
     focusMenuItem("YH-KZT");
-  }else if(hasData('YH-KZTKS',lis)){
+  } else if (hasData('YH-KZTKS', lis)) {
     focusMenuItem("YH-KZTKS");
   }
-  console.log(trdObj)
-  setCookie("codeLis",JSON.stringify(lis))
-  setLocal("trdObj",JSON.stringify(trdObj))
+  setCookie("codeLis", JSON.stringify(lis))
+  setLocal("trdObj", JSON.stringify(trdObj))
 }
-function sureChangeWord(){
-  $(document).on('click','.sureChange.active',function(){
+
+function sureChangeWord() {
+  $(document).on('click', '.sureChange.active', function () {
     let oldword = $(".oldword").val().trim()
     let newword = $(".newword").val().trim()
     $(".modalAction .waring i").html('')
-    changeWord(oldword,newword)
+    changeWord(oldword, newword)
   })
 }
-function changeWord(oldword,newword){
-  post(api.midifyPassword,{
+
+function changeWord(oldword, newword) {
+  post(api.midifyPassword, {
     "modifyPassword": newword,
     "password": oldword
-  }).then(function(res){
+  }).then(function (res) {
     const data = res.data;
-    if(data.code==='0'){
-      setCookie('behosDateStart','')
-      setCookie('behosDateEnd','')
+    if (data.code === '0') {
+      setCookie('behosDateStart', '')
+      setCookie('behosDateEnd', '')
       toast("密码修改成功,请重新登录");
-      setTimeout(()=>{
-          window.location.href = './login.html'
-      },1000);
-    }else{
-        $(".oldWaring b").text(data.msg);
-        $(".oldWaring").show();
-        $(".alertModal .sureChange").removeClass("active");
+      setTimeout(() => {
+        window.location.href = './login.html'
+      }, 1000);
+    } else {
+      $(".oldWaring b").text(data.msg);
+      $(".oldWaring").show();
+      $(".alertModal .sureChange").removeClass("active");
       return
     }
   });
 }
 //用户信息下拉事件
-$(".login").click(function(e){
+$(".login").click(function (e) {
   e.stopPropagation()
   $(".userAction").slideToggle();
 })
 //点击修改密码
-$("#changeWord").click(function(e){
-  if(!hasData('FUNC000002')){
-      return
+$("#changeWord").click(function (e) {
+  if (!hasData('FUNC000002')) {
+    return
   }
   e.stopPropagation()
   const status = $(".modalAction").css("display")
   $.alerModal({
     quiteBtn: true,
-    title:"修改密码",
-    type:"modal",
-    width:'470',
-    time:'1000',
-    sureText:'保存',
-    message:modalDom});
-    if (passwordComplexity==='null'){
-        $(".alertModal .tips").hide();
-    }
-    bindModalEvent();
+    title: "修改密码",
+    type: "modal",
+    width: '470',
+    time: '1000',
+    sureText: '保存',
+    message: modalDom
+  });
+  if (passwordComplexity === 'null') {
+    $(".alertModal .tips").hide();
+  }
+  bindModalEvent();
   $(".userAction").hide();
 })
 //推出登录
-$(".login-out").click(function(){
-  delCookie('accessToken')
-  setCookie('behosDateStart','')
+$(".login-out").click(function () {
+  setCookie('behosDateStart', '')
   localStorage.removeItem('accessToken')
-  setCookie('behosDateEnd','')
-    const otherLogoPm = otherLogo?'?adLg=1':'';
-    const hideLogoPm = hideLogo?'?hideLg=1':'';
-  window.location.href = 'login.html'+otherLogoPm+hideLogoPm;
+  setCookie('behosDateEnd', '')
+  const otherLogoPm = otherLogo ? '?adLg=1' : '';
+  const hideLogoPm = hideLogo ? '?hideLg=1' : '';
+  window.location.href = 'login.html' + otherLogoPm + hideLogoPm;
 })
 
 //时间获取
-function getTimeDetail(){
+function getTimeDetail() {
   const d = new Date();
-  const days = ["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
+  const days = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
   let sec = d.getSeconds()
   let min = d.getMinutes()
   let hour = d.getHours()
-  let str = `${d.getFullYear()}年${d.getMonth()+1}月${d.getDate()}日 / ${days[d.getDay()]} / ${hour>9?hour:'0'+hour}:${min>9?min:'0'+min}:${sec>9?sec:'0'+sec}`
+  let str = `${d.getFullYear()}年${d.getMonth() + 1}月${d.getDate()}日 / ${days[d.getDay()]} / ${hour > 9 ? hour : '0' + hour}:${min > 9 ? min : '0' + min}:${sec > 9 ? sec : '0' + sec}`
   $(".dateDetail").html(str)
 }
 
 // 左侧菜单滚动到页面顶部
-function bindMenu(){
-  $("#contentIframe").contents().find('.partTitle a').eq(0).click(function(){
-    $(".menuList").scrollTop(0)
-  })
-}
+function bindMenu() {
+  $("#contentIframe").contents().find('.partTitle a').eq(0).click(function () {
+    $(".menuList").scrollTop(0)
+  })
+}
+
+window.addEventListener('message', e => {
+  //console.trace("token已清除index", e)
+  let data = e.data||'{}';
+  if (typeof data == 'string') {
+    data = JSON.parse(data)
+  }
+  if (data.iframemessage) {
+    localStorage.removeItem('accessToken')
+    $.alerModal({
+      gobackBtn: true,
+      // quiteBtn: true,
+      title: "提示",
+      type: "modal",
+      width: '470',
+      time: 1000,
+      cancalText: '我知道了',
+	  isFather: true,
+	  fatherWrapper: $("#mainBox", parent.document),
+      sureBtn: false,
+      message: data.data || '登录过期',
+      callback: function () {
+        window.location.href = 'login.html'
+      }
+    });
+  }
+});

+ 130 - 66
src/js/login.js

@@ -6,93 +6,137 @@ require("./modal.js")
 const { api } = require('./api.js')
 
 const { post, setCookie, delCookie, getUrlArgObject, toast } = require('../js/utils.js');
-const md5 = require('js-md5');
 const hideLogo = getUrlArgObject("hideLg");
 const otherLogo = getUrlArgObject("adLg");
 let type
 $(function () {
-  getHospitalMark()
+  //清除需要跳转到登录页的标记
+  localStorage.removeItem('toLogin');
   if (hideLogo || otherLogo) {
     $(".copy-right").text("");
   }
-  delCookie('accessToken')
   $(document).keyup(function (event) {
     if (event.keyCode == 13) {
       sureLogin()
     }
   });
-  
-  
+  getHospitalMark()
+
 });
 
+//获取验证码
+function getSecurityCode() {
+  var xhr = new XMLHttpRequest();
+  // var url = "http://www.diagbot.net:5858" + api.getCaptcha;//验证码请求地址
+  var url = api.getCaptcha;//验证码请求地址
+  xhr.open("GET", url, true);
+  xhr.responseType = "blob";
+  xhr.onload = function () {
+    if (this.status == 200) {
+      var blob = this.response;
+      const img = document.createElement("img");
+      const qrUrl = window.URL.createObjectURL(blob);
+      img.src = qrUrl;
+      //释放对象
+      img.onload = function () {
+        console.log('释放')
+        window.URL.revokeObjectURL(qrUrl)
+      }
+      const imgDiv = document.getElementById("codeImg");
+      $(imgDiv).html(img);
+    }
+  }
+  xhr.send();
+}
 function getHospitalMark() {
-  localStorage.removeItem('accessToken')
-  post(api.getHospitalMark).then((res) => {
-    const data = res.data;
-    if (data.code == 0) {
-      type = parseInt(data.data)
-      if (parseInt(data.data) == 1) {
-        str = '<div class="bg2">'
-        str += '<div class="login-info">'
-        str += '<div class="info-perPub">'
-        str += ' <p> 用户名:</p>'
-        str += '<div class="info-iptWrap">'
-        str += '<input type="text" placeholder="请输入用户名" id="username" value="" autocomplete="off">'
-        str += '</div></div>'
-        str += '<div class="info-perPub">'
-        str += ' <p> 密码:</p>'
-        str += '<div class="info-iptWrap">'
-        str += '<input type="text" placeholder="请输入密码" id="password" value="" autocomplete="off">'
-        str += '</div></div>'
-        str += '<p class="waring"></p><div class="sureLogin">登录</div></div>'
-        $('.login').html(str)
-      } else {
-        str = '<div class="bg fl"><p class="title">AI病案质控平台</p></div>'
-        str += '<div class="message fr"><div class="inner"><p class="welcome">欢迎使用!</p>'
-        str += '<div class="perPub">'
-        str += ' <p> 用户名:</p>'
-        str += '<div class="iptWrap">'
-        str += '<input type="text" placeholder="请输入用户名" id="username" value="" autocomplete="off">'
-        str += '</div></div><br>'
-        str += '<div class="perPub">'
-        str += ' <p> 密码:</p>'
-        str += '<div class="iptWrap">'
-        str += '<input type="text" placeholder="请输入密码" id="password" value="" autocomplete="off">'
-        str += '</div></div>'
-        str += '<p class="waring"></p><div class="sureLogin">登录</div></div><div class="copy-right">由杭州朗通信息技术有限公司提供技术支持</div></div>',
+  
+  //post(api.getHospitalMark).then((res) => {
+  const data = { code: 0, data: 0 }//res.data;
+  if (data.code == 0) {
+    type = parseInt(data.data)
+    if (parseInt(data.data) == 1) {   //湘雅三院登录样式
+      str = '<div class="bg2">'
+      str += '<div class="login-info">'
+      str += '<div class="info-perPub">'
+      str += ' <p> 用户名:</p>'
+      str += '<div class="info-iptWrap">'
+      str += '<input type="text" placeholder="请输入用户名" id="username" value="" autocomplete="off">'
+      str += '</div></div>'
+      str += '<div class="info-perPub">'
+      str += ' <p> 密码:</p>'
+      str += '<div class="info-iptWrap">'
+      str += '<input type="text" placeholder="请输入密码" id="password" value="" autocomplete="off">'
+      str += '</div></div>'
+      str += '<p class="waring"></p><div class="sureLogin">登录</div></div>'
+      $('.login').html(str)
+    } else {    //通用版样式
+      str = '<div class="bg fl"><p class="title">AI病案质控平台</p></div>'
+      str += '<div class="message fr"><div class="inner"><p class="welcome">欢迎使用!</p>'
+      str += '<div class="perPub">'
+      str += ' <p> 用户名:</p>'
+      str += '<div class="iptWrap">'
+      str += '<input type="text" placeholder="请输入用户名" id="username" value="" autocomplete="off">'
+      str += '</div></div><br>'
+      str += '<div class="perPub">'
+      str += ' <p> 密码:</p>'
+      str += '<div class="iptWrap">'
+      str += '<input type="text" placeholder="请输入密码" id="password" value="" autocomplete="off">'
+      str += '</div></div><br>'
+      str += '<div class="perPub">'
+      str += ' <p> 验证码:</p>'
+      str += '<div class="iptWrap security-code">'
+      str += '<input type="text" placeholder="请输入验证码" id="code" value="" autocomplete="off">'
+      str += '<div id="codeImg" class="code-img"></div>'
+      str += '<a id="changeCode" >换一张</a>'
+      str += '</div></div>'
+      str += '<p class="waring"></p><div class="sureLogin">登录</div></div><div class="copy-right">由杭州朗通信息技术有限公司提供技术支持</div></div>',
         $('.login').html(str)
-      }
-      $(".sureLogin").click(() => {
-        sureLogin()
-      })
-      $("#password").focus(function () {
-        $(this).attr("type", "password")
-      })
-      $(".iptWrap input").focus(function () {
-        $(this).parent().addClass('inputFocus')
-      })
-      $(".iptWrap input").blur(function () {
-        $(this).parent().removeClass('inputFocus')
-      })
-      $("body").on('input', '#username,#password', function () {
-        if ($(this).val().trim() != '') {
-          $(".login .waring").html('')
-        }
-      })
     }
-  }).catch(() => {
+    getSecurityCode();
+    $(".sureLogin").click(() => {
+      sureLogin()
+    })
+    //点击换一张事件
+    $("#codeImg,#changeCode").click(function () {
+      getSecurityCode();
+      $(".security-code input").val('')
+    })
+    $("#password").focus(function () {
+      $(this).attr("type", "password")
+    })
+    $(".iptWrap:not(.security-code) input").focus(function () {
+      $(this).parent().addClass('inputFocus')
+    })
+    $(".security-code input").focus(function () {
+      $(this).addClass('inputFocus')
+    })
+    $(".iptWrap input").blur(function () {
+      $(this).parent().removeClass('inputFocus')
+      $(this).removeClass('inputFocus')
+    })
+    $("body").on('input', '#username,#password', function () {
+      if ($(this).val().trim() != '') {
+        $(".login .waring").html('')
+      }
+    })
+  }
+  /*}).catch(() => {
 
-  })
+  })*/
 }
 function sureLogin() {
   localStorage.removeItem('accessToken')
+  localStorage.removeItem('localMedoupCode')
+  localStorage.removeItem('medoups')
+  localStorage.removeItem('regions')
   $(".login .waring").html('')
   let username = $("#username").val().trim();
   let password = $("#password").val().trim();
-  if (!username) { 
-    if(type == 1){
+  const captcha = $("#code").val().trim();
+  if (!username) {
+    if (type == 1) {
       toast("请输入用户名!");
-    }else{
+    } else {
       $(".login .waring").css('visibility', 'visible').html('请输入用户名')
     }
     return
@@ -103,21 +147,29 @@ function sureLogin() {
       $(".login .waring").css('visibility', 'visible').html('请输入密码')
     }
     return
+  } else if (!captcha) {
+    if (type == 1) {
+      toast("请输入验证码!");
+    } else {
+      $(".login .waring").css('visibility', 'visible').html('请输入验证码')
+    }
+    return
   }
   $.alerModal({ type: "loading" });
   post(api.getJwt, {
     username: username,
-    password: password
+    password: password,
+    captcha: captcha
   }).then((res) => {
     const data = res.data;
     if (data.code == 0) {
-      setCookie('accessToken', data.data.accessToken)
       setCookie('isPlacefile', 1)
       setCookie('passwordComplexity', data.data.passwordComplexity)
       //setCookie('mmps',password);
       localStorage.setItem('accessToken', data.data.accessToken)
       $(".divModal").remove()
       $.alerModal({ "message": "登录成功", type: "tip", time: '1000', win: true });
+      getLocalRegionMedoup()
       setTimeout(() => {
         cacheCheckDatas(data.data.selRoles);
         const otherLogoPm = otherLogo ? '?adLg=1' : '';
@@ -125,19 +177,31 @@ function sureLogin() {
         window.location.href = 'index.html' + hideLgPm + otherLogoPm;
       }, 600);
     } else {
+        getSecurityCode();//登录失败切换验证码
+      $(".security-code input").val('')
       $(".divModal").remove()
       if (type == 1) {
         toast(data.msg);
       } else {
         $(".login .waring").css('visibility', 'visible').html(data.msg)
       }
-      
     }
   }).catch(() => {
     $(".divModal").remove()
   })
 }
-
+//获取当前登录用户医疗组信息
+function getLocalRegionMedoup() {
+  post(api.getLocalRegionMedoup).then((res) => {
+    const data = res.data;
+    if (data.code == 0) {
+      localStorage.setItem('localMedoupCode', JSON.stringify(data.data.localMedoupCode) )
+      localStorage.setItem('medoups', JSON.stringify(data.data.medoups))
+      localStorage.setItem('regions', JSON.stringify(data.data.regions))
+      localStorage.setItem('showAllFlag', JSON.stringify(data.data.showAllFlag))
+    }
+  })
+}
 //核查权限数据保存
 function cacheCheckDatas(data) {
   delCookie("checkAuth");

+ 50 - 27
src/js/modal.js

@@ -4,35 +4,52 @@ const jQuery = require('jquery');
     let close = require("../images/icon_close_default.png")
     let suc = require("../images/success.png")
     let def = require("../images/default.png")
+    let warn = require("../images/warn.png")
     let loadingImg = require("../images/loading.gif")
     $.alerModal = function (options) {
         var dft = {
-            sureBtn:true,
-            quiteBtn:false,
-            width:"400",
-            title:"标题",
-            sureText:"确定",
+            sureBtn: true,
+            quiteBtn: false,
+            gobackBtn: false,
+            width: "400",
+            title: "标题",
+            sureText: "确定",
+            cancalText: '取消',
+            gobackText: '我知道了',
             message: '<p class="tip">内容</p>',
             time: 1500,
-            isFather: false,
-            fatherWrapper:'',
-            type:'modal',//tip,loading
-            callback:function(){
-                // alert(99)
-            }
+		    isFather: true,
+		    fatherWrapper: $("#mainBox", parent.document),
+            type: 'modal', //tip,loading
+            callback: null
         };
         var ops = $.extend(dft, options || {});
+        var popDom = $('.alertModal:visible');
+        if(ops.isFather){
+		  popDom =ops.fatherWrapper.find('.alertModal:visible');
+		}
+		const ptitle = popDom.find(".titlemodal").text().trim();
+		if(popDom.length&&ptitle!=="修改密码"){
+		  //如果该弹窗已存在,则不再显示多个
+		  return;
+		}
+		if(ptitle==="修改密码"){
+		  popDom.remove();
+        }
         var html = `
             <div class="alertModal">
                 <div class="modalBg"></div>
                 <div class="modalMain" style="width:${ops.width}px;margin-left:-${ops.width/2}px">
-                <p class="title">${ops.title} <img src="${close}" alt=""></p>
-                <div class="content">
+                <p class="titlemodal">${ops.title} <img src="${close}" alt=""></p>
+                <div class="content ${ops.gobackBtn?'contentleft':''}">
+
+                <img style='display:${ops.gobackBtn?'inlineBlock':'none'} ' class='warnimg' src="${warn}" />
                     ${ops.message}
                 </div>
                 <div class="btns clearfix">
-                    <span class="quite" style="display:${ops.quiteBtn?'inlineBlock':'none'}">取消</span>
+                    <span class="quite" style="display:${ops.quiteBtn?'inlineBlock':'none'}">${ops.cancalText}</span>
                     <span class="sure sureChange" style="display:${ops.sureBtn?'inlineBlock':'none'}">${ops.sureText}</span>
+                    <span class="gobackbtn" style="display:${ops.gobackBtn?'inlineBlock':'none'}">${ops.gobackText}</span>
                 </div>
                 </div>
             </div>
@@ -72,26 +89,32 @@ const jQuery = require('jquery');
         var loading = `
             <div class="loading"><img src="${loadingImg}" alt=""></div>
         `
-        var box = $("<div/>",{
-            "class":"divModal",
-            "html":ops.type == 'tip'?tip:ops.type == 'loading'?loading:ops.type == 'radio'?radioExp:html
+        var box = $("<div/>", {
+            "class": "divModal",
+            "html": ops.type == 'tip' ? tip : ops.type == 'loading' ? loading : ops.type == 'radio' ? radioExp : html
         }).css({
-            left:$(".modaltip").width()/2+'px',
-            top:$(".modaltip").height()/2+'px'
+            left: $(".modaltip").width() / 2 + 'px',
+            top: $(".modaltip").height() / 2 + 'px'
         })
-        if(ops.isFather){
+        if (ops.isFather) {
             //console.log('bbbbbbb')
-           ops.fatherWrapper.append(box)
-        } else{
+            ops.fatherWrapper.append(box)
+        } else {
             $("body").append(box)
         }
-        if(ops.type == 'tip'){
-            setTimeout(function(){
+        if (ops.type == 'tip') {
+            setTimeout(function () {
                 box.remove();
             }, ops.time);
         }
-        $(document).on('click',".alertModal .title img,.alertModal .quite",function(){
-            box.remove();
-        })
+        if (ops.callback && typeof ops.callback === 'function') {
+            $(parent.document||document).on('click', ".alertModal .titlemodal img,.alertModal .quite,.alertModal .gobackbtn", function () {
+                ops.callback();
+            })
+        } else {
+            $(parent.document||document).on('click', ".alertModal .titlemodal img,.alertModal .quite,.alertModal .gobackbtn", function () {
+                box.remove();
+            })
+        }
     }
 })(jQuery);

+ 40 - 20
src/js/qcList.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("../css/qcList.less");
 require('./modal.js');
 const { api } = require('./api.js')
-const { post, getCookie,getLocal, getUrlArgObjectNew, emptyBox, downloadExportedData, expJson, getLogoParam, listenScroll, exportTimeLimit } = require('./utils.js')
+const { post, getCookie, getLocal, getUrlArgObjectNew, emptyBox, downloadExportedData, expJson, getLogoParam, listenScroll, exportTimeLimit } = 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")
@@ -37,7 +37,7 @@ $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 let tabList = [], name = "", behospitalCode = "", behosDateStart = "", level = "", behosDateEnd = "", scoreSum = 0, deptNameTemp = "", deptName = "",
     nameTemp = "", behospitalCodeTemp = "", levelTemp = "", deptId = "", deptIdTemp = "", doctorName = "", doctorNum = "", doctorNameTemp = "", doctorNumTemp = "",
     fpCheckStatus = "", fpCheckStatusTemp = "", fpCheckName = "", fpCheckNameTemp = "", qcCheckName = "", qcCheckMain = "", qcCheckMainTemp = "", qcCheckNameTemp = "", qcCheckStatus = "", qcCheckStatusTemp = "", fpCheckDateStart = "", fpCheckDateEnd = "",
-    qcCheckDateStart = "", qcCheckDateEnd = "", data_desc = ["leave_hospital_date"], data_asc = [];
+    qcCheckDateStart = "", qcCheckDateEnd = "", data_desc = ["leave_hospital_date"], data_asc = [], fileCode = "", fileCodeTemp = "";
 let isPlacefile = getCookie('isPlacefile') || 1
 if (isPlacefile != 1) {
     data_desc = ["behospital_date"]
@@ -107,6 +107,7 @@ function getTabData(activePage) {
         desc: data_desc,       //降序
         doctorName: doctorName,
         doctorCode: doctorNum,
+        fileCode: fileCode,
         leaveHosDateStart: isPlacefile == 1 ? behosDateStart : '', //出院日期--开始时间
         leaveHosDateEnd: isPlacefile == 1 ? behosDateEnd : '', //出院日期--结束时间
         "behosDateStart": isPlacefile == 1 ? '' : behosDateStart, //出院日期--开始时间
@@ -139,7 +140,12 @@ function getTabData(activePage) {
                 $('.pagination').html("")
             }
         } else {
-            $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+            const token = localStorage.getItem('accessToken');
+            if (!token && window.location.href.indexOf('login') == -1) {
+                //alert('无token判断,跳回登录')
+            } else {
+                $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+            }
         }
     }).catch((e) => {
 
@@ -195,6 +201,7 @@ $(".filter").on("click", function (e) {
 
     name = nameTemp
     behospitalCode = behospitalCodeTemp
+    fileCode = fileCodeTemp
     level = levelTemp === "全部" ? "" : levelTemp
     deptId = deptIdTemp
     doctorName = doctorNameTemp
@@ -214,11 +221,13 @@ $(".abnormalClear").on("click", function (e) {
     tabList = [];
     name = "";
     behospitalCode = "";
+    fileCode = "";
     level = "";
     scoreSum = 0;
     nameTemp = "";
     deptName = deptNameTemp = ""
     behospitalCodeTemp = "";
+    fileCodeTemp = "";
     levelTemp = "";
     deptId = "";
     deptIdTemp = "";
@@ -242,6 +251,7 @@ $(".abnormalClear").on("click", function (e) {
     }
     data_asc = [];
     $('.patientNumInp').val('')
+    $('.fileCodeNumInp').val('')
     $('.patientNameInp').val('')
     $('.doctorInp').val('')
     $('.doctorNumInp').val('')
@@ -317,7 +327,7 @@ $(".abnormalClear").on("click", function (e) {
     getTabData(1)
 })
 function renderTab(data, hisId) {
-    let str = ``,icon = iconUnCheck;
+    let str = ``, icon = iconUnCheck;
     let hasSelectAll = true;
     if (data.length === 0) {
         $('.tbody').html(emptyBox(null, showNum + 2))
@@ -327,15 +337,15 @@ function renderTab(data, hisId) {
     for (let i = 0; i < data.length; i++) {
         const item = data[i]
         // item.hasSelect = false
-        if (item.checkStatus!==1&&!item.hasSelect) {
+        if (!item.hasSelect) {
             hasSelectAll = false
         }
-        
+
         // <td  class="recordScoreOperaBtn textCenter" style="opacity:${hasData('FUNC000017')?'1':'0.5'}">评分</td>
-        icon=item.checkStatus===1?iconDisCheck:iconUnCheck;     //已核查的不可评分显示禁用图标
+        icon = iconUnCheck;     //已核查的不可评分显示禁用图标
         str += `
             <tr  data-index=${i}>
-                <td class="scoreOperaItem ${item.checkStatus===1?'disabled':''} textCenter">${item.hasSelect ? `<img class="iconCheck" src=${iconCheck} />` : `<img class="iconCheck" src=${icon} />`}</td>
+                <td class="scoreOperaItem textCenter">${item.hasSelect ? `<img class="iconCheck" src=${iconCheck} />` : `<img class="iconCheck" src=${icon} />`}</td>
                 `
         // console.log(item.hasSelect)
         for (let j = 0; j < pageSet.length; j++) {
@@ -375,7 +385,7 @@ function isTextCenter(name) {
 
 function scoreDetail(id, age, hid, code, name) {
     const logoParam = getLogoParam();
-    window.open(`./qcScore.html?id=${id}&age=${age}&name=${name}&hid=${getCookie('hospitalid')}&code=${code}`+logoParam)
+    window.open(`./qcScore.html?id=${id}&age=${age}&name=${name}&hid=${getCookie('hospitalid')}&code=${code}` + logoParam)
 }
 function bindScoreDetail(hisId) {
     $('.patientNameSpan').on('click', function (e) {
@@ -500,9 +510,9 @@ function bindCheckedSelectQc() {
 function bindScoreOperaItem() {
     $(".scoreOperaItem").off("click").on("click", function (e) {
         const index = $(this).parent().attr("data-index")
-        if (tabList[index].checkStatus == 1){
+        /*if (tabList[index].checkStatus == 1){
             return
-        }
+        }*/
         tabList[index].hasSelect = tabList[index].hasSelect ? false : true
         renderTab(tabList)
     })
@@ -528,11 +538,9 @@ function bindOperaAll() {
             }
         } else {
             for (let i = 0; i < tabList.length; i++) {
-                if (tabList[i].checkStatus == 1){
-                    tabList[i].hasSelect = false
-                }else{
-                    tabList[i].hasSelect = true
-                }
+
+                tabList[i].hasSelect = true
+
             }
         }
         renderTab(tabList)
@@ -783,8 +791,8 @@ function renderColSet(list) {
             <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 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>
@@ -954,6 +962,17 @@ $(".patientNumInp").on("input", function (e) {
     });
     behospitalCodeTemp = beCode
 });
+$(".fileCodeNumInp").on("input", function (e) {
+    const val = $(this).val().trim();
+    let beCode = fileCode;
+    const patrn = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g;
+    beCode = val.replace(patrn, function (x) {
+        return "\\" + x;
+    });
+    fileCodeTemp = beCode
+});
+
+
 $(".patientNameInp").on("input", function (e) {
     const val = $(this).val().trim()
     nameTemp = val
@@ -1147,6 +1166,7 @@ $((function ($) {
         }
         const param = {
             "behospitalCode": behospitalCode,
+            "fileCode": fileCode,
             "deptName": deptName == "全部" ? "" : deptName || "",
             "deptId": deptId.trim(),
             "radioCheck": radioCheck || 1, //1:7天2:90天
@@ -1179,7 +1199,7 @@ $((function ($) {
 })($));
 function closeRadio() {
     $(".colSetBox .iconClose,.colSetBox .cancalColSet", parent.document).off("click").on("click", function () {
-        $(".divModal", parent.document).html("")
+        $(".divModal", parent.document).remove()
     })
 }
 function radioSelect() {
@@ -1198,7 +1218,7 @@ function bindSaveColPort(param) {
         }
         param.radioCheck = radioCheck || 1
         expJson(api.exportQcList, param).then(res => {
-            $(".divModal", parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, behosDateStart.slice(0, 10).replace(/-/g, "") + "-" + behosDateEnd.slice(0, 10).replace(/-/g, "") + "抽查住院病历质量情况.xls")
         })
     })

文件差異過大導致無法顯示
+ 597 - 594
src/js/qcListCopy.js


文件差異過大導致無法顯示
+ 561 - 558
src/js/qcListCopyUnqualified.js


文件差異過大導致無法顯示
+ 1414 - 0
src/js/qcListCopyquexian.js


文件差異過大導致無法顯示
+ 762 - 540
src/js/qcListDept.js


+ 3 - 3
src/js/qcListDeptYw.js

@@ -1189,7 +1189,7 @@ $((function($){
             return
         }
         expJson(api.qualityControlExportByDept,param).then(res =>{
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")
         })
         /*$.alerModal({type:"radio",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
@@ -1201,7 +1201,7 @@ $((function($){
 })($));
 function closeRadio(){
     $(".colSetBox .iconClose,.colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
-        $(".divModal",parent.document).html("")
+        $(".divModal", parent.document).remove()
     })
 }
 function radioSelect(){
@@ -1220,7 +1220,7 @@ function bindSaveColPort(param){
         }
         param.radioCheck = radioCheck||1
         expJson(api.qualityControlExportByDept,param).then(res =>{
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")
         })
     })

+ 24 - 4
src/js/qcListDocteam.js

@@ -32,7 +32,7 @@ let docName = getUrlArgObjectNew("docName",srcUrl)||""
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,nameTemp = "",
   behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", doctorNameTemp="", doctorNum="", doctorNumTemp="",
   fpCheckStatus="",fpCheckStatusTemp="",fpCheckName="",fpCheckNameTemp="",qcCheckMain="",qcCheckMainTemp="",qcCheckName="",qcCheckNameTemp="",qcCheckStatus="",qcCheckStatusTemp="",fpCheckDateStart="",fpCheckDateEnd="",
-  qcCheckDateStart="",qcCheckDateEnd="",data_desc=["leave_hospital_date"],data_asc=[];
+  qcCheckDateStart="",qcCheckDateEnd="",data_desc=["leave_hospital_date"],data_asc=[], fileCode = "", fileCodeTemp = "";
 let isPlacefile = getCookie('isPlacefile')||1
 
 $("#filterToggler").click(function(){
@@ -88,6 +88,7 @@ function getTabData(activePage){
     const param = {
         current:activePage,
         behospitalCode: behospitalCode,
+        fileCode: fileCode,
         name: name, //条目名
         level:level,//病历等级
         asc:data_asc,     //升序
@@ -125,7 +126,12 @@ function getTabData(activePage){
                 $('.pagination').html("")
             }
         }else{
-            $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+            const token = localStorage.getItem('accessToken');
+            if (!token && window.location.href.indexOf('login') == -1) {
+                //alert('无token判断,跳回登录')
+            } else {
+                $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+            }
         }
     }).catch((e) =>{
 
@@ -183,6 +189,7 @@ $(".filter").on("click", function(e){
 
     name = nameTemp
     behospitalCode = behospitalCodeTemp
+    fileCode = fileCodeTemp
     level = levelTemp==="全部"?"":levelTemp
     deptId = deptIdTemp
     doctorName = doctorNameTemp
@@ -199,10 +206,12 @@ $(".abnormalClear").on("click", function(e){
     tabList = [];
     name = "";
     behospitalCode="";
+    fileCode = "";
     level="";
     scoreSum = 0;
     nameTemp = "";
     behospitalCodeTemp="";
+    fileCodeTemp = "";
     levelTemp="";
     deptId="";
     deptIdTemp="";
@@ -227,6 +236,7 @@ $(".abnormalClear").on("click", function(e){
     data_asc=[];
     $('.patientNumInp').val('')
     $('.patientNameInp').val('')
+    $('.fileCodeNumInp').val('')
     $('.doctorInp').val('')
     $('.doctorNumInp').val('')
     $('.doctorInp').val('')
@@ -880,6 +890,15 @@ $(".patientNumInp").on("input", function(e){
     });
     behospitalCodeTemp = beCode
 })
+$(".fileCodeNumInp").on("input", function (e) {
+    const val = $(this).val().trim();
+    let beCode = fileCode;
+    const patrn = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g;
+    beCode = val.replace(patrn, function (x) {
+        return "\\" + x;
+    });
+    fileCodeTemp = beCode
+});
 $(".patientNameInp").on("input", function(e){
     const val = $(this).val().trim()
     nameTemp = val
@@ -1069,6 +1088,7 @@ $((function($){
       "deptId": deptId,
       "doctorCode":doctorNum,
       "doctorName": doctorName,
+      "fileCode": fileCode,
       "asc":data_asc,     //升序
       "desc":data_desc,       //降序
       "leaveHosDateStart": isPlacefile==1?behosDateStart:'', //出院日期--开始时间
@@ -1096,7 +1116,7 @@ $((function($){
 })($));
 function closeRadio(){
     $(".colSetBox .iconClose,.colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
-        $(".divModal",parent.document).html("")
+        $(".divModal", parent.document).remove()
     })
 }
 function radioSelect(){
@@ -1115,7 +1135,7 @@ function bindSaveColPort(param){
         }
         param.radioCheck = radioCheck||1
         expJson(api.exportQcDocteam,param).then(res =>{
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")
         })
     })

+ 24 - 4
src/js/qcListOutHospital.js

@@ -47,7 +47,7 @@ let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",beho
   nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", deptName="", deptNameTemp="",
   doctorNum="",doctorNameTemp="",doctorNumTemp="",leaveHosType="",leaveHosTypeTemp="",
   fpCheckStatus="",fpCheckStatusTemp="",fpCheckName="",fpCheckNameTemp="",qcCheckMain="",qcCheckMainTemp="",qcCheckName="",qcCheckNameTemp="",qcCheckStatus="",qcCheckStatusTemp="",fpCheckDateStart="",fpCheckDateEnd="",
-  qcCheckDateStart="",qcCheckDateEnd="",data_desc=["leaveHospitalDate"],data_asc=[];
+  qcCheckDateStart="",qcCheckDateEnd="",data_desc=["leaveHospitalDate"],data_asc=[], fileCode = "", fileCodeTemp = "";
 if(isPlacefile != 1){
     data_desc=["behospitalDate"]
 }
@@ -140,6 +140,7 @@ function getTabData(activePage){
     const param = {
         current:activePage,
         behospitalCode: behospitalCode,
+        fileCode: fileCode,
         patName: name, //病人姓名
         level:level,//病历等级
         behDeptName: deptName == "全部" ? "":deptName||"",
@@ -179,7 +180,12 @@ function getTabData(activePage){
                 $('.pagination').html("")
             }
         }else{
-            $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+		  const token = localStorage.getItem('accessToken');
+		  if (!token && window.location.href.indexOf('login') == -1) {
+			//alert('无token判断,跳回登录')
+		  } else {
+			$.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+		  }
         }
     }).catch((e) =>{
         console.log(999)
@@ -236,6 +242,7 @@ $(".filter").on("click", function(e){
 
     name = nameTemp
     behospitalCode = behospitalCodeTemp
+    fileCode = fileCodeTemp
     level = levelTemp==="全部"?"":levelTemp
     deptId = deptIdTemp
     deptName = deptNameTemp
@@ -256,10 +263,12 @@ $(".abnormalClear").on("click", function(e){
     tabList = []; 
     name = ""; 
     behospitalCode="";  
+    fileCode = "";
     level=""; 
     scoreSum = 0; 
     nameTemp = "";  
     behospitalCodeTemp=""; 
+    fileCodeTemp = "";
     levelTemp="";  
     deptId=""; 
     deptName=""; 
@@ -294,6 +303,7 @@ $(".abnormalClear").on("click", function(e){
     }
     $('.patientNumInp').val('')
     $('.patientNameInp').val('')
+    $('.fileCodeNumInp').val('')
     $('.doctorInp').val('')
     $('.doctorNumInp').val('')
     $('.doctorInp').val('')
@@ -1083,6 +1093,15 @@ $(".patientNumInp").on("input", function(e){
     });
     behospitalCodeTemp = beCode
 });
+$(".fileCodeNumInp").on("input", function (e) {
+    const val = $(this).val().trim();
+    let beCode = fileCode;
+    const patrn = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g;
+    beCode = val.replace(patrn, function (x) {
+        return "\\" + x;
+    });
+    fileCodeTemp = beCode
+});
 $(".patientNameInp").on("input", function(e){
     const val = $(this).val().trim()
     nameTemp = val
@@ -1276,6 +1295,7 @@ $(function($){
         const param = {
             behospitalCode: behospitalCode,
             patName: name, //病人姓名
+            fileCode: fileCode,
             level:level,//病历等级
             behDeptName: deptName == "全部" ? "":deptName||"",
             deptName: deptName == "全部" ? "":deptName||"",
@@ -1305,7 +1325,7 @@ $(function($){
 });
 function closeRadio(){
     $(".colSetBox .iconClose,.colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
-        $(".divModal",parent.document).html("")
+        $(".divModal", parent.document).remove()
     })
 }
 function radioSelect(){
@@ -1324,7 +1344,7 @@ function bindSaveColPort(param){
         }
         param.radioCheck = radioCheck||1
         expJson(api.leaveHosMrPageExport,param).then(res =>{
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, $(".partTitle").text()+".xls")
         })
     })

+ 24 - 4
src/js/qcListPerson.js

@@ -46,7 +46,7 @@ let docName = getUrlArgObjectNew("docName",srcUrl)||""
 let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,nameTemp = "",
   behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName=doctorName_global, doctorNameTemp=doctorName_global,
   fpCheckStatus="",fpCheckStatusTemp="",fpCheckName="",fpCheckNameTemp="",qcCheckMain="",qcCheckMainTemp="",qcCheckName="",qcCheckNameTemp="",qcCheckStatus="",qcCheckStatusTemp="",fpCheckDateStart="",fpCheckDateEnd="",
-  qcCheckDateStart="",qcCheckDateEnd="",data_desc=["leave_hospital_date"],data_asc=[];
+  qcCheckDateStart="",qcCheckDateEnd="",data_desc=["leave_hospital_date"],data_asc=[], fileCode = "", fileCodeTemp = "";
 
 let isPlacefile = getCookie('isPlacefile')||1
 if(isPlacefile != 1){
@@ -108,6 +108,7 @@ function getTabData(activePage){
     const param = {
         current:activePage,
         behospitalCode: behospitalCode,
+        fileCode: fileCode,
         name: name, //条目名
         level:level,//病历等级
         deptId: deptId.trim(),
@@ -145,7 +146,12 @@ function getTabData(activePage){
                 $('.pagination').html("")
             }
         }else{
-            $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+            const token = localStorage.getItem('accessToken');
+            if (!token && window.location.href.indexOf('login') == -1) {
+                //alert('无token判断,跳回登录')
+            } else {
+                $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+            }
         }
     }).catch((e) =>{
     
@@ -201,6 +207,7 @@ $(".filter").on("click", function(e){
     }
     name = nameTemp
     behospitalCode = behospitalCodeTemp
+    fileCode = fileCodeTemp
     level = levelTemp==="全部"?"":levelTemp
     deptId = deptIdTemp
     doctorName = doctorNameTemp
@@ -215,10 +222,12 @@ $(".abnormalClear").on("click", function(e){
     tabList = []; 
     name = ""; 
     behospitalCode="";  
+    fileCode = "";
     level=""; 
     scoreSum = 0; 
     nameTemp = "";  
     behospitalCodeTemp=""; 
+    fileCodeTemp = "";
     levelTemp="";  
     deptId=""; 
     deptIdTemp="";  
@@ -243,6 +252,7 @@ $(".abnormalClear").on("click", function(e){
     data_asc=[];
     $('.patientNumInp').val('')
     $('.patientNameInp').val('')
+    $('.fileCodeNumInp').val('')
     $('.doctorInp').val('')
     $('.doctorNumInp').val('')
     $('.doctorInp').val('')
@@ -956,6 +966,15 @@ $(".patientNumInp").on("input", function(e){
     });
     behospitalCodeTemp = beCode
 })
+$(".fileCodeNumInp").on("input", function (e) {
+    const val = $(this).val().trim();
+    let beCode = fileCode;
+    const patrn = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g;
+    beCode = val.replace(patrn, function (x) {
+        return "\\" + x;
+    });
+    fileCodeTemp = beCode
+});
 $(".patientNameInp").on("input", function(e){
     const val = $(this).val().trim()
     nameTemp = val
@@ -1140,6 +1159,7 @@ $((function($){
         }
         const param = {
             behospitalCode: behospitalCode,
+            fileCode: fileCode,
             name: name, //条目名
             level:level,//病历等级
             deptId: deptId.trim(),
@@ -1170,7 +1190,7 @@ $((function($){
 })($));
 function closeRadio(){
     $(".colSetBox .iconClose,.colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
-        $(".divModal",parent.document).html("")
+        $(".divModal", parent.document).remove()
     })
 }
 function radioSelect(){
@@ -1189,7 +1209,7 @@ function bindSaveColPort(param){
         }
         param.radioCheck = radioCheck||1
         expJson(api.exportQcresultByPerson,param).then(res =>{
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")
         })
     })

+ 5 - 5
src/js/qcListYw.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("../css/qcListYw.less");
 require('./modal.js');
 const {api} = require('./api.js')
-const {post,getCookie,getUrlArgObjectNew,emptyBox,downloadExportedData,expJson,getLogoParam,listenScroll,exportTimeLimit} = require('./utils.js')
+const {post,getCookie,getLocal,getUrlArgObjectNew,emptyBox,downloadExportedData,expJson,getLogoParam,listenScroll,exportTimeLimit} = 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")
@@ -84,7 +84,7 @@ $(parent.document).find(".menu .page[code=YH-ZKK-BLZK_XQ]").addClass("active")
 
 //判断有无某一权限
 function hasData(data){
-    let trdObj = JSON.parse(getCookie("trdObj"))
+    let trdObj = JSON.parse(getLocal("trdObj"))
     let lis = trdObj['YH-ZKK-BLZK_XQ']
     if(!lis){
         return false
@@ -1198,14 +1198,14 @@ $((function($){
             return
         }
         expJson(api.qualityControlExport,param).then(res =>{
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")
         })
     })
 })($));
 function closeRadio(){
     $(".colSetBox .iconClose,.colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
-        $(".divModal",parent.document).html("")
+        $(".divModal", parent.document).remove()
     })
 }
 function radioSelect(){
@@ -1224,7 +1224,7 @@ function bindSaveColPort(param){
         }
         param.radioCheck = radioCheck||1
         expJson(api.qualityControlExport,param).then(res =>{
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")
         })
     })

文件差異過大導致無法顯示
+ 929 - 665
src/js/qcScore.js


+ 3 - 1
src/js/quexianDetailHome.js

@@ -27,6 +27,7 @@ $(function(){
     deptName = getUrlArgObjectNew("deptName",srcUrl)||""
     deptId = deptIdTemp = getUrlArgObjectNew("chengdu",srcUrl)||""
     docName = getUrlArgObjectNew("docName",srcUrl)||""
+    docId = deptIdTemp = getUrlArgObjectNew("docId", srcUrl) || ""
     casesIds = getUrlArgObjectNew("casesId",srcUrl)||""
     isReject= isRejectTemp= getUrlArgObjectNew("shijian",srcUrl)||""
     ruleType= getUrlArgObjectNew("ruleType",srcUrl)||""
@@ -193,6 +194,7 @@ function getTabData(activePage){
         type: 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去)
         name: name, //条目名
         doctorName:docName||"",
+        doctorId: docId || "",
         deptName:deptName||"",
         casesName:deptId||"",
         casesId:casesIds||"",
@@ -340,7 +342,7 @@ function renderTab(data,activePage){
         // let ruleType = $(this).attr("data-ruleType")
         let index = $(this).parent().attr("data-index")
         let defectName = data[index].name
-        $(parent.document).find("#contentIframe").attr("src","../qcListCopyDept.html?deptName="+deptName+"&deptId="+deptId+"&from=10&casesId=243"+"&shijian=3"+"&ruleType="+ruleType+"&startDate="+startDateParam+"&endDate="+endDateParam+"&defectName="+defectName+"&docName="+docName)
+        $(parent.document).find("#contentIframe").attr("src", "../qcListCopyDept.html?deptName=" + deptName + "&deptId=" + deptId + "&from=10&casesId=243" + "&shijian=3" + "&ruleType=" + ruleType + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&defectName=" + defectName + "&docName=" + docName + "&docId=" + docId)
     })
 }
 

+ 2 - 2
src/js/quexianXQ.js

@@ -2,7 +2,7 @@ const $ = require('jquery');
 require("../css/quexianXQ.less");
 require('./modal.js');
 const {api} = require('./api.js')
-const {post,getCookie,emptyBox} = require('./utils.js')
+const {post,getLocal,emptyBox} = 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")
@@ -66,7 +66,7 @@ function dateChange(){
 }
 //判断有无某一权限
   function hasData(data){
-    let trdObj = JSON.parse(getCookie("trdObj"))
+    let trdObj = JSON.parse(getLocal("trdObj"))
     let lis = trdObj['YH-BLZK-ZKPF']
     if(!lis){
       return false

+ 186 - 181
src/js/readmission.js

@@ -1,40 +1,40 @@
 const $ = require('jquery');
 require("../css/readmission.less");
 require('./modal.js');
-const {api} = require('./api.js')
-const { post, getCookie, getUrlArgObjectNew, emptyBox, setTitleTxt, setDatePicker,getLogoParam,getPickerDate,expJson,downloadExportedData,initScroll,listenScroll} = require('./utils.js')
+const { api } = require('./api.js')
+const { post, getCookie, getUrlArgObjectNew, emptyBox, setTitleTxt, setDatePicker, getLogoParam, getPickerDate, expJson, downloadExportedData, initScroll, listenScroll } = 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 iconCheck = require("./../images/icon_check.png")
 const iconUnCheck = require("./../images/icon_unchecked.png")
-const iconDown= require("./../images/arrow_down.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 arrowLeft = require("./../images/arrow_left.png")
 const arrowRight = require("./../images/arrow_right.png")
-let  deptName = "", behospitalCode="", deptNameTemp = "",deptId='',deptIdTemp='', behospitalCodeTemp="", data_desc="",data_asc="",deptRecord="",patientName="" ; 
-let srcUrl = $("#contentIframe",parent.document).attr("src")
-statisticsType = getUrlArgObjectNew("dateType",srcUrl)||"";
-from = getUrlArgObjectNew("from",srcUrl)||""
-lineType = getUrlArgObjectNew("lineType",srcUrl)||""
-let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||""
-let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||""
+let deptName = "", behospitalCode = "", deptNameTemp = "", deptId = '', deptIdTemp = '', behospitalCodeTemp = "", data_desc = "", data_asc = "", deptRecord = "", patientName = "";
+let srcUrl = $("#contentIframe", parent.document).attr("src")
+statisticsType = getUrlArgObjectNew("dateType", srcUrl) || "";
+from = getUrlArgObjectNew("from", srcUrl) || ""
+lineType = getUrlArgObjectNew("lineType", srcUrl) || ""
+let startDateParam = getUrlArgObjectNew("startDateParam", srcUrl) || ""
+let endDateParam = getUrlArgObjectNew("endDateParam", srcUrl) || ""
 // $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 /*if(lineType){
   $("th[code="+data_desc+"]").addClass("desc");
 }*/
 //setTitleTxt('',from)         //导航栏面包屑
 listenScroll()
-if(statisticsType == 1){
-  setDatePicker($("#datepicker"),$("#datepicker2"),1)
-}else if(statisticsType == 2){
-  setDatePicker($("#datepicker"),$("#datepicker2"),2)
-}else if(statisticsType == 3){
-  setDatePicker($("#datepicker"),$("#datepicker2"),3,new Date(startDateParam),new Date(endDateParam))
-}else{
-  setDatePicker($("#datepicker"),$("#datepicker2"),'default')
+if (statisticsType == 1) {
+  setDatePicker($("#datepicker"), $("#datepicker2"), 1)
+} else if (statisticsType == 2) {
+  setDatePicker($("#datepicker"), $("#datepicker2"), 2)
+} else if (statisticsType == 3) {
+  setDatePicker($("#datepicker"), $("#datepicker2"), 3, new Date(startDateParam), new Date(endDateParam))
+} else {
+  setDatePicker($("#datepicker"), $("#datepicker2"), 'default')
 }
-let isPlacefile = getCookie('isPlacefile')||1
+let isPlacefile = getCookie('isPlacefile') || 1
 
 // $( "#datepicker" ).datepicker({
 //   changeMonth: true,
@@ -48,7 +48,7 @@ let isPlacefile = getCookie('isPlacefile')||1
 // }).datepicker( "setDate",new Date(endDateParam));
 
 
-if(from==2){
+if (from == 2) {
   // $(".export").css('display','none')
   // $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
   // deptId=deptListDept[0]&&deptListDept[0].deptId; 
@@ -56,25 +56,25 @@ if(from==2){
   // deptNameTemp=deptListDept[0]&&deptListDept[0].deptName;
   // deptIdTemp=deptListDept[0]&&deptListDept[0].deptId;
   // $('.selectDept').html(deptName)
-}else if(from==3){
-//   $(".partTitle .titlePic ").html(`<a href="keyItemFlawControl.html">关键条目缺陷占比 / </a>缺陷详情`)
-}else{
+} else if (from == 3) {
+  //   $(".partTitle .titlePic ").html(`<a href="keyItemFlawControl.html">关键条目缺陷占比 / </a>缺陷详情`)
+} else {
   $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台 / </a>31日再入院病历数`)
 }
 
-if(!statisticsType){
-  setDatePicker($("#datepicker"),$("#datepicker2"),'default')
+if (!statisticsType) {
+  setDatePicker($("#datepicker"), $("#datepicker2"), 'default')
 }
-$(".abnormalClear").click(function(){
-  data_desc="";
-  data_asc="";
-  deptId="";
-  deptIdTemp="";
-  deptName="";
-  deptNameTemp="";
-  patientName= "";
-  deptRecord="";
-  setDatePicker($("#datepicker"),$("#datepicker2"),"default")
+$(".abnormalClear").click(function () {
+  data_desc = "";
+  data_asc = "";
+  deptId = "";
+  deptIdTemp = "";
+  deptName = "";
+  deptNameTemp = "";
+  patientName = "";
+  deptRecord = "";
+  setDatePicker($("#datepicker"), $("#datepicker2"), "default")
   $('.patientRecordInp').val('')
   $('.patientNameInp').val('')
   // $(".deptList").css("display", "none")
@@ -83,10 +83,10 @@ $(".abnormalClear").click(function(){
   //behospitalCode =behospitalCodeTemp= ""
   getTabData(1)
 })
-$(".partTitle a").click(function(){
+$(".partTitle a").click(function () {
   //初始菜单选中
-  $(".menu .page",parent.document).removeClass("active").eq(0).addClass("active");
-  $(".container",parent.document).addClass("console-cont");
+  $(".menu .page", parent.document).removeClass("active").eq(0).addClass("active");
+  $(".container", parent.document).addClass("console-cont");
 })
 $(".menu .page", parent.document).removeClass("active")
 const ele = $(parent.document).find(".menu .page[code=YH-ZKK-31TZRYRS]")
@@ -96,9 +96,9 @@ ele.addClass("active")
 //   parEle.click();
 // }
 
-setTimeout(function(){
-  $(".menuList",parent.document).scrollTop(768)
-},300)
+setTimeout(function () {
+  $(".menuList", parent.document).scrollTop(768)
+}, 300)
 
 //判断有无某一权限
 /*function hasData(data){
@@ -112,59 +112,64 @@ setTimeout(function(){
   }
   return false;
 }*/
-function getTabData(activePage){
-  const dateStatrt = getPickerDate($("#datepicker"),1)
-  const dateEnd = getPickerDate($("#datepicker2"),2)
+function getTabData(activePage) {
+  const dateStatrt = getPickerDate($("#datepicker"), 1)
+  const dateEnd = getPickerDate($("#datepicker2"), 2)
   const start = new Date(dateStatrt).getTime()
   const end = new Date(dateEnd).getTime()
-  if(start > end){
-    $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+  if (start > end) {
+    $.alerModal({ "message": '开始时间不能大于结束时间~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
     return
   }
   const param = {
-    current:activePage,
+    current: activePage,
     size: 10,
-    name:patientName,
-    fileCode:deptRecord,
-    startDate:dateStatrt.replace(/\//g,'-'),
-    endDate:dateEnd.replace(/\//g,'-')
+    name: patientName,
+    fileCode: deptRecord,
+    startDate: dateStatrt.replace(/\//g, '-'),
+    endDate: dateEnd.replace(/\//g, '-')
   }
   startDateParam = dateStatrt
   endDateParam = dateEnd
   $('.pagination').html("")
-  $('.tbody').html(emptyBox('努力加载中...','',1))
-  post(api.reHos31DaysPage,param).then(res =>{
-    if(res.data.code == '0'){
-      const data = res.data.data||[];
+  $('.tbody').html(emptyBox('努力加载中...', '', 1))
+  post(api.reHos31DaysPage, param).then(res => {
+    if (res.data.code == '0') {
+      const data = res.data.data || [];
       const totalPage = data.pages;
       const totalNum = data.total;
-      renderTab(data,data.hospitalId,activePage);
-      renderPagination(totalPage,Number(activePage),totalNum)
-      if(totalPage > 1){
-        renderPagination(totalPage,Number(activePage),totalNum)
-      } else{
+      renderTab(data, data.hospitalId, activePage);
+      renderPagination(totalPage, Number(activePage), totalNum)
+      if (totalPage > 1) {
+        renderPagination(totalPage, Number(activePage), totalNum)
+      } else {
         $('.pagination').html("")
       }
-    }else{
-      $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+    } else {
+      const token = localStorage.getItem('accessToken');
+      if (!token && window.location.href.indexOf('login') == -1) {
+          //alert('无token判断,跳回登录')
+      } else {
+          $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+      }
     }
-  }).catch((e) =>{
+  }).catch((e) => {
 
   })
- 
+
 }
 
 getTabData(1)
 
-$(".filter").on("click", function(e){
+$(".filter").on("click", function (e) {
   // deptName = deptNameTemp;
   behospitalCode = behospitalCodeTemp;
   getTabData(1)
 })
 // // 处理th tr数据
-function formatTableData(data){
-  let newColumns = data.filter(function(item,index){
-    if(item.isShow === 1) {
+function formatTableData(data) {
+  let newColumns = data.filter(function (item, index) {
+    if (item.isShow === 1) {
       return item
     }
   })
@@ -172,23 +177,23 @@ function formatTableData(data){
 }
 
 
-function renderTab(data,hisId,activePage){
+function renderTab(data, hisId, activePage) {
   data = data.records;
   let newData = []
-  for(var i = 0; i < data.length ; i++) {
-    let dataCopy = {copy: true, ...data[i]}
-    newData =  [...newData,data[i],dataCopy]    
+  for (var i = 0; i < data.length; i++) {
+    let dataCopy = { copy: true, ...data[i] }
+    newData = [...newData, data[i], dataCopy]
   }
   let str = ``
-  for(let i = 0; i < newData.length; i++){
-      const item = newData[i]
-      if(!item.copy){
-        str += `
+  for (let i = 0; i < newData.length; i++) {
+    const item = newData[i]
+    if (!item.copy) {
+      str += `
           <tr  data-index=${i}>
-          <td class="textCenter" rowspan="2">${Math.ceil(((activePage-1)*20 + i+1)/2)}</td>
+          <td class="textCenter" rowspan="2">${Math.ceil(((activePage - 1) * 20 + i + 1) / 2)}</td>
           <td class="textCenter">${item.details[0].behospitalCode || "-"}</td> 
           <td class="textCenter" rowspan="2">${item.fileCode || "-"}</td> 
-          <td class="textCenter patientNameSpan" data-id="${item.details[0].behospitalCode}" data-name="${item.details[1].name}" >${item.details[0].name || "-"}</td> 
+          <td class="textCenter patientNameSpan" data-level="${item.details[1].level}" data-id="${item.details[0].behospitalCode}" data-name="${item.details[1].name}" >${item.details[0].name || "-"}</td> 
           <td class="textCenter" rowspan="2">${item.sex || "-"}</td> 
           <td class="textCenter">${item.details[0].level || "-"}</td> 
           <td class="textCenter">${item.details[0].scoreRes || "-"}</td> 
@@ -203,13 +208,13 @@ function renderTab(data,hisId,activePage){
           <td class="textCenter" rowspan="2">${item.lastAgainBehospitalPlan || "-"}</td> 
           </tr>
         `
-      }else{
-        str += `
+    } else {
+      str += `
           <tr  data-index=${i} class="copy">
           <td class="textCenter delete"></td> 
           <td class="textCenter">${item.details[1].behospitalCode || "-"}</td> 
           <td class="textCenter delete">${item.fileCode || "-"}</td> 
-          <td class="textCenter patientNameSpan" data-id="${item.details[1].behospitalCode}" data-name="${item.details[1].name}">${item.details[1].name || "-"}</td> 
+          <td class="textCenter patientNameSpan" data-level="${item.details[1].level}" data-id="${item.details[1].behospitalCode}" data-name="${item.details[1].name}">${item.details[1].name || "-"}</td> 
           <td class="textCenter delete">${item.sex || "-"}</td> 
           <td class="textCenter">${item.details[1].level || "-"}</td> 
           <td class="textCenter">${item.details[1].scoreRes || "-"}</td> 
@@ -224,52 +229,52 @@ function renderTab(data,hisId,activePage){
           <td class="textCenter delete">${item.lastAgainBehospitalPlan || "-"}</td> 
           </tr>
         `
-      }
+    }
   }
-  $('.tbody').html(str?str:emptyBox())
+  $('.tbody').html(str ? str : emptyBox())
   $(".tbody .copy .delete").hide()
   /*bindScoreDetail(hisId)*/
   // 跳转至详情页
-  $(".goHomeDetail").click(function(){
+  $(".goHomeDetail").click(function () {
     let casesName = $(this).attr("data-name") || '';
     let casesId = $(this).attr("data-id");
-    let name=$(this).attr("dept-name");
-    name=name==="全院"?"全部":name;
-    let id=$(this).attr("dept-id");
+    let name = $(this).attr("dept-name");
+    name = name === "全院" ? "全部" : name;
+    let id = $(this).attr("dept-id");
 
-    $(parent.document).find("#contentIframe").attr("src","uccDetail.html?from=3&deptName="+name+"&deptId="+id+"&casesEntryId="+casesId+"&defectName="+casesName+"&startDate="+startDateParam+"&endDate="+endDateParam)
+    $(parent.document).find("#contentIframe").attr("src", "uccDetail.html?from=3&deptName=" + name + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam)
   })
   bindScoreDetail(hisId)
   // initScroll("partDetailControl","YX",1)
 }
 
-function scoreDetail(id,age,hid,code,name){
-    const logoParam = getLogoParam();
-  window.open(`./qcScore.html?id=${id}&age=${age}&name=${name}&hid=${getCookie('hospitalid')}&code=${code}`+logoParam)
+function scoreDetail(id, age, hid, code, name) {
+  const logoParam = getLogoParam();
+  window.open(`./qcScore.html?id=${id}&age=${age}&name=${name}&hid=${getCookie('hospitalid')}&code=${code}` + logoParam)
 }
 // 跳转至病人详情
-function bindScoreDetail(hisId){
-  $('.patientNameSpan').on('click',function(e){
-      // const id = $(this).attr('data-id')
-      // const age = ''
-      // const noScore = ''
-      // const checkStatus = ''
-      // const name = $(this).attr('data-name')
-      const id = $(this).attr('data-id')
-      const age = ''
-      const noScore = ''
-      const checkStatus = ''
-      const name = $(this).attr('data-name')
-      // qcScore.html?id=ZY010000669760&age=null&name=李**&hid=1&code=YH-BLZK-ZKPF
-      // console.log(id,'=',name,'=');
-      if(noScore){
-          $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
-          return
-      } else{
-          // scoreDetail(id,age,hisId,'YH-BLZK-ZKPF',tabList[index].name)
-          scoreDetail(id,age,hisId,'YH-BLZK-ZKPF',name)
-      }
-     
+function bindScoreDetail(hisId) {
+  $('.patientNameSpan').on('click', function (e) {
+    // const id = $(this).attr('data-id')
+    // const age = ''
+    // const noScore = ''
+    // const checkStatus = ''
+    // const name = $(this).attr('data-name')
+    const id = $(this).attr('data-id')
+    const age = ''
+    const noScore = ''
+    const checkStatus = ''
+    const name = $(this).attr('data-name')
+    // qcScore.html?id=ZY010000669760&age=null&name=李**&hid=1&code=YH-BLZK-ZKPF
+    // console.log(id,'=',name,'=');
+    if (!noScore) {
+      $.alerModal({ "message": '请先进行评分!', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+      return
+    } else {
+      // scoreDetail(id,age,hisId,'YH-BLZK-ZKPF',tabList[index].name)
+      scoreDetail(id, age, hisId, 'YH-BLZK-ZKPF', name)
+    }
+
   })
 }
 
@@ -373,7 +378,7 @@ function bindScoreDetail(hisId){
 //     $('.selectDept').removeClass('unSelect')
 //   })
 // }
-function loading(){
+function loading() {
   const str = `
     <div class="loadingBox">
             <div class="mask"></div>
@@ -382,24 +387,24 @@ function loading(){
     `
   $("#mainBox", parent.document).append(str)
 }
-function hideLoading(){
+function hideLoading() {
   $("#mainBox .loadingBox", parent.document).remove()
 }
-$(document).on("click", function(){
+$(document).on("click", function () {
   $(".deptList").css("display", "none");
   // $(".selectDept .arrow").attr("src",iconDown)
 })
 // 上升下降筛选
-$("th[code]").off("click").on("click",function(e){
-  const code=$(this).attr("code");
-  if(data_asc==code){
-    data_desc=code;
-    data_asc="";
+$("th[code]").off("click").on("click", function (e) {
+  const code = $(this).attr("code");
+  if (data_asc == code) {
+    data_desc = code;
+    data_asc = "";
     $("th[code]").removeClass("asc desc");
     $(this).addClass("desc");
-  }else{
-    data_desc="";
-    data_asc=code;
+  } else {
+    data_desc = "";
+    data_asc = code;
     $("th[code]").removeClass("asc desc");
     $(this).addClass("asc");
   }
@@ -408,58 +413,58 @@ $("th[code]").off("click").on("click",function(e){
 
 
 //分页渲染
-function renderPagination(totalPage,activePage,totalNum){
+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++){
+  if (totalPage <= 6) {
+    for (let i = 1; i <= totalPage; i++) {
 
-      str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
+      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>`
+  } 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>`
+      str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
 
-    } else if(activePage > totalPage -3){
+    } 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>`
+      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="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="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){
+  $(".pageNum").on("click", function (e) {
     const activePageNow = Number($(this).attr('data-page'))
     getTabData(activePageNow)
     // renderPagination(totalPage,activePageNow,totalNum)
   })
-  $(".prePage").on("click", function(e){
+  $(".prePage").on("click", function (e) {
     let activePageNow = Number($(".activePage").attr('data-page'))
-    if(activePageNow > 1){
+    if (activePageNow > 1) {
       activePageNow--
       getTabData(activePageNow)
       // renderPagination(totalPage,activePageNow,totalNum)
     }
   })
-  $(".nextPage").on("click", function(e){
+  $(".nextPage").on("click", function (e) {
     let activePageNow = Number($(".activePage").attr('data-page'))
-    if(activePageNow < totalPage){
+    if (activePageNow < totalPage) {
       activePageNow++
       getTabData(activePageNow)
       // renderPagination(totalPage,activePageNow,totalNum)
@@ -469,58 +474,58 @@ function renderPagination(totalPage,activePage,totalNum){
 }
 
 // 获取科室名称
-$(".patientNumInp").on("input", function(e){
+$(".patientNumInp").on("input", function (e) {
   const val = $(this).val().trim()
   deptName = val
 })
- 
+
 // 获取病人姓名  patientRecordInp
-$(".patientNameInp").on("input", function(e){
+$(".patientNameInp").on("input", function (e) {
   const val = $(this).val().trim()
   patientName = val
 })
 
 // 获取病案号  patientRecordInp
-$(".patientRecordInp").on("input", function(e){
+$(".patientRecordInp").on("input", function (e) {
   const val = $(this).val().trim()
   deptRecord = val
 })
 
 
-$(function() {
-  const  iconCalenBlue= require("./../images/icon_calen_blue.png")
-  const  iconCalenGrey= require("./../images/icon_calen_grey.png")
+$(function () {
+  const iconCalenBlue = require("./../images/icon_calen_blue.png")
+  const iconCalenGrey = require("./../images/icon_calen_grey.png")
   $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
-  $('.iconCalen').on("mouseenter", function(e){
+  $('.iconCalen').on("mouseenter", function (e) {
     $(this).attr("src", iconCalenBlue)
   })
-  $('.iconCalen').on("mouseleave", function(e){
+  $('.iconCalen').on("mouseleave", function (e) {
     $(this).attr("src", iconCalenGrey)
   })
-  $('.iconCalen').on("click", function(e){
+  $('.iconCalen').on("click", function (e) {
     $(this).parent().find("input").focus()
   })
-  $('.export').click(function(){
-      const start = new Date(startDateParam).getTime()
-      const end = new Date(endDateParam).getTime()
-      if(start > end){
-          $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
-          return
-      }
-      const param = {
-        name:patientName,
-        isPlacefile:isPlacefile,
-        fileCode:deptRecord,
-        startDate:startDateParam.replace(/\//g,'-'),
-        endDate:endDateParam.replace(/\//g,'-'),
-      }
-      expJson(api.reHos31DaysPageExport,param).then(res =>{
-          downloadExportedData(res.data, "31天再入院人数.xls")
-      })
-      
-      //  初始渲染TableTitle
-      // getPageSet().then(res =>{
-      //   $(".filter").click();   //初始查询
-      // })
+  $('.export').click(function () {
+    const start = new Date(startDateParam).getTime()
+    const end = new Date(endDateParam).getTime()
+    if (start > end) {
+      $.alerModal({ "message": '开始时间不能大于结束时间~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+      return
+    }
+    const param = {
+      name: patientName,
+      isPlacefile: isPlacefile,
+      fileCode: deptRecord,
+      startDate: startDateParam.replace(/\//g, '-'),
+      endDate: endDateParam.replace(/\//g, '-'),
+    }
+    expJson(api.reHos31DaysPageExport, param).then(res => {
+      downloadExportedData(res.data, "31天再入院人数.xls")
+    })
+
+    //  初始渲染TableTitle
+    // getPageSet().then(res =>{
+    //   $(".filter").click();   //初始查询
+    // })
   })
 });

+ 6 - 2
src/js/roleManager.js

@@ -98,7 +98,7 @@ $(function(){
                 </div>
             `
         }
-        $(".mainSysWrap").html(str)
+        $(".mainSysWrap").html(str);   
         saveAllSet()
         // initScroll("mainSysWrap","Y",1)
     }
@@ -111,7 +111,7 @@ $(function(){
             let grandParentId = $(this).parents(".mainSys").attr("data-menuId")
             let grandIndex = $(this).parents(".mainSys").attr("data-index")
             let tmpSelectData = null,tmpSelectDataOr=[];
-            if(grandParentId == 3||grandParentId == 2||grandParentId==17||grandParentId==18||grandParentId==61){//循环
+            if(grandParentId == 3||grandParentId == 2||grandParentId==17||grandParentId==18||grandParentId==61||grandParentId==85){//循环
                 // console.log(curData[grandIndex])
                 let tmpData = curData[grandIndex];
                 let tmpDataLis = curData[grandIndex].sonMenuDTOList;
@@ -271,6 +271,8 @@ $(function(){
         // console.log(permissionIdLis,menuIdLis)
     }
     function getOneLis(data){
+        console.log(data);
+        
         let tmpstr = ''
         for(let i = 0;i <data.length;i++){
             tmpstr += `
@@ -283,6 +285,8 @@ $(function(){
     }
     function getTwoLis(data){
         curTreeData = data
+        console.log("1111111",curTreeData);
+        
         let tmpstr = ''
         for(let i = 0;i <data.length;i++){
             tmpstr += `

+ 10 - 6
src/js/singleVeto.js

@@ -66,7 +66,8 @@ $(function(){
     }
     if(from == 2&&fromThree == 3){
         deptName =  deptList[0]&&deptList[0].deptName||'';
-        $(".selectDept").attr({'title':deptName,'data-id':''}).html(deptName).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        deptId = deptList[0] && deptList[0].deptId || '';
+        $(".selectDept").attr({ 'title': deptName, 'data-id': deptId}).html(deptName).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
     }
     $(".partTitle a").click(function(){
         //初始菜单选中
@@ -87,7 +88,8 @@ $(function(){
         name = ""
         casesName=casesNameTemp=""
         deptName =  deptList[0]&&deptList[0].deptName||'';
-        $(".selectDept").attr({'title':deptName,'data-id':''}).html(deptName).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
+        deptId = deptList[0] && deptList[0].deptId || '';
+        $(".selectDept").attr({ 'title': deptName, 'data-id': deptId}).html(deptName).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
         casesId=casesIdTemp=""
         isSingleReject=isSingleRejectTemp=""
         $(".moduleItemInp").val("")
@@ -134,12 +136,13 @@ function bindDeptSelect(){
         const deptItemName = $(this).attr("data-name")||''
         const deptItemId = $(this).attr("data-id")
         deptName =deptNameTemp=deptItemName
+        deptId = deptIdTemp = deptItemId
         if(deptItemName.length > 10){
             $('.selectDept').html(deptItemName.substring(0,8)+'...')
         }else{
             $('.selectDept').html(deptItemName)
         }
-        $('.selectDept ').attr({'title':deptItemName,'data-id':deptItemName})
+        $('.selectDept ').attr({ 'title': deptItemName, 'data-id': deptId})
         $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 
         getmoduleTypeList('',deptItemName)
@@ -169,8 +172,9 @@ function getDeptList(dept,isReject){
       $(".selectDept").attr({'title':deptName,'data-id':''}).html(deptName).append(`<img class="arrow" src=${iconDown} alt="下拉">`)
   }else{
       deptName = deptNameTemp = deptList[0].deptName
+      deptId = deptIdTemp = deptList[0].deptId
   }
-  $(".selectDept").attr("data-id",deptName).find("i").html(deptName)
+    $(".selectDept").attr("data-id", deptId).find("i").html(deptName)
   for(let i = 0;i < deptList.length;i++){
       let tmp = deptList[i]
       str += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptName}" data-name="${tmp.deptName}">${tmp.deptName}</li>`
@@ -359,9 +363,9 @@ function goDetail(data){
          let caseId = $(this).parent().attr("data-caseId")
         const item = data[index]
         if(from == 2){
-            $(parent.document).find("#contentIframe").attr("src",`./qcListCopyDept.html?defectName=${defectName}&casesId=${caseId} &defectId=${defectId}&startDate=${startDateParam}&endDate=${endDateParam}&from=2&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`)
+            $(parent.document).find("#contentIframe").attr("src", `./qcListCopyDept.html?defectName=${defectName}&casesId=${caseId} &defectId=${defectId}&startDate=${startDateParam}&endDate=${endDateParam}&from=2&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptId}`)
         }else{
-            $(parent.document).find("#contentIframe").attr("src",`./qcListCopy.html?defectName=${defectName}&casesId=${caseId} &defectId=${defectId}&startDate=${startDateParam}&endDate=${endDateParam}&from=${from}&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`)
+            $(parent.document).find("#contentIframe").attr("src", `./qcListCopy.html?defectName=${defectName}&casesId=${caseId} &defectId=${defectId}&startDate=${startDateParam}&endDate=${endDateParam}&from=${from}&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptId}`)
         }
     })
 }

+ 2 - 2
src/js/uccDetail.js

@@ -1264,7 +1264,7 @@ $(function($){
 });
 function closeRadio(){
     $(".colSetBox .iconClose,.colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
-        $(".divModal",parent.document).html("")
+        $(".divModal", parent.document).remove()
     })
 }
 function radioSelect(){
@@ -1286,7 +1286,7 @@ function bindSaveColPort(param){
             param = { ...param, casesEntryName: ''}
         }
         expJson(!isInspection ? api.unModifyMRPageExport : api.medicalCheckInnerExport , param).then(res => {
-            $(".divModal",parent.document).html("")
+            $(".divModal", parent.document).remove()
             downloadExportedData(res.data, $(".partTitle").text() + ".xls")
         })
     })

+ 4 - 0
src/js/uncorrectedCasesStatistics.js

@@ -143,6 +143,8 @@ function formatTableData(data){
 function renderTab(data,hisId,activePage){
   let formatColumns = formatTableData(data.columns)
   data = data.data;
+  console.log(data);
+  
   let str = ``
   for(let i = 0; i < data.length; i++){
     const item = data[i]
@@ -298,6 +300,8 @@ function bindDeptSelect(){
 function renderTabTitle(data){
   isfirstRenderTitle = true
   data = data.columns; 
+ console.log(data,'data');
+ 
   // console.log(data,'1111111');
   let str = `
   <th class="moduleName" style="width: 65px;">序号</th>`

+ 476 - 0
src/js/uncorrectedCasesStatisticsAdm.js

@@ -0,0 +1,476 @@
+const $ = require('jquery');
+require("../css/uncorrectedCasesStatistics.less");
+require('./modal.js');
+const { api } = require('./api.js')
+const { post, getCookie, getUrlArgObjectNew, emptyBox, setTitleTxt, setDatePicker, getPickerDate, expJson, downloadExportedData, initScroll, listenScroll } = require('./utils.js')
+require('./../resource/jquery-ui/jquery-ui.min.js');
+require('./../resource/jquery-ui/jquery-ui.min.css');
+const iconCheck = require("./../images/icon_check.png")
+const iconUnCheck = require("./../images/icon_unchecked.png")
+const iconDown = require("./../images/arrow_down.png")
+const iconUp = require("./../images/arrow_up.png")
+const loadingImg = require("./../images/loading.gif")
+const arrowLeft = require("./../images/arrow_left.png")
+const arrowRight = require("./../images/arrow_right.png")
+let deptName = "", behospitalCode = "", deptNameTemp = "", deptId = '', deptIdTemp = '', behospitalCodeTemp = "", data_desc = "", data_asc = "", columns = [], isfirstRenderTitle = false;
+let srcUrl = $("#contentIframe", parent.document).attr("src")
+statisticsType = getUrlArgObjectNew("dateType", srcUrl) || "";
+from = getUrlArgObjectNew("from", srcUrl) || ""
+lineType = getUrlArgObjectNew("lineType", srcUrl) || ""
+let startDateParam = getUrlArgObjectNew("startDateParam", srcUrl) || ""
+let endDateParam = getUrlArgObjectNew("endDateParam", srcUrl) || ""
+/*if(lineType){
+  $("th[code="+data_desc+"]").addClass("desc");
+}*/
+//setTitleTxt('',from)         //导航栏面包屑
+let isPlacefile = getCookie('isPlacefile') || 1
+let tableType = 1;
+let timelinessId;
+listenScroll()
+if (statisticsType == 1) {
+  setDatePicker($("#datepicker"), $("#datepicker2"), 1)
+} else if (statisticsType == 2) {
+  setDatePicker($("#datepicker"), $("#datepicker2"), 2)
+} else if (statisticsType == 3) {
+  setDatePicker($("#datepicker"), $("#datepicker2"), 3, new Date(startDateParam), new Date(endDateParam))
+} else {
+  setDatePicker($("#datepicker"), $("#datepicker2"), 'default')
+}
+
+if (!statisticsType) {
+  setDatePicker($("#datepicker"), $("#datepicker2"), 'default')
+}
+$(".abnormalClear").click(function () {
+  data_desc = "";
+  data_asc = "";
+  deptId = "";
+  deptIdTemp = "";
+  deptName = "";
+  deptNameTemp = "";
+  casesEntryIds = "";
+  setDatePicker($("#datepicker"), $("#datepicker2"), "default")
+  $(".selectDept").attr({ 'title': "全部", 'data-id': '' }).val("全部")
+  $('.patientNumInp').val('')
+  $("th[code]").removeClass("asc desc")
+  //behospitalCode =behospitalCodeTemp= ""
+  getTabData(1)
+  getDeptList()
+
+})
+$(".partTitle a").click(function () {
+  //初始菜单选中
+  $(".menu .page", parent.document).removeClass("active").eq(0).addClass("active");
+  $(".container", parent.document).addClass("console-cont");
+})
+$(".menu .page", parent.document).removeClass("active")
+$(parent.document).find(".menu .page[code=YH-ZKK-SXXXGTJ_GLY]").addClass("active")
+
+//判断有无某一权限
+/*function hasData(data){
+  let trdObj = JSON.parse(getCookie("trdObj"))
+  let lis = trdObj['YH-BLZK-ZKPF']
+  if(!lis){
+    return false
+  }
+  if(lis.indexOf(data)>-1){//有权限
+    return true
+  }
+  return false;
+}*/
+function getTabData(activePage) {
+  const dateStatrt = getPickerDate($("#datepicker"), 1)
+  const dateEnd = getPickerDate($("#datepicker2"), 2)
+  const start = new Date(dateStatrt).getTime()
+  const end = new Date(dateEnd).getTime()
+  if (start > end) {
+    $.alerModal({ "message": '开始时间不能大于结束时间~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+    return
+  }
+  const param = {
+    // current: 1,
+    // size: 15,
+    "deptName": deptName == "全部" ? "" : deptName || "",
+    "name": deptName == "全部" ? "" : deptName || "",
+    "asc": data_asc,     //升序
+    "desc": data_desc,       //降序
+    //"type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
+    "startDate": dateStatrt.replace(/\//g, '-'),
+    "endDate": dateEnd.replace(/\//g, '-'),
+    "casesEntryIds": [timelinessId]
+  }
+  startDateParam = dateStatrt
+  endDateParam = dateEnd
+  $('.pagination').html("")
+  $('.key-list tbody').html(emptyBox('努力加载中...', '', 1))
+  let url
+  if (tableType === 1) {
+    url = api.getDeptA
+  } else {
+    url = api.getDeptB
+  }
+  post(url, param).then(res => {
+    if (res.data.code == '0') {
+      const data = res.data.data || [];
+      // renderTabTitle(data)
+
+      if (isfirstRenderTitle === false) { renderTabTitle(data) }  //首次渲染渲染Table表头
+      renderTab(data, data.hospitalId, activePage);
+      renderPagination(totalPage, Number(activePage), totalNum)
+      if (totalPage > 1) {
+        renderPagination(totalPage, Number(activePage), totalNum)
+      } else {
+        $('.pagination').html("")
+      }
+    } else {
+      $.alerModal({ "message": res.data.msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+    }
+  }).catch((e) => {
+
+  })
+
+}
+
+getTabData(1)
+
+$(".filter").on("click", function (e) {
+  deptName = deptNameTemp;
+  behospitalCode = behospitalCodeTemp;
+  if (deptName == "") {
+    $(".selectDept").attr({ 'title': "全部", 'data-id': '' }).val("全部")
+  }
+  getTabData(1)
+})
+// // 处理th tr数据
+function formatTableData(data) {
+  let newColumns = data.filter(function (item, index) {
+    if (item.isShow === 1) {
+      return item
+    }
+  })
+  return newColumns
+}
+
+
+function renderTab(data, hisId, activePage) {
+  let formatColumns = formatTableData(data.columns)
+  data = data.data;
+  console.log("renderTab", data);
+
+  let str = ``
+
+  for (let i = 0; i < data.length; i++) {
+    const item = data[i];
+    if (tableType === 1) {
+      str += `
+            <tr  data-index=${i}>
+                <td  class="textCenter">${(activePage - 1) * 15 + i + 1}</td>
+                <td>${item.hospitalId || "-"}</td>            
+                <td>${item.name || "-"}</td>            
+                <td>${item.sex || "-"}</td>            
+                <td>${item.behospitalCode || "-"}</td>            
+                <td>${item.doctorName || "-"}</td>            
+                <td>${item.behDeptName || "-"}</td>            
+                <td>${item.ruleName || "-"}</td>            
+                <td>${item.behospitalDate || "-"}</td>            
+                <td>${item.behospitalGmtCreate || "-"}</td>            
+                <td>${item.isPlacefile || "-"}</td>            
+            </tr>
+        `}
+    else {
+      str += `
+      <tr  data-index=${i}>
+          <td  class="textCenter">${(activePage - 1) * 15 + i + 1}</td>    
+          <td>${item.hospitalId || "-"}</td>       
+          <td>${item.name || "-"}</td>            
+          <td>${item.sex || "-"}</td>            
+          <td>${item.behospitalCode || "-"}</td>            
+          <td>${item.doctorName || "-"}</td>            
+          <td>${item.behDeptName || "-"}</td>            
+          <td>${item.ruleName || "-"}</td>                               
+          <td>${item.wardName || "-"}</td>            
+          <td>${item.behospitalDate || "-"}</td>   
+          <td>${item.isPlacefile || "-"}</td>            
+      </tr>
+  `
+    }
+  }
+  console.log("str", str)
+  $('.key-list tbody').html(str ? str : emptyBox())
+  /*bindScoreDetail(hisId)*/
+  // 跳转至详情页
+  $(".goHomeDetail").click(function () {
+    let casesName = $(this).attr("data-name") || '';
+    let casesId = $(this).attr("data-id");
+    let name = $(this).attr("dept-name");
+    name = name === "全院" ? "全部" : name;
+    let id = $(this).attr("dept-id");
+
+    $(parent.document).find("#contentIframe").attr("src", "uccDetail.html?from=3&deptName=" + name + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam)
+  })
+  // initScroll("partDetailControl","YX",1)
+}
+
+
+
+$('.selectDept').on("focus", function (e) {
+  e.stopPropagation()
+  // let val = $(this).val().trim()
+  // deptName = deptNameTemp = val
+  // val&&getDeptList(val)
+  $(".deptList ").css("display", "block")
+})
+$('.selectDept').on("blur", function (e) {
+  $(".deptList ").css("display", "none")
+  $(".selectDept .arrow").attr("src", iconDown)
+})
+$('.selectDept').on("input", function (e) {
+  let val = $(this).val().trim()
+  deptName = deptNameTemp = val
+  getDeptList(deptName)
+})
+//获取科室列表
+getDeptList()
+function getDeptList(val) {
+  post(api.getTimelinessList, { inputStr: val == "全部" ? "" : val || "" }).then(res => {
+    if (res.data.code == '0') {
+      const deptList = res.data.data || []
+      // console.log("111111111", deptList);
+
+      rendeDeptList(deptList)
+    } else {
+      rendeDeptList([])
+    }
+  }).catch((e) => {
+
+  })
+}
+
+function rendeDeptList(deptList) {
+  if (deptList.length == 0) {
+    $('.deptList').html("")
+    return
+  }
+  let str = `<li class="deptItem ellipsis" data-id=" " data-name="全部"></li>`;
+  for (let i = 0; i < deptList.length; i++) {
+    str += `<li class="deptItem ellipsis" title=${deptList[i].timelinessName} data-id=${deptList[i].timelinessId} data-name=${deptList[i].timelinessName}> ${deptList[i].timelinessName}</li>`
+  }
+  $('.deptList').html(str)
+  bindDeptSelect()
+}
+//科室选择
+function bindDeptSelect() {
+  $('.deptItem').on("mousedown", function () {
+    let index = $(this).index()
+    if (index > 3) {
+      tableType = 2
+    } else {
+      tableType = 1
+    }
+    timelinessId = $(this).attr("data-id")
+    // console.log(timelinessId);
+
+    getTabData(1)
+    const deptItemName = $(this).attr("data-name")
+    const deptItemId = $(this).attr("data-id")
+    deptIdTemp = deptItemId;
+    deptNameTemp = deptItemName === "全部" ? "" : deptItemName;
+    $('.selectDept').val(deptItemName)
+    $('.selectDept ').attr('title', deptItemName)
+    $(".deptList").css("display", "none")
+    $('.selectDept').removeClass('unSelect')
+    // console.log("index", index);
+
+  })
+}
+//获取页面配置
+
+// function getPageSet(){
+//   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 = {
+//     "name": deptName,
+//     "asc":data_asc,     //升序
+//     "desc":data_desc,       //降序
+//     "startDate":dateStatrt.replace(/\//g,'-'),
+//     "endDate":dateEnd.replace(/\//g,'-')
+//   }
+//   startDateParam = dateStatrt
+//   endDateParam = dateEnd
+//   post(api.unModifyMRStatistics,param).then(res =>{
+//     if(res.data.code == '0'){
+//       const data = res.data.data||[];
+//       renderTabTitle(data)   //渲染Table表头
+//     }else{
+//       $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+//     }
+//   }).catch((e) =>{
+
+//   })
+// }
+// getPageSet()
+
+// 渲染table表头
+function renderTabTitle(data) {
+  isfirstRenderTitle = true
+  data = data.columns;
+  // console.log(data, 'data');
+
+  // console.log(data,'1111111');
+  let str = `
+  <th class="moduleName" style="width: 65px;">序号</th>`
+  for (let i = 0; i < data.length; i++) {
+    const item = data[i]
+    if (item.isShow == 1) {
+      // showNum++
+      // str += `<th class="textCenter ${item.val} ${item.val =='leaveHospitalDate' ? 'desc':''}" code="${item.val}">${item.name}</th>`
+      str += `<th class="textCenter beHospitalId" code="${item.timelinessId}">${item.columnName}</th>`
+    }
+  }
+  $(".tabTitle").html(str)
+  bindOrder()
+}
+
+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 bindOrder() {
+  $("th[code]").off("click").on("click", function (e) {
+    const code = $(this).attr("code");
+    if (data_asc == code) {
+      data_desc = code;
+      data_asc = "";
+      $("th[code]").removeClass("asc desc");
+      $(this).addClass("desc");
+    } else {
+      data_desc = "";
+      data_asc = code;
+      $("th[code]").removeClass("asc desc");
+      $(this).addClass("asc");
+    }
+    getTabData(1);
+  });
+}
+
+
+//分页渲染
+function renderPagination(totalPage, activePage, totalNum) {
+  let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
+  if (totalPage <= 6) {
+    for (let i = 1; i <= totalPage; i++) {
+
+      str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
+    }
+  } else {
+    if (activePage <= 3) { //选中页数小于4
+      for (let i = 1; i <= 4; i++) {
+        str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`
+      }
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
+
+    } else if (activePage > totalPage - 3) {
+      str += `<span class="pageNum page1" data-page=1>1</span>`
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page' + (totalPage - 3)}" data-page=${totalPage - 3}>${totalPage - 3}</span>`
+      str += `<span class="pageNum ${'page' + (totalPage - 2)}" data-page=${totalPage - 2}>${totalPage - 2}</span>`
+      str += `<span class="pageNum ${'page' + (totalPage - 1)}" data-page=${totalPage - 1}>${totalPage - 1}</span>`
+      str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
+    } else {
+      str += `<span class="pageNum page1" data-page=1>1</span>`
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page' + (activePage - 1)}" data-page=${activePage - 1}>${activePage - 1}</span>`
+      str += `<span class="pageNum ${'page' + activePage}" data-page=${activePage}>${activePage}</span>`
+      str += `<span class="pageNum ${'page' + (activePage + 1)}" data-page=${activePage + 1}>${activePage + 1}</span>`
+      str += `<span class="more" >...</span>`
+      str += `<span class="pageNum ${'page' + totalPage}" data-page=${totalPage}>${totalPage}</span>`
+    }
+
+  }
+  str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
+  $('.pagination').html(str)
+  $('.page' + activePage).addClass('activePage')
+  $(".pageNum").on("click", function (e) {
+    const activePageNow = Number($(this).attr('data-page'))
+    getTabData(activePageNow)
+    // renderPagination(totalPage,activePageNow,totalNum)
+  })
+  $(".prePage").on("click", function (e) {
+    let activePageNow = Number($(".activePage").attr('data-page'))
+    if (activePageNow > 1) {
+      activePageNow--
+      getTabData(activePageNow)
+      // renderPagination(totalPage,activePageNow,totalNum)
+    }
+  })
+  $(".nextPage").on("click", function (e) {
+    let activePageNow = Number($(".activePage").attr('data-page'))
+    if (activePageNow < totalPage) {
+      activePageNow++
+      getTabData(activePageNow)
+      // renderPagination(totalPage,activePageNow,totalNum)
+    }
+  })
+
+}
+
+$(".patientNumInp").on("input", function (e) {
+  const val = $(this).val().trim()
+  deptName = val
+})
+
+$(function () {
+  const iconCalenBlue = require("./../images/icon_calen_blue.png")
+  const iconCalenGrey = require("./../images/icon_calen_grey.png")
+  $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
+  $('.iconCalen').on("mouseenter", function (e) {
+    $(this).attr("src", iconCalenBlue)
+  })
+  $('.iconCalen').on("mouseleave", function (e) {
+    $(this).attr("src", iconCalenGrey)
+  })
+  $('.iconCalen').on("click", function (e) {
+    $(this).parent().find("input").focus()
+  })
+  $('.exportData').click(function () {
+    const start = new Date(startDateParam).getTime()
+    const end = new Date(endDateParam).getTime()
+    if (start > end) {
+      $.alerModal({ "message": '开始时间不能大于结束时间~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+      return
+    }
+    const param = {
+
+      //"type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
+      "startDate": start,
+      "endDate": end
+
+    }
+    expJson(api.AdmunModifyMRSExportByDept, param).then(res => {
+      downloadExportedData(res.data, "时效性相关统计管理员.xls")
+    })
+
+
+
+    //  初始渲染TableTitle
+    // getPageSet().then(res =>{
+    //   $(".filter").click();   //初始查询
+    // })
+  })
+});

文件差異過大導致無法顯示
+ 425 - 263
src/js/userManager.js


+ 202 - 88
src/js/utils.js

@@ -2,9 +2,13 @@ const qs = require('qs');
 const $ = require('jquery');
 const axios = require('axios');
 var Utils = require('./rePromise');
-const {ywCheckApi} = require('./api.js')
+require("./modal.js")
+const {
+  ywCheckApi
+} = require('./api.js');
+
 require('./scrollBar.js');
-const baseUrl = 'http://173.18.12.191:1488';
+const baseUrl = '' //'http://192.168.3.184:5859' //'http://192.168.2.236:5858'  //'http://192.168.2.236:5858';// 
 //页面映射
 const pageMap = {
   'YH-KZT': 'console.html',
@@ -52,29 +56,29 @@ const pageMap = {
   'YH-ZKK-31TZRYRS': 'readmission.html',
   'YH-ZKK-YXBLJCB': 'uncorrectedCopy.html',
   'YH-ZKK-ZMBLJCB': 'uncorrectedCopy.html',
-
+  'YH-ZKK-SXXXGTJ_GLY': 'uncorrectedCasesStatisticsAdm.html',
   'YH-KSZR-GJTMQXZB_XQ': 'keyItemFlawControlDept.html',
   'YH-KSZR-CYRSTJ_XQ': 'qcListOutHospitalDept.html?from=2',
   'YH-KSZR-RYRSTJ_XQ': 'qcListOutHospitalDept.html?inner=2&from=2',
-  'YH-ZKK-BLZK_XQ':'qcListYw.html',
-  'YH-KSZR-BLZK_XQ':'qcListDeptYw.html',
-  'YH-ZKHC-SCHCRW':'creatCheckTask.html',    //义乌-生成核查任务
-  'YH-ZKHC-FPHCRW':'allotCheckTask.html',  //义乌-分配核查任务
-  'YH-ZKHC-HCRWLB':'checkTaskList.html',  //义乌-核查任务列表
+  'YH-ZKK-BLZK_XQ': 'qcListYw.html',
+  'YH-KSZR-BLZK_XQ': 'qcListDeptYw.html',
+  'YH-ZKHC-SCHCRW': 'creatCheckTask.html', //义乌-生成核查任务
+  'YH-ZKHC-FPHCRW': 'allotCheckTask.html', //义乌-分配核查任务
+  'YH-ZKHC-HCRWLB': 'checkTaskList.html', //义乌-核查任务列表
   'YH-ZKK-YLZLKZZB_XQ': 'qualityControl.html',
-  'YH-SJBJ':'editableDetail.html'   //数据编辑
+  'YH-SJBJ': 'editableDetail.html' //数据编辑
 };
 
 //导出时间天数
 const exportTimeLimit = {
   defectTime: 90,
   normalTime: 7,
-  yiwuTime:30,
+  yiwuTime: 30,
 };
 
 //重写assign方法
 if (typeof Object.assign != 'function') {
-  Object.assign = function(target) {
+  Object.assign = function (target) {
     'use strict';
     if (target == null) {
       throw new TypeError('Cannot convert undefined or null to object');
@@ -97,9 +101,9 @@ if (typeof Object.assign != 'function') {
 
 window.console =
   window.console ||
-  (function() {
+  (function () {
     var c = {};
-    c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function() {};
+    c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function () { };
     return c;
   })();
 
@@ -116,7 +120,7 @@ const getUrlArgObject = function getQueryString(name) {
     return null;
   }
 };
-const getUrlArgObjectNew = function(name, srcUrl) {
+const getUrlArgObjectNew = function (name, srcUrl) {
   if (srcUrl.indexOf('?') == -1) {
     return '';
   }
@@ -129,13 +133,17 @@ const getUrlArgObjectNew = function(name, srcUrl) {
   return obj[name];
 };
 window.abortAjax = '';
-const post = function(url, data) {
+
+const post = function (url, data, opts) {
+  const token = localStorage.getItem('accessToken');
+  if(localStorage.getItem('toLogin')==='1'&&token){
+    //如果前面已经被标记为登录失效,接下来的请求都不发送
+    return new Promise(()=>{});
+  }
   let isPlacefile = getCookie('isPlacefile') || 1;
-  const token = getCookie('accessToken') || localStorage.getItem('accessToken');
   if (!token && window.location.href.indexOf('login') == -1) {
     setCookie('behosDateStart', '');
     setCookie('behosDateEnd', '');
-    window.location.href = '../login.html';
   }
   for (let i = 0; i < $('.typeFilter').children().length; i++) {
     if (
@@ -152,46 +160,120 @@ const post = function(url, data) {
     }
   }
   let need = window.location.href.indexOf('localhost') != -1;
+
   return new Utils((resolve, reject) => {
     abortAjax = $.ajax({
       method: 'post',
       url: (need ? baseUrl : '') + url,
       async: true,
       cache: false,
-      contentType: false,
       processData: false,
-      data: JSON.stringify(Object.assign({}, data, { isPlacefile: isPlacefile })),
+      data: (opts && opts.needqs) ? qs.stringify(data) : JSON.stringify(Object.assign({}, data, {
+        isPlacefile: isPlacefile
+      })),
       contentType: 'application/json; charset=UTF-8',
-      beforeSend: function(xmlHttp) {
-        xmlHttp.setRequestHeader('If-Modified-Since', '0');
-        xmlHttp.setRequestHeader('Cache-Control', 'no-cache');
-        xmlHttp.setRequestHeader('Authorization', token ? 'Bearer ' + token : '');
-      },
-      success: function(res) {
-        resolve({ data: res });
+      beforeSend: function (xmlHttp) {
+        if(url.indexOf("sys/user/getHospitalMark")===-1){
+		  xmlHttp.setRequestHeader('If-Modified-Since', '0');
+		  xmlHttp.setRequestHeader('Cache-Control', 'no-cache');
+		  xmlHttp.setRequestHeader('Authorization', token ? 'Bearer ' + token : '');
+        }
       },
-      error: function(error) {
-        const wd = window.parent.window || window;
-        if (error.status === 403 || error.status === 401) {
-          setCookie('behosDateStart', '');
-          setCookie('behosDateEnd', '');
-          $.alerModal({"message":"没有该权限",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
-
-          // wd.location.href = "../login.html";
-        } else if (error.status === 500 || error.status === 501 || error.status === 404) {
-           $.alerModal({"message":'接口错误',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
-
-            // wd.location.href = '../error.html?code=' + error.status;
+      success: function (resq) {
+        const doc = parent?parent.document:document;
+        //console.log($(doc).find(".alertModal:visible"))
+		//失效后不点知道了直接刷新处理:跳回登录页
+		if(localStorage.getItem('toLogin')==='1'&&$(doc).find(".alertModal:visible").length===0){
+		  (parent||window).location.href='login.html';
+		}
+        let res=resq;
+        if(typeof resq ==='string'){
+          res = JSON.parse(resq);
+        }
+        const code = res.code;
+		const isOut = code === '10020011' || code === '10020012' || code === '10020013';
+        if(isOut){
+          //登录信息失效处理
+		  unloginPop(res.msg);
+        }else{
+		  resolve({
+			data: res
+		  });
         }
+      },
+      error: function (error) {
+          if (error.status === 403 || error.status === 401) {
+            setCookie('behosDateStart', '');
+            setCookie('behosDateEnd', '');
+            if (!token && window.location.href.indexOf('login') == -1) {
+            } else {
+              if($(".alertModal:visible").length){
+                return;
+              }
+              $.alerModal({
+                "message": "没有该权限"+error.status,
+                type: "tip",
+                time: '1000',
+                isFather: true,
+                fatherWrapper: $("#mainBox", parent.document)
+              });
+            }
+          } else if (error.status === 500 || error.status === 501 || error.status === 404) {
+            $.alerModal({
+              "message": '接口错误',
+              type: "tip",
+              time: '1000',
+              isFather: true,
+              fatherWrapper: $("#mainBox", parent.document)
+            });
+          }
         reject(error);
       },
     });
   });
 };
 
+//登录失效弹窗处理
+function unloginPop(msg){
+  /*const isOut = code === '10020011' || code === '10020012' || code === '10020013';
+  if(isOut){*/
+  const isQcScore = parent&&parent.location.href.indexOf("qcScore.html")===-1;
+    if(self != top&&isQcScore){//子窗口并且不是病例列表
+	  const dialogmessage = {
+		iframemessage: 1,
+		data: msg
+	  }
+	  console.log('子窗口')
+	  window.parent.postMessage(JSON.stringify(dialogmessage), '*')
+    }else{
+	  console.log('父窗口')
+	  $.alerModal({
+		gobackBtn: true,
+		title: "提示",
+		type: "modal",
+		width: '470',
+		time: 1000,
+		cancalText: '我知道了',
+		isFather: true,
+		fatherWrapper: $("#mainBox", parent.document),
+		sureBtn: false,
+		message: msg || '登录过期',
+		callback: function () {
+          (parent||window).location.href = 'login.html'
+		}
+	  });
+	  //失效后不点知道了直接刷新处理标记
+      localStorage.setItem('toLogin',1);
+    }
+  /*}else{
+	callback()
+  }*/
+
+}
+
 // 导出
 const expJson = (url, data) => {
-  const token = getCookie('accessToken') || localStorage.getItem('accessToken');
+  const token = localStorage.getItem('accessToken');
   if (!token && window.location.href.indexOf('login') == -1) {
     setCookie('behosDateStart', '');
     setCookie('behosDateEnd', '');
@@ -226,7 +308,7 @@ function downloadExportedData(data, fileName) {
 }
 
 //判断浏览器是否为Ie8
-const isIe8 = function() {
+const isIe8 = function () {
   var DEFAULT_VERSION = 8.0;
   var ua = navigator.userAgent.toLowerCase();
   var isIE = ua.indexOf('msie') > -1;
@@ -238,7 +320,7 @@ const isIe8 = function() {
     return true;
   }
 };
-const setCookie = function(name, value) {
+const setCookie = function (name, value) {
   let Days = 30;
   let exp = new Date();
   exp.setTime(exp.getTime() + Days * 24 * 60 * 60 * 1000);
@@ -246,22 +328,22 @@ const setCookie = function(name, value) {
 };
 
 //读取cookies
-const getCookie = function(name) {
+const getCookie = function (name) {
   let arr,
     reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)');
   if ((arr = document.cookie.match(reg))) return unescape(arr[2]);
   else return null;
 };
-const setLocal = function(name, value) {
-    localStorage.setItem(name, value);
+const setLocal = function (name, value) {
+  localStorage.setItem(name, value);
 };
 
 //读取cookies
-const getLocal = function(name) {
-    return localStorage.getItem(name);
+const getLocal = function (name) {
+  return localStorage.getItem(name);
 };
 //删除cookies
-const delCookie = function(name) {
+const delCookie = function (name) {
   let exp = new Date();
   exp.setTime(exp.getTime() - 1);
   let cval = getCookie(name);
@@ -269,17 +351,17 @@ const delCookie = function(name) {
 };
 
 //弹窗关闭事件
-$('.modal .close').click(function() {
+$('.modal .close').click(function () {
   $('.modal').hide();
 });
 //计算容器高度
 function setBoxHeight() {
   const ht = window.innerHeight;
   const hw = window.innerWidth;
-  if(hw<1169){
-      $('.content-box').height(ht - 110 + 'px');
-  }else{
-      $('.content-box').height(ht - 60 + 'px');
+  if (hw < 1169) {
+    $('.content-box').height(ht - 110 + 'px');
+  } else {
+    $('.content-box').height(ht - 60 + 'px');
   }
   //$('.content-box').height(ht - 60 + 'px');
   $('.flaw-table').height(ht - 70 + 'px');
@@ -287,7 +369,7 @@ function setBoxHeight() {
   $('.scroll-table tbody').css('max-height', ht - 210 + 'px');
 }
 setBoxHeight();
-$(window).resize(function() {
+$(window).resize(function () {
   setBoxHeight();
 });
 
@@ -310,17 +392,18 @@ function focusMenuItem(code) {
   //console.log($(parent.document).find(".menu .page[code='YH-ZKK-GMKQXZB_XQ']"))
   ele.click();
 }
+
 function emptyBox(name, showNum, type) {
   let showNumer = showNum || 30;
   let str = `<tr><td colspan="${showNumer}" style="text-align: center;color: #aaa">
-  <img style="margin-top:50px;width:${type ? '110' : '140'}px;" src="${
-    type ? require('../images/dataing.png') : require('../images/empty1.png')
-  }" />
+  <img style="margin-top:50px;width:${type ? '110' : '140'}px;" src="${type ? require('../images/dataing.png') : require('../images/empty1.png')
+    }" />
   <p style="margin-top:20px;margin-bottom:30px;color:#ccc;position:relative;left:5px;">${name ||
     '暂无数据~'}</p>
   </td></tr>`;
   return str;
 }
+
 function picEmptyData(dom, str) {
   let empty = `<div class="emptyBoxHome">
       <img src="${require('../images/emptyHome.png')}">
@@ -328,9 +411,13 @@ function picEmptyData(dom, str) {
   </div>
   `;
   $(dom)
-    .css({ position: 'relative', display: 'block' })
+    .css({
+      position: 'relative',
+      display: 'block'
+    })
     .html(empty);
 }
+
 function setTitleTxt(dom, from) {
   if (!from) {
     $(dom ? dom : '.partTitle')
@@ -449,7 +536,7 @@ function setDatePicker(picker1, picker2, mode, startDateDefault, endDateDefault)
   }
 }
 
-//mode=1获取开始时间,mode=1获取结束时间
+//mode=1获取开始时间,mode=2获取结束时间
 function getPickerDate(picker, mode) {
   if (!picker) {
     return;
@@ -463,6 +550,7 @@ function getPickerDate(picker, mode) {
     // return date.replace(/\//g,'-') + ' 23:59:59'
   }
 }
+
 function isMac() {
   var isMac = /macintosh|mac os x/i.test(navigator.userAgent);
   return isMac;
@@ -511,31 +599,50 @@ function initScroll(el, sliderDir, sliderMode, top) {
   }
 }
 //获取筛选分值、任务来源列表
-function getScoreTabList(fn,isSource){
-    /*let val='';
-    if(isSource){
-        val = localStorage.getItem('sourceList');
-    }else{
-        val = localStorage.getItem('valueList');
-    }
+function getScoreTabList(fn, isSource) {
+  /*let val='';
+  if(isSource){
+      val = localStorage.getItem('sourceList');
+  }else{
+      val = localStorage.getItem('valueList');
+  }
 
-    if((val||'').trim()){
-        fn(isSource?JSON.parse(val):val.split(","));
-        return;
-    }*/
-    post(ywCheckApi.getCheckType).then(res =>{
-        if(res.data.code == '0'){
-            const data = res.data.data;
-            //localStorage.setItem('sourceList',JSON.stringify(data.source));
-            //localStorage.setItem('valueList',data.value.join(","));
-            fn(isSource?data.source:data.value)
-        }else{
-            $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
-        }
-    }).catch((e) =>{
-        $.alerModal({"message":'获取任务来源及筛选分值数据失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
-    })
+  if((val||'').trim()){
+      fn(isSource?JSON.parse(val):val.split(","));
+      return;
+  }*/
+  post(ywCheckApi.getCheckType).then(res => {
+    if (res.data.code == '0') {
+      const data = res.data.data;
+      //localStorage.setItem('sourceList',JSON.stringify(data.source));
+      //localStorage.setItem('valueList',data.value.join(","));
+      fn(isSource ? data.source : data.value)
+    } else {
+      const token = localStorage.getItem('accessToken');
+      if (!token && window.location.href.indexOf('login') == -1) {
+        //alert('无token判断,跳回登录')
+      } else {
+        $.alerModal({
+          "message": res.data.msg,
+          type: "tip",
+          time: '1000',
+          isFather: true,
+          fatherWrapper: $("#mainBox", parent.document)
+        });
+      }
+
+    }
+  }).catch((e) => {
+    $.alerModal({
+      "message": '获取任务来源及筛选分值数据失败',
+      type: "tip",
+      time: '1000',
+      isFather: true,
+      fatherWrapper: $("#mainBox", parent.document)
+    });
+  })
 }
+
 function listenScroll(dom) {
   $(dom ? dom : '.container').scroll(() => {
     $.datepicker._hideDatepicker($('#datepicker')[0]);
@@ -554,14 +661,21 @@ function listenScroll(dom) {
 }
 //获取隐藏/替换logo参数
 function getLogoParam() {
-    const otherLogo =  window.parent.location.search.indexOf("adLg=")>-1;
-    const hideLogo =  window.parent.location.search.indexOf("hideLg=")>-1;
-    const otherLogoPm = otherLogo ? '&adLg=1' : '';
-    const hideLogoPm = hideLogo ? '&hideLg=1' : '';
-    return otherLogoPm+hideLogoPm;
+  const otherLogo = window.parent.location.search.indexOf("adLg=") > -1;
+  const hideLogo = window.parent.location.search.indexOf("hideLg=") > -1;
+  const otherLogoPm = otherLogo ? '&adLg=1' : '';
+  const hideLogoPm = hideLogo ? '&hideLg=1' : '';
+  return otherLogoPm + hideLogoPm;
 }
+
 function toast(msg) {
-  return $.alerModal({ "message": msg, type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) });
+  return $.alerModal({
+    "message": msg,
+    type: "tip",
+    time: '1000',
+    isFather: true,
+    fatherWrapper: $("#mainBox", parent.document)
+  });
 }
 const explainTitle = {
   科室编码: 'deptId',
@@ -617,4 +731,4 @@ module.exports = {
   getScoreTabList,
   getLogoParam,
   toast
-};
+};

+ 12 - 5
webpack.config.js

@@ -1,19 +1,26 @@
 const path = require('path');
 const HtmlWebpackPlugin = require('html-webpack-plugin');
 /*const HtmlWebpackInlineSourcePlugin=require('html-webpack-inline-source-plugin');*/
-const CleanWebpackPlugin = require('clean-webpack-plugin') // 清空打包目录的插件
+const CleanWebpackPlugin = require('clean-webpack-plugin'); // 清空打包目录的插件
 const MiniCssExtractPlugin = require('mini-css-extract-plugin');
 const CopyWebpackPlugin = require('copy-webpack-plugin');
 const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
 const webpack = require('webpack');
 const glob = require('glob');
-// const proxyHost = "http://www.diagbot.net:5858";
-// const proxyHost = "http://192.168.2.241:5858";
-const proxyHost = "http://173.18.12.192:5858";
+// const proxyHost = "http://192.168.2.236:5858";
+// const proxyHost = "http://192.168.3.184:5859";
+const proxyHost = "http://172.16.8.64:5858"; //正式
+// const proxyHost = "http://www.diagbot.net:5858/"; //测试
+// const proxyHost = "http://192.168.4.222:5858";
 // const proxyHost = "http://192.168.3.117:5858";//铁钢
 // const proxyHost = "http://192.168.3.113:5858";//王峰
 
-let entries = {vendor:'lodash'},plugines = [];
+
+let entries = {
+    vendor: 'lodash'
+  },
+  plugines = [];
+
 function getentries() {
   let entryFiles = glob.sync('./src/js/**/*.js')
   let htmls = glob.sync('./src/html/**/*.html');

+ 16 - 2
webpack.configCopy.jsx

@@ -7,8 +7,8 @@ const CopyWebpackPlugin = require('copy-webpack-plugin');
 const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
 const webpack = require('webpack');
 // const proxyHost = "http://192.168.2.236:5858";
-// const proxyHost = "http://www.diagbot.net:5858";
-const proxyHost = "http://173.18.12.192:5858";
+const proxyHost = "http://172.16.8.12:5859";
+// const proxyHost = "http://192.168.4.222:5858";
 // const proxyHost = "http://192.168.3.117:5858";//铁钢
 // const proxyHost = "http://192.168.3.113:5858";//王峰
 module.exports = {
@@ -49,6 +49,7 @@ module.exports = {
     itemDefectDetail:path.resolve(__dirname, 'src/js', 'itemDefectDetail.js'),
     keyItemFlawControl:path.resolve(__dirname, 'src/js', 'keyItemFlawControl.js'),
     qcListCopy:path.resolve(__dirname, 'src/js', 'qcListCopy.js'),
+    qcListCopyquexian: path.resolve(__dirname, 'src/js', 'qcListCopyquexian.js'),
     qcListCopyUnqualified: path.resolve(__dirname, 'src/js', 'qcListCopyUnqualified.js'),
     qcListOutHospital:path.resolve(__dirname, 'src/js', 'qcListOutHospital.js'),
     checkControl:path.resolve(__dirname, 'src/js', 'checkControl.js'),
@@ -557,6 +558,19 @@ module.exports = {
         collapseWhitespace: true //删除空白符与换行符
       }
     }),
+    new HtmlWebpackPlugin({
+      title: 'qcListCopyquexian.html',
+      template: path.resolve(__dirname, 'src/html', 'qcListCopyquexian.html'),
+      filename: 'qcListCopyquexian.html',
+      chunks: ['qcListCopyquexian', 'vendor', 'common'],
+      hash: true, //防止缓存
+      inject: true,
+      minify: {
+        removeAttributeQuotes: true, //压缩 去掉引号
+        removeComments: true, //移除HTML中的注释
+        collapseWhitespace: true //删除空白符与换行符
+      }
+    }),
     new HtmlWebpackPlugin({
       title: 'qcListCopyUnqualified.html',
       template: path.resolve(__dirname, 'src/html', 'qcListCopyUnqualified.html'),