Browse Source

改善统计科室

zhouna 3 years ago
parent
commit
2f246f3f80

+ 12 - 2
src/html/dept/improveStatisticsDept.html

@@ -30,11 +30,19 @@
                 </span>
                 <span class="filterItem typeFilter">
                     <span>缺陷名称:</span>
-                    <input class="moduleItemInp" id="casesName" type="text" placeholder="缺陷名称" autocomplete="off">
+                    <input class="moduleItemInp" id="entryName" type="text" placeholder="缺陷名称" autocomplete="off">
                 </span>
                 <span class="filterItem">
                     <span>模块名称:</span>
-                    <input class="moduleItemInp" id="entryName" type="text" placeholder="模块名称" autocomplete="off">
+                    <input class="moduleItemInp" id="casesName" type="text" placeholder="模块名称" autocomplete="off">
+                </span>
+                <span class="filterItem typeFilter">
+                    <span>主管医生:</span>
+                    <input class="moduleItemInp" id="doctorName" type="text" placeholder="主管医生" autocomplete="off">
+                </span>
+                <span class="filterItem">
+                    <span>医生工号:</span>
+                    <input class="moduleItemInp" id="doctorId" type="text" placeholder="医生工号" autocomplete="off">
                 </span>
                 <span class="filterItem typeFilter clearfix dataSelectLight">
                     <span class="fl">选择日期:</span>
@@ -53,6 +61,8 @@
                         <th class="beHospitalId textCenter">科室</th>
                         <th class="beHospitalId textCenter">模块名称</th>
                         <th class="beHospitalId textCenter">缺陷名称</th>
+                        <th class="beHospitalId textCenter">主管医生</th>
+                        <th class="beHospitalId textCenter">医生工号</th>
                         <th class="beHospitalId textCenter" code="totalNum">总数量</th>
                         <th class="beHospitalId textCenter">已改善数量</th>
                         <th class="beHospitalId textCenter" code="improveleNum">待改善数量</th>

+ 0 - 1
src/js/dataAnalysis/improveStatistics.js

