Explorar el Código

分配-科室

zhouna hace 4 años
padre
commit
eb51bfeb7e
Se han modificado 3 ficheros con 99 adiciones y 30 borrados
  1. 2 2
      src/css/allotCheckTask.less
  2. 9 0
      src/html/allotCheckTask.html
  3. 88 28
      src/js/allotCheckTask.js

+ 2 - 2
src/css/allotCheckTask.less

@@ -221,7 +221,7 @@ background-color: #EEF4FF;
 cursor: pointer;
 }
 }
-.selectLevel,.selectDept,.selectChecker{
+.selectLevel,.selectDept,.selectAllDept,.selectChecker{
 display: inline-block;
 position: relative;
 width:120px;
@@ -343,7 +343,7 @@ color: @activeColor;
 cursor: pointer;
 }
 
-.deptItem:hover,.checkerItem:hover{
+.deptItem:hover,.deptAllItem:hover,.checkerItem:hover{
 background-color: #EEF4FF;
 cursor: pointer;
 }

+ 9 - 0
src/html/allotCheckTask.html

@@ -85,6 +85,15 @@
                                     <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">
+                                    <span>科室:</span>
+                                    <span class="selectAllDept">
+                                        <i>全部</i>
+                                        <img class="arrow" src="./../images/arrow_down.png" alt="下拉">
+                                    </span>
+                                    <ul class="deptAllList filterDropList">
+                                    </ul>
+                                </span>
                                 <span class="filterItem">
                                     <span>病人姓名:</span>
                                     <input code="name" type="text" placeholder="病人姓名">

+ 88 - 28
src/js/allotCheckTask.js

@@ -17,9 +17,9 @@ const loadingImg = require("./../images/loading.gif")
 const arrowLeft= require("./../images/arrow_left.png")
 const arrowRight = require("./../images/arrow_right.png")
 listenScroll()
-let tabList = [], deptNameTemp="",data_desc=["leaveHospitalDate"],data_asc=[];
-let global_DeptCheckers = {},global_Checkers={4:[],5:[],6:[]},global_CheckerId='',global_CheckerName='',global_DeptId='',
-    global_activeTabCode='0',global_TaskCodes=[];
+let tabList = [], data_desc=["leaveHospitalDate"],data_asc=[];
+let global_DeptCheckers = {},global_Checkers={4:[],5:[],6:[]},global_CheckerId='',global_CheckerName='',
+    global_DeptId='',global_DeptMId="",global_DeptAllId='',global_deptData = {},global_activeTabCode='0',global_TaskCodes=[];
 let isPlacefile = getCookie('isPlacefile')||1
 /*if(isPlacefile != 1){
     data_desc=["behospital_date"]
@@ -135,9 +135,12 @@ $(function() {
         clearFilter();
         //刷新质控员、任务列表
         //getCheckerList();
-        const data = global_Checkers[+global_activeTabCode+4];
-        rendeCheckerList(data||[]);
-        renderCheckerTable(data);
+        //const data = global_Checkers[+global_activeTabCode+4];
+        getCheckerList();
+        getTabData(1);
+        /*rendeDeptList();
+        rendeCheckerList();
+        renderCheckerTable();*/
     });
 
 //任务筛选
