const $ = require('jquery'); require("../css/deptQualifiedPhysician.less"); require('./../resource/jquery-ui/jquery-ui.min.js'); require('./modal.js'); const { api } = require('./api.js') const { post, getCookie, getUrlArgObjectNew, emptyBox, setDatePicker, getPickerDate, expJson, listenScroll, downloadExportedData } = require('./utils.js') 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('.physician') let casesId = "", name = "", isReject = "", isUsed = "", casesIdTemp = "", nameTemp = "", isRejectTemp = "", data_asc = [], data_desc = ['deptName'], isUsedTemp = "", from = "", deptIdTemp = "", deptNameTemp = "", deptName = "",deptItemId = "", deptId = "", professor = "" $(".selectModuleType").append(`下拉`) $(".selectReject").append(`下拉`) $(".selectDept").append(`下拉`) $(".selectPhysician").append(`下拉`) $(".selectUsed").append(`下拉`) let isPlacefile = getCookie('isPlacefile') || 1 let deptList = JSON.parse(getCookie("deptList")) || [] $(function () { dateChange() let srcUrl = $("#contentIframe", parent.document).attr("src") isReject = getUrlArgObjectNew("dateType", srcUrl) || "" from = getUrlArgObjectNew("from", srcUrl) || "" name = nameTemp = getUrlArgObjectNew("name", srcUrl) || "" let startDateParam = getUrlArgObjectNew("startDateParam", srcUrl) || "" let endDateParam = getUrlArgObjectNew("endDateParam", srcUrl) || "" if (name) { $(".moduleItemInp").val(name) } 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") } getDeptList(1) $(".partTitle a").click(function () { //初始菜单选中 focusMenuItem('YH-KZTKS') $(".container", parent.document).addClass("console-cont"); }) $(".abnormalClear").click(function () { setDatePicker($("#datepicker"), $("#datepicker2"), "default") deptId = deptIdTemp = deptList[0] && deptList[0].deptId deptName = deptNameTemp = deptList[0] && deptList[0].deptName name = "" professor = ""; data_asc = [] professor = ""; data_desc = ['deptName']; $("th[code]").removeClass("asc desc").addClass("desc"); $(".patientNumInp").val("") $(".selectModuleType ").val("全部").attr({ "data-id": '', "title": '' }) $(".selectPhysician").html('全部').attr({ "data-id": "", "title": "全部" }).append(`下拉`) $(".selectDept").html(deptName).attr({ "data-id": deptId, "title": deptName }).append(`下拉`) getTabData(1) }) getTabData(1)//条目缺陷 }) 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(); } //获取医师类别 // getDoctorProfessorList() function getDoctorProfessorList(val) { // post(api.getDoctorProfessorList, { inputStr: val == "全部" ? "" : val || "", }).then(res => { // if (res.data.code == '0') { // const physicianList = res.data.data || [] // rendePhysicianList(physicianList) // } else { // rendePhysicianList([]) // } // }).catch((e) => { // }) } function rendePhysicianList(physicianList) { if (physicianList.length == 0) { $('.physicianList').html("") return } let str = `
  • 全部
  • ` for (let i = 0; i < physicianList.length; i++) { str += `
  • ${physicianList[i]}
  • ` } $('.physicianList').html(str) bindPhysicianSelect() } bindPhysicianSelect() //医师类别选中 function bindPhysicianSelect() { $('.physicianItem').on("click", function () { const physicianItemName = $(this).attr("data-name") || '' const physicianItemId = $(this).attr("data-id") professor = physicianItemName if (physicianItemName.length > 10) { $('.selectPhysician').html(physicianItemName.substring(0, 8) + '...') } else { $('.selectPhysician').html(physicianItemName) } $('.selectPhysician ').attr({ 'title': physicianItemName, 'data-id': physicianItemName }) $(".selectPhysician").append(`下拉`) $(".physicianList").css("display", "none") }) } bindDeptSelect() //科室选择 function bindDeptSelect() { $(document).on("click", '.deptItem', function () { const deptItemName = $(this).attr("data-name") || '' const deptItemId = $(this).attr("data-id") deptId = deptIdTemp = deptItemId deptName = deptNameTemp = deptItemName if (deptItemName.length > 10) { $('.selectDept').html(deptItemName.substring(0, 8) + '...') } else { $('.selectDept').html(deptItemName) } $('.selectDept ').attr({ 'title': deptItemName, 'data-id': deptItemId }) $(".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) } }) $('.selectPhysician').on("click", function (e) { e.stopPropagation() $(".levelList ").css("display", "none") $(".selectLevel .arrow").attr("src", iconDown) const showList = $(".physicianList ").css("display") if (showList == "none" || !showList) { $(".physicianList ").css("display", "block") $(".selectPhysician .arrow").attr("src", iconUp) } else { $(".physicianList ").css("display", "none") $(".selectPhysician .arrow").attr("src", iconDown) } }) //排序 $("body").on("click", "th[code]", 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); }); //科室处理 getDeptList() function getDeptList() { let str = `` if (deptList.length <= 0) return $(".physician .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 += `
  • ${tmp.deptName}
  • ` } $(".physician .deptList").html(str) deptName = deptNameTemp = deptList[0].deptName deptId = deptIdTemp = deptList[0].deptId } //判断有无某一权限 function hasData(data) { let lis = JSON.parse(getCookie("codeLis")) || [] if (lis.indexOf(data) > -1) {//有权限 return true } return false; } //所有数据切换日期筛选 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 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: activePage, type: 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去) doctorName: name, //条目名 deptName: deptName || '', //科室名 deptId: deptId || '', size: 15, ascs: data_asc, //升序 descs: data_desc, //降序 "professor": professor == "全部" ? "" : professor || "", "startDate": dateStatrt, "endDate": dateEnd } startDateParam = dateStatrt endDateParam = dateEnd post(api.homePageLevelStatisticsXYByDept, 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) => { }) } $(".moduleItemInp").on("input", function (e) { const val = $(this).val().trim() name = nameTemp = val }) $(".filter").on("click", function (e) { casesId = casesIdTemp, name = nameTemp, isReject = isRejectTemp, isUsed = isUsedTemp, deptId = deptIdTemp, deptName = deptNameTemp 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() // getmoduleTypeList() function renderTab(data, activePage) { let str = `` let tHead = ` 序号 科室 医师类别 医师姓名 缺陷总数 不合格数 合格数 合格率 空项数 完整率 错误数 完善率 质控平均分 质控病历数 ` for (let i = 0; i < data.length; i++) { const item = data[i] str += ` ${(activePage - 1) * 15 + i + 1} ${item.deptName || "-"} ${item.professor || "-"} ${item.doctorName || "-"} ${item.entryNum || "-"} ${item.entrySameNum < 0 ? '' : item.entrySameNum > 0 ? '' : ''} ${item.secondLevelNum} ${item.firstLevelNum} ${item.firstLevelPercentStr} ${item.emptyNum} ${item.emptyPercentStr} ${item.errorNum} ${item.errorPercentStr} ${item.averageValue} ${item.mrNum} ` } $('.deptScoreDetailControlTable table').html(str ? tHead + '' + str + '' : tHead + `${emptyBox()}`) $(".goHomeDetail").click(function () { let index = $(this).parent().attr("data-index") let deptName = $(this).attr("data-dept") let ruleType = $(this).attr("data-ruleType") let doctorName = $(this).attr("data-doctorName") || '' let docId = $(this).attr("data-docId") || '' let professor = $(this).attr("data-professor") let deptId = data[index].deptId $(parent.document).find("#contentIframe").attr("src", "quexianDetailHome.html?deptName=" + deptName + "&deptId=" + deptId + "&from=13&casesId=243" + "&shijian=3" + "&ruleType=" + ruleType + "&startDateParam=" + startDateParam + "&endDateParam=" + endDateParam + "&docName=" + doctorName + "&docId=" + docId + "&code=XY" + "&professor=" + professor) }) // 不合格数跳转至 病历列表详情页 $(".goHomeDetail1").click(function () { let index = $(this).parent().attr("data-index") let deptName = $(this).attr("data-dept") let titleName = $(this).attr("data-title") let doctorName = $(this).attr("data-doctorName") || '' let docId = $(this).attr("data-docId") || '' let professor = $(this).attr("data-professor") // let ruleType = $(this).attr("data-ruleType") let deptId = data[index].deptId // $(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=13&casesId=243" + "&shijian=3" + "&startDateParam=" + startDateParam + "&endDateParam=" + endDateParam + "&titleName=" + titleName + "&docName=" + doctorName + "&docId=" + docId + "&code=XY" + "&professor=" + professor) }) // initScroll("deptScoreDetailControl","YX",1) } 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) }); }) } $('.selectModuleType').on("focus", function (e) { e.stopPropagation() $(".rejectList ").css("display", "none") $(".usedList ").css("display", "none") $(".selectReject .arrow").attr("src", iconDown) $(".selectUsed .arrow").attr("src", iconDown) $(".moduleTypeList ").css("display", "block") }) $('.selectModuleType').on("blur", function (e) { $(".moduleTypeList ").css("display", "none") }) $('.selectModuleType').on("input", function (e) { let val = $(this).val().trim() casesName = casesNameTemp = val getmoduleTypeList(val) }) getmoduleTypeList() //获取模块类型 function getmoduleTypeList(val) { post(api.getQcCasesAll, { casesName: val == "全部" ? "" : val || "" }).then(res => { if (res.data.code == '0') { const moduleTypeList = res.data.data renderModuleTypeList(moduleTypeList) } else { renderModuleTypeList([]) } }).catch((e) => { }) } function renderModuleTypeList(moduleTypeList) { if (moduleTypeList.length == 0) { $('.moduleTypeList').html("") return } let str = `
  • 全部
  • ` for (let i = 0; i < moduleTypeList.length; i++) { str += `
  • ${moduleTypeList[i].name}
  • ` } $('.moduleTypeList').html(str) bindModuleTypeSelect() } //模块类型选择 function bindModuleTypeSelect() { $('.modeTypeItem').on("mousedown", function () { const modeTypeItemName = $(this).attr("data-name") const modeTypeItemId = $(this).attr("data-id") name = nameTemp = modeTypeItemName == "全部" ? "" : modeTypeItemName; $('.selectModuleType').val(modeTypeItemName).attr("title", modeTypeItemName) $(".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) $(".deptList").css("display", "none") $(".physicianList").css("display", "none") $(".selectDept .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() if (start > end) { $.alerModal({ "message": '开始时间不能大于结束时间~', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) }); return } const param = { "asc": data_asc, "desc": data_desc, "doctorName": name, "professor": professor == "全部" ? "" : professor || "", "deptName": deptName || '', //科室名 "type": 0, //1-本月,2-本年 "startDate": startDateParam, "isPlacefile": isPlacefile, "endDate": endDateParam }; expJson(api.homePageLevelXYExportByDept, param).then(res => { downloadExportedData(res.data, "医师病案首页合格率占比(科室).xls") }) }) });