@@ -138,7 +138,6 @@ function getTabData(activePage){
     const param=getFilterParam(activePage);
     if(param.start > param.end){
         $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
-        console.log('开始时间',dateStatrt)
         return
     }
     $('.pagination').html("")

+ 191 - 189
src/js/dept/improveStatisticsDept.js

@@ -17,16 +17,10 @@ $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
 listenScroll()
 let isPlacefile = getCookie('isPlacefile')||1
 
-let deptName="",deptNameTemp="", behospitalCode="", level="", behospitalCodeTemp="",deptId="",deptIdTemp="",
-  data_desc="improveleNum",data_asc="";
-  let srcUrl = $("#contentIframe",parent.document).attr("src")
-  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");
-  }
+let deptName="",deptNameTemp="", behospitalCode="", behospitalCodeTemp="",deptId="",deptIdTemp="",casesName='',casesNameTemp='',entryName='',entryNameTemp='',
+	data_desc="improveleNum",data_asc="",doctorId="",doctorIdTemp="",doctorName="",doctorNameTemp="";
+let startDateParam = "";
+let endDateParam = "";
 
 $(function() {
   const  iconCalenBlue= require("../../images/icon_calen_blue.png")
@@ -44,8 +38,26 @@ $(function() {
   $('.iconCalen').on("click", function(e){
 	$(this).parent().find("input").focus()
   })
+  $("#casesName").on("input", function(e){
+	const val = $(this).val().trim()
+	casesNameTemp  = val
+  })
+  $("#entryName").on("input", function(e){
+	const val = $(this).val().trim();
+	entryNameTemp = val
+  })
+  $("#doctorName").on("input", function(e){
+	const val = $(this).val().trim()
+	doctorNameTemp  = val
+  })
+  $("#doctorId").on("input", function(e){
+	const val = $(this).val().trim();
+	doctorIdTemp = val
+  })
   //日期默认当年
-  setDatePicker($("#datepicker"), $("#datepicker2"), 1);
+  setDatePicker($("#datepicker"), $("#datepicker2"), 'default');
+  startDateParam=getPickerDate($("#datepicker"),1)
+  endDateParam=getPickerDate($("#datepicker2"),2)
   //初始列表数据获取
   getTabData(1);
   //导出事件绑定
@@ -55,9 +67,8 @@ $(function() {
 	  $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
 	  return
 	}
-	console.log('我是导出',param)
-	expJson(api.exportIndexQualified,param).then(res =>{
-	  downloadExportedData(res.data,"条目缺陷改善统计"+startDateParam+"-"+endDateParam+".xls");
+	expJson(api.getEntryDefectImproveByDeptExport,param).then(res =>{
+	  downloadExportedData(res.data,"条目缺陷改善统计(科室)"+startDateParam.substr(0,10).replace(/\//g,'')+"-"+endDateParam.substr(0,10).replace(/\//g,'')+".xls");
 	})
   })
   //给每一个标题绑定一个排序事件
@@ -81,11 +92,15 @@ $(function() {
 	data_desc=""
 	data_asc=""
 	setDatePicker($("#datepicker"),$("#datepicker2"),"default");
-	$("#casesName,#entryName").val("");
+	$("#casesName,#entryName,#doctorId,#doctorName").val("");
 	$("th[code]").removeClass("desc asc");
 	behospitalCode =behospitalCodeTemp= ""
 	deptName = deptNameTemp = ""
 	deptId = deptIdTemp = ""
+	casesName=casesNameTemp="";
+	entryName=entryNameTemp="";
+	doctorId=doctorIdTemp=""
+	doctorName=doctorNameTemp=""
 	$(".selectDept").attr({'title':"全部",'data-id':''}).val("全部")
 	getTabData(1)
 	getDeptList()
@@ -93,22 +108,23 @@ $(function() {
 
 //查询
   $(".filter").on("click", function(e){
-	behospitalCode = behospitalCodeTemp
-	deptId = deptIdTemp
-	deptName = deptNameTemp
-	if(deptName == ""){
-	  $(".selectDept").attr({'title':"全部",'data-id':''}).val("全部")
-
+	startDateParam=getPickerDate($("#datepicker"),1)
+	endDateParam=getPickerDate($("#datepicker2"),2)
+	if(startDateParam > endDateParam){
+	  $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+	  return
 	}
+	deptId = deptIdTemp;
+	deptName = deptNameTemp;
+	casesName=casesNameTemp;
+	entryName=entryNameTemp;
+	doctorId=doctorIdTemp;
+	doctorName=doctorNameTemp;
 	getTabData(1)
   })
 });
 
-function getFilterParam(){
-  const start = new Date(startDateParam).getTime()
-  const end = new Date(endDateParam).getTime()
-  const casesName =$("#casesName").val();
-  const entryName = $("#entryName").val();
+function getFilterParam(current){
   const param = {
 	"isPlacefile":isPlacefile,
 	"deptId": deptName=="全部"?"":deptId||"", //科室id
@@ -118,7 +134,10 @@ function getFilterParam(){
 	"asc":data_asc,     //升序
 	"desc":data_desc,       //降序
 	"startDate":startDateParam,
-	"endDate":endDateParam
+	"endDate":endDateParam,
+	"doctorName":doctorName,
+	"doctorId":doctorId,
+	current
   }
   return param;
 }
@@ -140,132 +159,115 @@ function getFilterParam(){
     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()
-    const casesName =$("#casesName").val();
-    const entryName = $("#entryName").val();
-    if(start > end){
-        $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
-        console.log('开始时间',dateStatrt)
-        return
-    }
-    const param = {
-	    hospitalId:behospitalCode,
-        "casesName": casesName,        //模块名称
-        "entryName": entryName,    //缺陷名称
-	    "deptId": deptName=="全部"?"":deptId||"", //科室id
-        "deptName": deptName=="全部"?"":deptName||"", //科室名称
-        "asc":data_asc,     //升序 返回的是升序降序的依据
-        "desc":data_desc,       //降序
-        "type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
-        "startDate":dateStatrt,
-        "endDate":dateEnd
-    }
-    console.log('我是param',param)
-    startDateParam = dateStatrt
-    endDateParam = dateEnd
-    $('.pagination').html("")
-    $('.tbody').html(emptyBox('努力加载中...','',1))
-    post(api.getEntryDefectImprove,param).then(res =>{
-        if(res.data.code == '0'){
-            const data = res.data.data;
-            const detail = data.records||[];
-            const totalPage = data.pages;
-            const totalNum = data.total;
-            renderTab(detail,detail.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) =>{
-    
-    })
+  const param=getFilterParam(activePage);
+  if(param.start > param.end){
+	$.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
+	console.log('开始时间',dateStatrt)
+	return
+  }
+  $('.pagination').html("")
+  $('.tbody').html(emptyBox('努力加载中...','',1))
+  post(api.getEntryDefectImproveDept,param).then(res =>{
+	if(res.data.code == '0'){
+	  const data = res.data.data;
+	  const detail = data.records||[];
+	  const totalPage = data.pages;
+	  const totalNum = data.total;
+	  renderTab(detail,detail.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) =>{
+
+  })
 }
 //表格dom渲染
 function renderTab(data,hisId,activePage){
-    let str = ``
-    for(let i = 0; i < data.length; i++){
-        const item = data[i];
+  let str = ``
+  for(let i = 0; i < data.length; i++){
+	const item = data[i];
 
-        str += `
-            <tr  data-index=${i}>
+	str += `
+            <tr data-index=${i} data-deptid="${item.deptId}" data-dept="${item.deptName}" data-casesid="${item.entryId}" data-casesname="${item.entryName}">
                 <td  class="textCenter">${(activePage-1)*15 + i+1}</td>
                 <td >${item.deptName || "-"}</td>
                 <td >${item.casesName || "-"}</td>
                 <td >${item.entryName || "-"}</td>
-                <td class="goHomeDetail">${item.totalNum}</td>
-                <td class="goHomeDetail">${item.handleNum}</td>
-                <td class="goHomeDetail">${item.improveleNum}</td>
+                <td >${item.doctorName || "-"}</td>
+                <td >${item.doctorId || "-"}</td>
+                <td><a class="goHomeDetail" data-type="0">${item.totalNum}</a></td>
+                <td><a class="goHomeDetail" data-type="1">${item.handleNum}</a></td>
+                <td><a class="goHomeDetail" data-type="2">${item.improveleNum}</a></td>
                 <td >${item.handleStr|| "-"}</td>
             </tr>
         `
-    }
-    $('.tbody').html(str?str:emptyBox())
-    $(".goHomeDetail").click(function(){
-        let index =  $(this).parent().attr("data-index")
-        let deptName = $(this).attr("data-dept")
-        let ruleType = $(this).attr("data-ruleType")
-        let deptId = data[index].deptId ? data[index].deptId : '' 
-        $(parent.document).find("#contentIframe").attr("src", "statisticsDetail.html?deptName=" + deptName + "&deptId=" + deptId + "&casesId=243" + ruleType + "&startDateParam=" + startDateParam + "&endDateParam=" + endDateParam)
-    })
+  }
+  $('.tbody').html(str?str:emptyBox())
+  $(".goHomeDetail").click(function(){
+	let casesId =  $(this).parents("tr").attr("data-casesid");
+	let casesName =  $(this).parents("tr").attr("data-casesname")
+	let deptName = $(this).parents("tr").attr("data-dept")
+	let deptId = $(this).parents("tr").attr("data-deptid")
+	let typeMark = $(this).attr("data-type")
+	$(parent.document).find("#contentIframe").attr("src", "statisticsDetailDept.html?deptName=" + deptName + "&deptId=" + deptId + "&casesId=" + casesId+"&defectName="+casesName+"&typeMark="+typeMark+"&startDate="+startDateParam+"&endDate="+endDateParam)
+  })
 }
 function getDeptList(val){
-    post(api.getDeptList,{inputStr:val=="全部"?"":val||""}).then(res =>{
-        if(res.data.code == '0'){
-           const deptList = res.data.data||[]
-           rendeDeptList(deptList)
-        }else{
-            rendeDeptList([])
-        }
-    }).catch((e) =>{
+  post(api.getDeptList,{inputStr:val=="全部"?"":val||""}).then(res =>{
+	if(res.data.code == '0'){
+	  const deptList = res.data.data||[]
+	  rendeDeptList(deptList)
+	}else{
+	  rendeDeptList([])
+	}
+  }).catch((e) =>{
 
-    })
+  })
 }
 //科室下拉框
 function rendeDeptList(deptList){
-    if(deptList.length == 0){
-      $('.deptList').html("")
-      return
-    }
-    let str = `<li class="deptItem " data-id="" data-name="全部">全部</li>`
-    for(let i = 0; i < deptList.length; i++){
-        str += `<li class="deptItem ellipsis" title=${deptList[i].deptName} data-id=${deptList[i].deptId} data-name=${deptList[i].deptName}> ${deptList[i].deptName}</li>`
-    }
-    $('.deptList').html(str)
-    bindDeptSelect()
+  if(deptList.length == 0){
+	$('.deptList').html("")
+	return
+  }
+  let str = `<li class="deptItem " data-id="" data-name="全部">全部</li>`
+  for(let i = 0; i < deptList.length; i++){
+	str += `<li class="deptItem ellipsis" title=${deptList[i].deptName} data-id=${deptList[i].deptId} data-name=${deptList[i].deptName}> ${deptList[i].deptName}</li>`
+  }
+  $('.deptList').html(str)
+  bindDeptSelect()
 }
 //科室选择
 function bindDeptSelect(){
-    $('.deptItem').on("mousedown",function(){
-        const deptItemName = $(this).attr("data-name")
-        const deptItemId = $(this).attr("data-id")
-        deptNameTemp=deptItemName=="全部"?"":deptItemName;
-        deptIdTemp =deptItemId||''
-        $('.selectDept').val(deptItemName)
-        $('.selectDept ').attr('title',deptItemName)
-        $(".deptList").css("display", "none")
-    })
-  	//科室下拉显示、选中事件
-	$('.selectDept').on("focus", function(e){
-	  e.stopPropagation()
-	  $(".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)
-	})
+  $('.deptItem').on("mousedown",function(){
+	const deptItemName = $(this).attr("data-name")
+	const deptItemId = $(this).attr("data-id")
+	deptNameTemp=deptItemName=="全部"?"":deptItemName;
+	deptIdTemp =deptItemId||''
+	$('.selectDept').val(deptItemName)
+	$('.selectDept ').attr('title',deptItemName)
+	$(".deptList").css("display", "none")
+  })
+  //科室下拉显示、选中事件
+  $('.selectDept').on("focus", function(e){
+	e.stopPropagation()
+	$(".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)
+  })
 }
 /*function loading(){
     const str = `
@@ -282,62 +284,62 @@ function hideLoading(){
 
 //分页渲染
 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>`
+  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)
+	}
+  })
 
-        } 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)
-        }
-    })
-    
 }