const $ = require('jquery'); require("../css/quexianDetailHome.less"); require('./../resource/jquery-ui/jquery-ui.min.js'); require('./modal.js'); const {api} = require('./api.js') const {post,getCookie,getUrlArgObjectNew,emptyBox,setDatePicker,getPickerDate,downloadExportedData,expJson,listenScroll} = require('./utils.js') require('./../resource/jquery-ui/jquery-ui.min.js'); require('./../resource/jquery-ui/jquery-ui.min.css'); const switchIconOpen = require("./../images/btn_open.png") const switchIconClose = require("./../images/btn_close.png") const iconDown= require("./../images/arrow_down.png") const iconUp = require("./../images/arrow_up.png") const arrowLeft= require("./../images/arrow_left.png") const arrowRight = require("./../images/arrow_right.png") listenScroll('.quexianDetailHome') let isPlacefile = getCookie('isPlacefile')||1 let casesId = "", name = "", isReject = "", deptName = "", isUsed = "", ruleType = "", casesIdTemp = "", data_asc = [], data_desc = ["casesName"], nameTemp = "", casesIds = "", isRejectTemp = "", isUsedTemp = "", from = "", deptIdTemp = "", deptItemId = "", deptId = "", codeType="" $(".selectModuleType").append(`下拉`) $(".selectReject").append(`下拉`) $(".selectUsed").append(`下拉`) // $(".selectDept").append(`下拉`) let deptList = JSON.parse(getCookie("deptList"))||[] $(function(){ dateChange() let srcUrl = $("#contentIframe",parent.document).attr("src") deptName = getUrlArgObjectNew("deptName",srcUrl)||"" deptIdTemp = getUrlArgObjectNew("chengdu",srcUrl)||"" deptId = getUrlArgObjectNew("deptId", srcUrl) || "" docName = getUrlArgObjectNew("docName",srcUrl)||"" docId = getUrlArgObjectNew("docId", srcUrl) || "" casesIds = getUrlArgObjectNew("casesId",srcUrl)||"" isReject= isRejectTemp= getUrlArgObjectNew("shijian",srcUrl)||"" ruleType= getUrlArgObjectNew("ruleType",srcUrl)||"" let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||"" let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||"" codeType = getUrlArgObjectNew("code", srcUrl) || "" $('.selectDefect').html(deptName).attr("title",deptName) if(isReject == 1){ $(".monthYear .mon").css({ backgroundColor:'#00A1FF', color:'#fff' }).siblings().css({ color:'#00A1FF', backgroundColor:'#fff' }) setDatePicker($("#datepicker"),$("#datepicker2"),1) }else if(isReject == 2){ $(".monthYear .year").css({ backgroundColor:'#00A1FF', color:'#fff' }).siblings().css({ color:'#00A1FF', backgroundColor:'#fff' }) setDatePicker($("#datepicker"),$("#datepicker2"),2) }else if(isReject == 3){ setDatePicker($("#datepicker"),$("#datepicker2"),3,new Date(startDateParam),new Date(endDateParam)) }else { setDatePicker($("#datepicker"),$("#datepicker2"),"default") } if(!isReject){ setDatePicker($("#datepicker"),$("#datepicker2"),"default") } from = getUrlArgObjectNew("from",srcUrl)||"" if(from == 1){ $(".partTitle .titlePic ").html(`控制台(科室) / 病案首页合格率医师占比 / 缺陷列表`) $(".partTitle .consoleD").click(function(){ focusMenuItem('YH-KZTKS') $(".container",parent.document).addClass("console-cont"); }) $(".partTitle .consoleP").click(function(){ focusMenuItem('YH-KSZR-BASYHGLZB_XQ') }) }else if(from == 10){ $(".partTitle .titlePic ").html(`控制台(科室) / 病案首页合格率占比 / 缺陷列表`) // $(".partTitle .consoleD").click(function(){ // focusMenuItem('YH-KZT') // $(".container",parent.document).addClass("console-cont"); // }) // $(".partTitle .consoleP").click(function(){ // focusMenuItem('YH-KSZR-KSQXZB_XQ') // }) }else{ $(".partTitle .titlePic ").html(`控制台(科室) / 各科室缺陷占比 / 缺陷列表`) $(".partTitle .consoleD").click(function(){ focusMenuItem('YH-KZT') $(".container",parent.document).addClass("console-cont"); }) $(".partTitle .consoleP").click(function(){ focusMenuItem('YH-KSZR-KSQXZB_XQ') }) } $(".abnormalClear").click(function(){ setDatePicker($("#datepicker"),$("#datepicker2"),"default") name = "" $(".patientNumInp").val("") getTabData(1) }) getTabData(1)//条目缺陷 // getMolist() }) function getMolist(){ post(api.getQcCases).then(res =>{ if(res.data.code == '0'){ data = res.data.data deptList = data getDeptList() }else{} }).catch((e) =>{ }) } function focusMenuItem(code){ const ele = $(parent.document).find(".menu .page[code="+code+"]"); const parEle = ele.parents(".list-1"); if(!parEle.is(".list-1-show")){ parEle.click(); } //console.log($(parent.document).find(".menu .page[code='YH-ZKK-GMKQXZB_XQ']")) ele.click(); } bindDeptSelect() //科室选择 function bindDeptSelect(){ $(document).on("click",'.deptItem',function(){ const deptItemName = $(this).attr("data-name") const deptItemId = $(this).attr("data-id") deptIdTemp=deptId =deptItemId if(deptItemName.length > 10){ $('.selectDept').html(deptItemName.substring(0,8)+'...') }else{ $('.selectDept').html(deptItemName) } $('.selectDept ').attr('title',deptItemName) // $(".selectDept").append(`下拉`) $(".deptList").css("display", "none") }) } //全选绑定 $('.selectDept').on("click", function(e){ e.stopPropagation() // $(".levelList ").css("display","none") // $(".selectLevel .arrow").attr("src",iconDown) // const showList = $(".deptList ").css("display") // if(showList == "none" ||!showList){ // $(".deptList ").css("display","block") // $(".selectDept .arrow").attr("src",iconUp) // }else{ // $(".deptList ").css("display", "none") // $(".selectDept .arrow").attr("src",iconDown) // } }) //科室处理 getDeptList() function getDeptList(){ let str = `` if(deptList.length<=0)return $(".tiaomu .selectDept ").attr("data-id",deptList[0].deptName).find("i").html(deptList[0].deptName) for(let i = 0;i < deptList.length;i++){ let tmp = deptList[i] str += `
  • ${tmp.name}
  • ` } $(".quexianDetail .filterDropList").html('
  • 全部
  • '+str) } $("th[code]").on("click",function(e){ const code=$(this).attr("code"); if(data_asc[0]===code){ data_desc=[code]; data_asc=[]; $("th[code]").removeClass("asc desc"); $(this).addClass("desc"); }else{ data_desc=[]; data_asc=[code]; $("th[code]").removeClass("asc desc"); $(this).addClass("asc"); } getTabData(1); // console.log(code) }); function getTabData(activePage){ const dateStatrt = getPickerDate($("#datepicker"),1) const dateEnd = getPickerDate($("#datepicker2"),2) const start = new Date(dateStatrt).getTime() const end = new Date(dateEnd).getTime() let url if(start > end){ $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)}); return } const param = { current:activePage, type: 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去) name: name, //条目名 doctorName:docName||"", deptName:deptName||"", deptId: deptId || "", casesName:"", casesId:casesIds||"", doctorId: docId || "", ascs:data_asc, descs:data_desc, ruleType:ruleType||null, size: 15, "startDate":dateStatrt, "endDate":dateEnd } startDateParam = dateStatrt endDateParam = dateEnd if (codeType == 'XY'){ url = api.entryCountGroupXYByEntryPageDept }else{ url = api.entryCountGroupByEntryAndDeptPage } post(url,param).then(res =>{ if(res.data.code == '0'){ const data = res.data.data.records const totalPage = res.data.data.pages const totalNum = res.data.data.total renderTab(data,activePage) if(totalPage > 1){ renderPagination(totalPage,Number(activePage),totalNum) } else{ $('.pagination').html("") } }else{} }).catch((e) =>{ }) } //所有数据切换日期筛选 function dateChange(){ $(".monthYear .mon").click(function(){ $(this).css({ backgroundColor:'#00A1FF', color:'#fff' }).siblings().css({ color:'#00A1FF', backgroundColor:'#fff' }) isReject = isRejectTemp = 1 setDatePicker($("#datepicker"),$("#datepicker2"),1) getTabData(1) }) $(".monthYear .year").click(function(){ $(this).css({ backgroundColor:'#00A1FF', color:'#fff' }).siblings().css({ color:'#00A1FF', backgroundColor:'#fff' }) isReject = isRejectTemp = 2 setDatePicker($("#datepicker"),$("#datepicker2"),2) getTabData(1) }) } //判断有无某一权限 function hasData(data){ let lis = JSON.parse(getCookie("codeLis"))||[] if(lis.indexOf(data)>-1){//有权限 return true } return false; } $(".moduleItemInp").on("input", function(e){ const val = $(this).val().trim() nameTemp = val }) $(".filter").on("click", function(e){ casesId=casesIdTemp, name=nameTemp, isReject =isRejectTemp, isUsed =isUsedTemp getTabData(1) }) $(".filterclear").on("click", function(e){ nameTemp = "" $(".moduleItemInp").val("") }) $('.selectModuleType').on("click", function(e){ e.stopPropagation() $(".rejectList ").css("display","none") $(".usedList ").css("display", "none") $(".selectReject .arrow").attr("src",iconDown) $(".selectUsed .arrow").attr("src",iconDown) const showList = $(".moduleTypeList ").css("display") if(showList == "none" ||!showList){ $(".moduleTypeList ").css("display","block") $(".selectModuleType .arrow").attr("src",iconUp) }else{ $(".moduleTypeList ").css("display", "none") $(".selectModuleType .arrow").attr("src",iconDown) } }) $('.selectReject').on("click", function(e){ e.stopPropagation() $(".moduleTypeList ").css("display", "none") $(".usedList ").css("display", "none") $(".selectModuleType .arrow").attr("src",iconDown) $(".selectUsed .arrow").attr("src",iconDown) const showList = $(".rejectList ").css("display") if(showList == "none" ||!showList){ $(".rejectList ").css("display","block") $(".selectUsed .arrow").attr("src",iconUp) }else{ $(".rejectList ").css("display", "none") $(".selectUsed .arrow").attr("src",iconDown) } }) $('.selectUsed').on("click", function(e){ e.stopPropagation() $(".moduleTypeList ").css("display", "none") $(".rejectList ").css("display","none") $(".selectModuleType .arrow").attr("src",iconDown) $(".selectReject .arrow").attr("src",iconDown) const showList = $(".usedList ").css("display") if(showList == "none" ||!showList){ $(".usedList ").css("display","block") $(".selectUsed .arrow").attr("src",iconUp) }else{ $(".usedList ").css("display", "none") $(".selectUsed .arrow").attr("src",iconDown) } }) // bindRejectSelect() // bindUsedSelect() // getTabData(1) // getmoduleTypeList() function renderTab(data,activePage){ let str = ``; const cls = hasData("FUNC000007")?"editItem":"editItemDis"; for(let i = 0; i < data.length; i++){ const item = data[i] str += ` ${(activePage-1)*15 + i+1} ${item.casesName} ${item.name} ${item.num} ${item.percentStr} ` } $('.tbody').html(str?str:emptyBox()) bindEdit(data,activePage) // initScroll("quexianDetailHome","Y",1) $(".canJump").click(function(){ // 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=33&casesId=243" + "&shijian=3" + "&ruleType=" + ruleType + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&defectName=" + defectName + "&docName=" + docName + "&docId=" + docId) }) } function bindEdit(data,activePage){ if(!hasData('FUNC000007')){ return } $('.editItem').click(function(e){ const index = $(this).parent().attr('data-index') editItem(data[index],activePage) }) } //修改 function editItem(item,activePage){ const itemCpoy = JSON.parse(JSON.stringify(item)) $('.pop-box').remove() $('.container').append('
    ') const str = `

    修改 关闭

    模块名称: ${itemCpoy.casesName}
    条目名称: ${itemCpoy.name}
    提示信息:
    分值:

    支持≥0的数字输入,最多保留小数点后1位~

    单项否决:${item.isReject == '1' ? ``:` `}
    启用:${item.isUsed == '1' ? ``:` `}
    保存
    ` $("#mainBox", parent.document).append(str) $("#mainBox .itemMsgBox .iconClose", parent.document).on("click", function(e){ $("#mainBox .itemMsgBox", parent.document).remove() }) $("#mainBox .itemMsgBox .itemTipMsg", parent.document).on("input", function(e){ const val = $(this).val().trim() itemCpoy.msg = val }) $("#mainBox .itemMsgBox .itemScore", parent.document).on("keypress", function(e){ return (/[0-9\.]/.test(String.fromCharCode(e.keyCode))) }) $("#mainBox .itemMsgBox .itemScore", parent.document).on("input", function(e){ const val = $(this).val() itemCpoy.score = val }) $("#mainBox .itemMsgBox .itemReject", parent.document).on("click", function(e){ itemCpoy.isReject = itemCpoy.isReject == 1 ? 0 : 1 $('#mainBox .itemMsgBox', parent.document).remove() editItem(itemCpoy,activePage) }) $("#mainBox .itemMsgBox .itemUsed", parent.document).on("click", function(e){ itemCpoy.isUsed = itemCpoy.isUsed == 1 ? 0 : 1 $('#mainBox .itemMsgBox', parent.document).remove() editItem(itemCpoy,activePage) }) $("#mainBox .itemMsgBox .confirmEdit", parent.document).on("click", function(){ var reg = new RegExp(/^\d+(\.\d)?$/); if(reg.test(itemCpoy.score)){ // console.log('itemCopy', itemCpoy) if(!itemCpoy.msg.trim()){ $.alerModal({"message":"提示信息不能为空~",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)}); return } saveEdit(itemCpoy,activePage) $("#mainBox .itemMsgBox .itemMsgInfoTips", parent.document).css("display","none") $('#mainBox .itemMsgBox', parent.document).remove() return }else{ $("#mainBox .itemMsgBox .itemMsgInfoTips", parent.document).css("display","block") return } }) } //保存修改 function saveEdit(item,activePage){ const param = { id: item.id, isReject: item.isReject, isUsed: item.isUsed, msg: item.msg, score: item.score } post(api.updataQcCasesEntry,param).then(res =>{ if(res.data.code == '0'){ // const data = res.data.data $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true,win: true, fatherWrapper: $("#mainBox", parent.document)}); getTabData(activePage) }else{ $.alerModal({"message":'修改失败,请重试~',type:"tip",time:'1000',isFather: true,win: 'default', fatherWrapper: $("#mainBox", parent.document)}); } }).catch((e) =>{ $.alerModal({"message":'修改失败,请重试~',type:"tip",time:'1000',isFather: true,win: 'default', fatherWrapper: $("#mainBox", parent.document)}); }) } //获取模块类型 function getmoduleTypeList(){ post(api.getQcCasesAll).then(res =>{ if(res.data.code == '0'){ const moduleTypeList = res.data.data renderModuleTypeList(moduleTypeList) }else{} }).catch((e) =>{ }) } function renderModuleTypeList(moduleTypeList){ let str = `
  • 全部
  • ` for(let i = 0; i < moduleTypeList.length; i++){ str += `
  • ${moduleTypeList[i].name}
  • ` } $('.moduleTypeList').html(str) bindModuleTypeSelect() } //模块类型选择 function bindModuleTypeSelect(){ $('.modeTypeItem').on("click",function(){ const modeTypeItemName = $(this).attr("data-name") const modeTypeItemId = $(this).attr("data-id") casesIdTemp =modeTypeItemId $('.selectModuleType').html(modeTypeItemName).attr("title",modeTypeItemName) $(".selectModuleType").append(`下拉`) $(".moduleTypeList ").css("display", "none") }) } //单项否决选择 function bindRejectSelect(){ $('.rejectItem').on("click",function(){ const rejectItemName = $(this).attr("data-name") const rejectItemId = $(this).attr("data-id") isRejectTemp=rejectItemId $('.selectReject').html(rejectItemName) $(".rejectList ").css("display", "none") $(".selectReject").append(`下拉`) }) } //是否启用选择 function bindUsedSelect(){ $('.usedItem').on("click",function(){ const usedItemName = $(this).attr("data-name") const usedItemItemId = $(this).attr("data-id") isUsedTemp =usedItemItemId $('.selectUsed').html(usedItemName) $(".usedList").css("display", "none") $(".selectUsed").append(`下拉`) }) } //分页渲染 function renderPagination(totalPage,activePage,totalNum){ let str = `共${totalPage}页/${totalNum}条数据` if(totalPage <= 6){ for(let i = 1; i <= totalPage; i++){ str += `${i}` } }else{ if(activePage <= 3){ //选中页数小于4 for(let i = 1; i <= 4; i++){ str += `${i}` } str += `...` str += `${totalPage}` } else if(activePage > totalPage -3){ str += `1` str += `...` str += `${totalPage -3}` str += `${totalPage -2}` str += `${totalPage -1}` str += `${totalPage}` } else { str += `1` str += `...` str += `${activePage -1}` str += `${activePage}` str += `${activePage +1}` str += `...` str += `${totalPage}` } } str += `` $('.pagination').html(str) $('.page' + activePage).addClass('activePage') $(".pageNum").on("click", function(e){ const activePageNow = Number($(this).attr('data-page')) getTabData(activePageNow) // renderPagination(totalPage,activePageNow,totalNum) }) $(".prePage").on("click", function(e){ let activePageNow = Number($(".activePage").attr('data-page')) if(activePageNow > 1){ activePageNow-- getTabData(activePageNow) // renderPagination(totalPage,activePageNow,totalNum) } }) $(".nextPage").on("click", function(e){ let activePageNow = Number($(".activePage").attr('data-page')) if(activePageNow < totalPage){ activePageNow++ getTabData(activePageNow) // renderPagination(totalPage,activePageNow,totalNum) } }) } $(document).on("click", function(){ $(".moduleTypeList ").css("display", "none") $(".rejectList ").css("display","none") $(".usedList ").css("display", "none") $(".selectModuleType .arrow").attr("src",iconDown) $(".selectReject .arrow").attr("src",iconDown) $(".selectUsed .arrow").attr("src",iconDown) }) $(function() { const iconCalenBlue= require("./../images/darkDate.png") const iconCalenGrey= require("./../images/icon_calen_grey.png") $('.datapickerBox').append(``) $('.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() let url if(start > end){ $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)}); return } const param = { isPlacefile:isPlacefile, type: 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去) name: name, //条目名 doctorName:docName||"", deptName:deptName=="全院"?"":(deptName||""), casesName:deptId||"", casesId:casesIds||"", ascs:data_asc, descs:data_desc, ruleType:ruleType||null, size: 15, "startDate":startDateParam, "endDate":endDateParam } if (codeType = 'XY') { url = api.entryCountGroupXYByExportDept } else if (from = 10){ url = api.entryGroupExportByDeptPage }else{ url = api.entryCountGroupByEntryExport } expJson(url,param).then(res =>{ downloadExportedData(res.data, "病案首页合格率占比 / 缺陷列表.xls") }) }) });