@@ -154,7 +157,7 @@ $(function() {
             $.alerModal({"message":'生成日期开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
             return
         }
-        if(behosDateStartTime > behosDateEndTime){
+        if(behosDateStartTime1 > behosDateEndTime1){
             $.alerModal({"message":'出院日期开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
             return
         }
@@ -178,6 +181,14 @@ $(function() {
         $(".selectChecker .arrow").attr("src",iconDown)
         $(".deptList ").css("display","block")
 
+    })
+//病人科室选择
+    $('.selectAllDept').on("click", function(e){
+        e.stopPropagation()
+        $(".checkerList ").css("display", "none")
+        $(".selectChecker .arrow").attr("src",iconDown)
+        $(".deptAllList ").css("display","block")
+
     })
 //质控员选择
     $('.selectChecker').on("click", function(e){
@@ -189,16 +200,19 @@ $(function() {
 //关闭下拉事件
     $(document).on("click", function(){
         $(".deptList ").css("display", "none")
+        $(".deptAllList ").css("display", "none")
         $(".checkerList").css("display", "none")
         $(".selectDept .arrow").attr("src",iconDown)
+        $(".selectAllDept .arrow").attr("src",iconDown)
         $(".selectChecker .arrow").attr("src",iconDown)
     })
 
 //获取科室列表
-    getDeptList()
+    getAllDeptList()
 
 //获取核查人员列表
     getCheckerList()
+    getTabData(1)
 });
 
 //高度适应
@@ -220,7 +234,8 @@ function getFilterData(){
 //获取分配核查任务列表数据
 function getTabData(activePage){
     const filterData = getFilterData();
-    const deptList=global_DeptId?[global_DeptId]:undefined;
+    const dept = global_DeptMId||global_DeptId||global_DeptAllId;
+    const deptList=dept?[dept]:[];
     const param = {
         current:activePage,
         asc:data_asc,     //升序
@@ -257,9 +272,12 @@ function getTabData(activePage){
 
 function clearCheckerFilter(){
     $('.selectDept i').text('全部')
+    $('.selectAllDept i').text('全部')
     $(".deptList").css("display", "none")
+    $(".deptAllList").css("display", "none")
     $('.selectChecker i').text('全部')
     $(".checkerList").css("display", "none")
+    global_DeptMId="";
     global_DeptId="";
     global_CheckerId="";
     global_CheckerName="";
@@ -268,6 +286,7 @@ function clearCheckerFilter(){
 function clearFilter(){
     $(".overAuto.fr input").val("");
     data_desc=["leaveHospitalDate"];
+    global_DeptAllId="";
     /*if(isPlacefile != 1){
         data_desc=["behospital_date"]
     }*/
@@ -318,17 +337,17 @@ function bindOrder(){
     });
 }
 //质控员列表渲染
-function renderCheckerTable(data,noTasksUpdate){
+function renderCheckerTable(d){
+    const data = d?d:global_Checkers[+global_activeTabCode+4];
     let str = ``,code="";
     if(!data||data.length===0){
         $('.checkerTable .tbody').html(emptyBox(null,4))
-        if(!noTasksUpdate){getTabData(1);}
+        //if(!noTasksUpdate){getTabData(1);}
         //   initScroll("qcList","YX",1)
         return;
     }
-    console.log('不更新',noTasksUpdate)
     //获取任务列表数据
-    if(!noTasksUpdate){getTabData(1);}
+    //if(!noTasksUpdate){getTabData(1);}
 
     const titles = $(".checkerTable .tabTitle th[valCode]");
     for(let i = 0; i < data.length; i++){
@@ -336,7 +355,7 @@ function renderCheckerTable(data,noTasksUpdate){
 
         str += `
             <tr  data-index=${i}>
-                <td class="operaItem checkerRadio textCenter" code="${item.doctorId}" data-name="${item.doctorName}"><img src="${iconUnRadio}" alt=""></td>
+                <td class="operaItem checkerRadio textCenter" code="${item.doctorId}" data-dept=${item.deptId} data-name="${item.doctorName}"><img src="${iconUnRadio}" alt=""></td>
                 `
             for(let i=0;i<titles.length;i++){
                 code=$(titles[i]).attr('valCode');
@@ -348,7 +367,7 @@ function renderCheckerTable(data,noTasksUpdate){
             }
         str += "</tr>"
     }
-    $('.checkerTable .tbody').html(str)
+    $('.checkerTable .tbody').html(str);
     selectCheckerTb();
     bindTaskNumEvent();
 }
@@ -357,6 +376,8 @@ function selectCheckerTb(){
     $(".checkerRadio").click(function(){
         global_CheckerId=$(this).attr("code");
         global_CheckerName=$(this).attr("data-name");
+        global_DeptMId=$(this).attr("data-dept");
+        getTabData(1)
         $(".checkerRadio img").attr('src',iconUnRadio);
         $(this).find("img").attr('src',iconRadio);
     });
@@ -413,21 +434,23 @@ function bindTaskNumEvent(){
         getTasksList();
     })
 }
-function getDeptList(){
+//获取全部科室数据
+function getAllDeptList(){
     post(api.getDeptList,{}).then(res =>{
         if(res.data.code == '0'){
            const  deptList = res.data.data||[]
-            rendeDeptList(deptList)
-        }else{rendeDeptList([])}
+            rendeAllDeptList(deptList)
+        }else{rendeAllDeptList([])}
     }).catch((e) =>{
 
     })
 }
 
 function getCheckerList(){
-    post(ywCheckApi.getCheckUserMap,{}).then(res =>{
+    post(ywCheckApi.getCheckUserMap,{jobType:+global_activeTabCode+4}).then(res =>{
         if(res.data.code == '0'){
             const list = res.data.data||{};
+            global_deptData = list;
             formatDeptChecker(list);
         }else{rendeCheckerList([])}
     }).catch((e) =>{
@@ -441,7 +464,7 @@ function getTasksList(){
         if(res.data.code == '0'){
             const list = res.data.data||{};
             renderTaskTable(list);
-        }else{rendeCheckerList([])}
+        }else{rendeCheckerList()}
     }).catch((e) =>{
 
     })
@@ -486,19 +509,36 @@ function bindDeleteEvent(){
 function formatDeptChecker(list){
     const k=+global_activeTabCode +4;
     const allCheckArrs = list[k];
+    global_Checkers={4:[],5:[],6:[]}
     allCheckArrs.map((it)=>{
         global_DeptCheckers[it.deptId]=it.deptcheckUsers;
         global_Checkers[k].push(...it.deptcheckUsers);
     });
-    rendeCheckerList(global_Checkers[k]);
-    renderCheckerTable(global_Checkers[k]);
+    rendeDeptList();
+    rendeCheckerList();
+    renderCheckerTable();
 }
 //渲染科室列表
-function rendeDeptList(list){
+function rendeAllDeptList(list){
     if(list.length == 0){
-      $(".deptList").html("")
+      $(".deptAllList").html("")
       return
     }
+    let str = `<li class="deptAllItem ellipsis" data-id=" " data-name="全部">全部</li>`;
+    for(let i = 0; i < list.length; i++){
+        str += `<li class="deptAllItem ellipsis" title=${list[i]['deptName']} data-id=${list[i]['deptId']} data-name=${list[i].deptName}> ${list[i].deptName}</li>`
+    }
+    $(".deptAllList").html(str)
+    bindAllDeptSelect()
+}
+
+//渲染当前用户科室列表
+function rendeDeptList(){
+    const list = global_deptData[+global_activeTabCode+4];
+    if(!list||list.length == 0){
+        $(".deptList").html("")
+        return
+    }
     let str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`;
     for(let i = 0; i < list.length; i++){
         str += `<li class="deptItem ellipsis" title=${list[i]['deptName']} data-id=${list[i]['deptId']} data-name=${list[i].deptName}> ${list[i].deptName}</li>`
@@ -507,8 +547,10 @@ function rendeDeptList(list){
     bindDeptSelect()
 }
 
+
 //质控员列表渲染
-function rendeCheckerList(list){
+function rendeCheckerList(arr){
+    const list = arr?arr:global_Checkers[+global_activeTabCode+4];
     if(list.length == 0){
         $(".checkerList").html("")
         return
@@ -520,12 +562,13 @@ function rendeCheckerList(list){
     $(".checkerList").html(str)
     bindCheckerSelect()
 }
-//科室选择
+//质控员列表科室选择
 function bindDeptSelect(){
     $('.deptItem').on("mousedown",function(){
         const deptItemName = $(this).attr("data-name")
         global_DeptId = $(this).attr("data-id")
-        deptNameTemp=deptItemName==="全部"?"":deptItemName;
+        global_DeptAllId="";
+        global_DeptMId="";
         $('.selectDept i').text(deptItemName)
         $('.selectDept').attr('title',deptItemName)
         $(".deptList").css("display", "none")
@@ -539,6 +582,19 @@ function bindDeptSelect(){
         getTabData(1);
     })
 }
+//病人列表科室选择
+function bindAllDeptSelect(){
+    $('.deptAllItem').on("mousedown",function(){
+        const deptItemName = $(this).attr("data-name")
+        global_DeptId="";
+        global_DeptMId="";
+        global_DeptAllId = $(this).attr("data-id")
+        $('.selectAllDept i').text(deptItemName)
+        $('.selectAllDept').attr('title',deptItemName)
+        $(".deptAllList").css("display", "none")
+        getTabData(1);
+    })
+}
 //质控员选择
 function bindCheckerSelect(){
     $('.checkerItem').on("mousedown",function(){
@@ -547,9 +603,11 @@ function bindCheckerSelect(){
         $('.selectChecker i').text(itemName)
         $('.selectChecker').attr('title',itemName)
         $(".checkerList").css("display", "none")
+        global_DeptAllId="";
+        global_DeptId=$(this).attr("data-dept");
         const totalArr = global_DeptId?global_DeptCheckers[global_DeptId]:global_Checkers[+global_activeTabCode+4];
         const arr = totalArr.find((it)=>itemId===it.doctorId);
-        renderCheckerTable([arr],true);
+        renderCheckerTable([arr]);
     })
 }
 function loading(){
@@ -584,7 +642,9 @@ function allotTask(flag){
         if(res.data.code == '0'){
             global_TaskCodes=[];
             getCheckerList();
+            getTabData(1);
             flag&&getTasksList();       //移除时更新已分配任务列表弹窗数据
+            toast("分配成功");
         }else{
             toast(res.data.msg||'保存分配失败,请重试~');
         }