const $ = require('jquery'); require("../css/qualifiedPhysician.less"); require('./modal.js'); const { api } = require('./api.js') const { post, getCookie,setCookie, getUrlArgObjectNew, focusMenuItem, emptyBox, setDatePicker, getPickerDate, downloadExportedData, expJson, 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") const jiantou_up = require("./../images/jiantou_up.png") const jiantou_down = require("./../images/jiantou_down.png") let isPlacefile = getCookie('isPlacefile') || 1 setCookie('excelName', "医师病案首页合格率占比"); listenScroll() $(".selectLevel").append(`下拉`) $(".selectDept").append(`下拉`) $(".selectLeaveHosType").append(`下拉`) let tabList = [], name = "", leaveHosType = "", leaveHosTypeTemp = "", behospitalCode = "", behosDateStart = "", level = "", behosDateEnd = "", scoreSum = 0, statisticsType = "", deptType = "", nameTemp = "", behospitalCodeTemp = "", levelTemp = "", deptId = "", deptIdTemp = "", deptName = "", deptNameTemp = "", doctorName = "", doctorNum = "", doctorNameTemp = "", doctorNumTemp = "", professor = "" data_desc = ['deptName'], data_asc = [], hospital = getCookie("hospital"); let srcUrl = $("#contentIframe", parent.document).attr("src") statisticsType = getUrlArgObjectNew("dateType", srcUrl) || "" deptType = getUrlArgObjectNew("deptType", srcUrl) || "" deptName = getUrlArgObjectNew("deptName", srcUrl) || "" let startDateParam = getUrlArgObjectNew("startDateParam", srcUrl) || "" let endDateParam = getUrlArgObjectNew("endDateParam", srcUrl) || "" if (hospital == '台州市立') { $(".deptListWrap").css("display", "inline-block") $('.selectLeaveHosType').html(deptType ? (deptType + '系统') : "全部").append(`下拉`) $(".leaveHosTypeList").css("display", "none") $('.selectLeaveHosType').removeClass('unSelect') leaveHosType = leaveHosTypeTemp = deptType deptName = deptNameTemp } else { $(".deptListWrap").css("display", "none") } if (statisticsType == 1) { $(".monthYear .mon").css({ backgroundColor: '#00A1FF', color: '#fff' }).siblings().css({ color: '#00A1FF', backgroundColor: '#fff' }) setDatePicker($("#datepicker"), $("#datepicker2"), 1) } else if (statisticsType == 2) { $(".monthYear .year").css({ backgroundColor: '#00A1FF', color: '#fff' }).siblings().css({ color: '#00A1FF', backgroundColor: '#fff' }) 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 () { setDatePicker($("#datepicker"), $("#datepicker2"), "default") behospitalCode = behospitalCodeTemp = ""; deptId = deptIdTemp = ""; leaveHosType = leaveHosTypeTemp = ""; deptName = deptNameTemp = ""; leaveHosType = ""; leaveHosTypeTemp = ""; doctorName = ""; professor = ""; data_desc = ['deptName']; data_asc = []; $('.selectLeaveHosType').html('全部') $(".leaveHosTypeList").css("display", "none") $(".selectLeaveHosType").append(`下拉`) $(".selectDept").attr({ 'title': "全部", 'data-id': '' }).val("全部") $(".selectPhysician").attr({ 'title': "全部", 'data-id': '' }).val("全部") $(".patientNumInp").val("") $(".moduleItemInp").val("") getTabData(1) getDeptList() getDoctorProfessorList() }) $(".partTitle a").click(function () {//初始菜单选中 $(".menu .page", parent.document).removeClass("active").eq(0).addClass("active"); $(".container", parent.document).addClass("console-cont"); }) $('.recordScoreBtn').css("opacity", hasData('FUNC000017') ? '1' : '0.5') dateChange() //所有数据切换日期筛选 function dateChange() { $(".monthYear .mon").click(function () { $(this).css({ backgroundColor: '#00A1FF', color: '#fff' }).siblings().css({ color: '#00A1FF', backgroundColor: '#fff' }) $(".dayDetail .deptListWrap").css("display", "block") $(".dayDetail .dayFilter").css("display", "none") statisticsType = 1 setDatePicker($("#datepicker"), $("#datepicker2"), 1) getTabData(1) }) $(".monthYear .year").click(function () { $(this).css({ backgroundColor: '#00A1FF', color: '#fff' }).siblings().css({ color: '#00A1FF', backgroundColor: '#fff' }) $(".dayDetail .deptListWrap").css("display", "none") $(".dayDetail .dayFilter").css("display", "block") statisticsType = 2 setDatePicker($("#datepicker"), $("#datepicker2"), 2) getTabData(1) }) } // YH-ZKK-GKSQXZB_XQ $(".menu .page", parent.document).removeClass("active") $(parent.document).find(".menu .page[code=YH-ZKK-BASYHGLYSZB_XQ]").addClass("active") bindleaveHosTypeSelect() //出院人数类型选择 function bindleaveHosTypeSelect() { $('.leaveHosTypeItem').on("click", function () { const leaveHosTypeItemName = $(this).attr("data-name") const leaveHosTypeItemItemId = $(this).attr("data-id") leaveHosTypeTemp = leaveHosTypeItemItemId $('.selectLeaveHosType').html(leaveHosTypeItemName) $(".leaveHosTypeList").css("display", "none") $(".selectLeaveHosType").append(`下拉`) $('.selectLeaveHosType').removeClass('unSelect') }) } //判断有无某一权限 function hasData(data, parent) { let codeLis = getCookie("codeLis") if (parent) { if (codeLis.indexOf(parent) == -1) {//有权限 return false } } if (codeLis.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 = { "ascs": data_asc, "descs": data_desc, "doctorName": doctorName, "name": behospitalCode || "", "deptClass": leaveHosType || '', "deptName": deptName == "全部" ? "" : deptName || "", "professor": professor == "全部" ? "" : professor || "", "type": 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去) "startDate": dateStatrt, "endDate": dateEnd, size: 15, current: activePage, } let url = api.homePageLevelStatisticsXY startDateParam = dateStatrt endDateParam = dateEnd $('.pagination').html("") $('.deptScoreDetailControlTable table').html(`${emptyBox('努力加载中...', '', 1)}`) post(url, param).then(res => { if (res.data.code == '0') { const data = res.data.data; tabList = data.records; const totalPage = data.pages; const totalNum = data.total; renderTab(data.records, 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) $(".moduleItemInp").on("input", function (e) { const val = $(this).val().trim() doctorName = val }) $("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); }); $(".filter").on("click", function (e) { name = nameTemp behospitalCode = behospitalCodeTemp level = levelTemp deptId = deptIdTemp leaveHosType = leaveHosTypeTemp deptName = deptNameTemp if (deptName == "") { $(".selectDept").attr({ 'title': "全部", 'data-id': '' }).val("全部") } getTabData(1) }) function renderTab(data, hisId, 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()}`) bindScoreDetail(hisId) $(".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", "quexianDetailControlHome.html?deptName=" + deptName + "&deptId=" + deptId + "&from=12&casesId=243" + "&shijian=3" + "&ruleType=" + ruleType + "&startDateParam=" + startDateParam + "&endDateParam=" + endDateParam + "&docName=" + doctorName + "&code=XY" + "&docId=" + docId + "&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", "qcListCopyUnqualified.html?deptName=" + deptName + "&deptId=" + deptId + "&from=12&casesId=243" + "&shijian=3" + "&startDate=" + startDateParam + "&endDate=" + endDateParam + "&titleName=" + titleName + "&docName=" + doctorName + "&code=XY" + "&docId=" + docId + "&professor=" + professor) }) // initScroll("deptScoreDetailControl","YX",1) } function scoreDetail(id, age, hid, code) { window.open(`./qcScore.html?id=${id}&age=${age}&hid=${hid}&code=${code}`) } function bindScoreDetail(hisId) { $('.patientNameSpan').on('click', function (e) { const index = $(this).attr("data-index") const type = $(this).attr("data-type") const item = tabList[index] midifyMsgBox(item, type) }) } function midifyMsgBox(item, type) { const itemCopy = JSON.parse(JSON.stringify(item)) let msgBox = '' if (type == 1) { msgBox = `

修改 关闭

状态: ${itemCopy.status == 0 ? "未处理" : "已处理"}
  • 未处理
  • 已处理
备注:
支持≥0的数字输入,最多保留小数点后1位~
保存
` } else { msgBox = `

修改 关闭

确认要删除该条异常记录?

删除 取消
` } $("#mainBox", parent.document).append(msgBox) $(".midifyEditDel", parent.document).on("click", function () { delModifyOne(itemCopy) }) $(".midifyEditQuit", parent.document).on("click", function () { $("#mainBox .midifyMsgBox", parent.document).remove() }) $(".abnormalAll", parent.document).on("click", function () { $(".abnormalStatusLis", parent.document).slideToggle() }) $(".abnormalStatusLis li", parent.document).on("click", function () { let status = $(this).attr("data-status") let str = $(this).html() $(".abnormalAll", parent.document).attr("data-status", status).html(str) $(".abnormalStatusLis", parent.document).slideToggle() }) $("#mainBox .midifyMsgBox .iconClose", parent.document).on("click", function (e) { $("#mainBox .midifyMsgBox", parent.document).remove() }) $("#mainBox .midifyMsgBox .itemScore", parent.document).on("keypress", function (event) { return (/[\d\.]/.test(String.fromCharCode(event.keyCode))) }) $("#mainBox .midifyMsgBox .itemScore", parent.document).on("input", function (e) { const val = $(this).val() itemCopy.score = val }) $("#mainBox .midifyMsgBox .midifyEdit", parent.document).on("click", function (e) { saveModifyOne(itemCopy) }) } //保存修改 function delModifyOne(itemCopy) { let param = { "id": itemCopy.id } post(api.delQcAnnormal, param).then(res => { if (res.data.code == '0') { const data = res.data.data; getTabData(1) $("#mainBox .midifyMsgBox", parent.document).remove() $.alerModal({ "message": '删除成功', type: "tip", time: '1000', isFather: true, win: true, fatherWrapper: $("#mainBox", parent.document) }); } else { $.alerModal({ "message": '删除失败,请重试~', type: "tip", time: '1000', win: 'default', isFather: true, fatherWrapper: $("#mainBox", parent.document) }); } }).catch((e) => { $.alerModal({ "message": '删除失败,请重试~', type: "tip", time: '1000', win: 'default', isFather: true, fatherWrapper: $("#mainBox", parent.document) }); }) } //保存修改 function saveModifyOne(itemCopy) { let txt = $(".abnormalTxt", parent.document).val() let status = $(".abnormalAll", parent.document).attr("data-status") let param = { "id": itemCopy.id, "remark": txt, "status": status } post(api.saveQcAnnormal, param).then(res => { if (res.data.code == '0') { const data = res.data.data; getTabData(1) $("#mainBox .midifyMsgBox", parent.document).remove() $.alerModal({ "message": '修改成功', type: "tip", time: '1000', isFather: true, win: true, fatherWrapper: $("#mainBox", parent.document) }); } 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) }); }) } //选择出院人数类型 $('.selectLeaveHosType').on("click", function (e) { e.stopPropagation() $(".deptList ").css("display", "none") $(".selectDept .arrow").attr("src", iconDown) $(".levelList ").css("display", "none") $(".checkList ").css("display", "none") $(".selectCheck .arrow").attr("src", iconDown) $(".selectLeaveHosType").append(`下拉`) const showList = $(".leaveHosTypeList ").css("display") if (showList == "none" || !showList) { $(".leaveHosTypeList ").css("display", "block") $(".selectLeaveHosType .arrow").attr("src", iconUp) } else { $(".leaveHosTypeList ").css("display", "none") $(".selectLeaveHosType .arrow").attr("src", iconDown) } }) bindLeveldSelect() //是否启用选择 function bindLeveldSelect() { $('.levelItem').on("click", function () { const levelItemName = $(this).attr("data-name") const levelItemItemId = $(this).attr("data-id") levelTemp = levelItemItemId $('.selectLevel').html(levelItemName) $(".levelList").css("display", "none") $(".selectLevel").append(`下拉`) }) } //全选绑定 $('.selectDept').on("focus", function (e) { e.stopPropagation() $(".levelList ").css("display", "none") $(".selectLevel .arrow").attr("src", iconDown) $(".deptList ").css("display", "block") }) $('.selectPhysician').on("focus", function (e) { e.stopPropagation() $(".levelList ").css("display", "none") $(".selectLevel .arrow").attr("src", iconDown) $(".physicianList ").css("display", "block") }) $('.selectPhysician').on("blur", function (e) { $(".physicianList ").css("display", "none") $(".selectPhysician .arrow").attr("src", iconDown) }) $('.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) }) $('.selectPhysician').on("input", function (e) { let val = $(this).val().trim() professor = val getDoctorProfessorList(professor) }) //获取医师类别 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) => { // }) bindPhysicianSelect() } 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() } //医师类别选中 function bindPhysicianSelect() { $('.physicianItem').on("mousedown", function () { const physicianItemName = $(this).attr("data-name") const physicianItemId = $(this).attr("data-id") physicianIdTemp = physicianItemId professor = physicianItemName === "全部" ? "" : physicianItemName; $('.selectPhysician').val(physicianItemName) $('.selectPhysician ').attr('title', physicianItemName) $(".physicianList").css("display", "none") $('.selectPhysician').removeClass('unSelect') }) } //获取科室列表 getDeptList() 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) => { }) } function rendeDeptList(deptList) { if (deptList.length == 0) { $('.deptList').html("") return } let str = `
  • 全部
  • ` for (let i = 0; i < deptList.length; i++) { str += `
  • ${deptList[i].deptName}
  • ` } $('.deptList').html(str) bindDeptSelect() } //科室选择 function bindDeptSelect() { $('.deptItem').on("mousedown", function () { const deptItemName = $(this).attr("data-name") const deptItemId = $(this).attr("data-id") deptId = deptIdTemp = deptItemId deptNameTemp = deptItemName === "全部" ? "" : deptItemName; $('.selectDept').val(deptItemName) $('.selectDept ').attr('title', deptItemName) $(".deptList").css("display", "none") $('.selectDept').removeClass('unSelect') }) } function loading() { const str = `
    loading
    ` $("#mainBox", parent.document).append(str) } function hideLoading() { $("#mainBox .loadingBox", parent.document).remove() } $('.recordScoreBtn').on("click", function (e) { if (!hasData('FUNC000017', 'YH-BLZK-ZKPF')) { return } let scoreList = [] for (let i = 0; i < tabList.length; i++) { if (tabList[i].hasSelect) { scoreList.push(tabList[i].behospitalCode) } } if (scoreList.length === 0) { $.alerModal({ "message": '请选择要评分的项!', type: "tip", time: '1000', isFather: true, fatherWrapper: $("#mainBox", parent.document) }); return } else { loading() for (let j = 0; j < scoreList.length; j++) { recordScore(scoreList[j], scoreList.length) } } }) function recordScore(behospitalCode, totalNum) { const param = { behospitalCode: behospitalCode } post(api.recordScore, param).then(res => { if (res.data.code == '0') { scoreSum++ if (scoreSum === totalNum) { hideLoading() scoreSum = 0 const activePage = $(".activePage").attr('data-page') || 1 getTabData(activePage) } } else { } }).catch((e) => { }) } $(".patientNumInp").on("input", function (e) { const val = $(this).val().trim() behospitalCodeTemp = val }) $(".patientNameInp").on("input", function (e) { const val = $(this).val().trim() nameTemp = val }) $(".doctorInp").on("input", function (e) { const val = $(this).val().trim() doctorNameTemp = val }) $(".doctorNumInp").on("input", function (e) { const val = $(this).val().trim(); doctorNumTemp = val }) //分页渲染 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 () { $(".levelList ").css("display", "none") $(".selectLevel .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() }); $('.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 = { "asc": data_asc, "desc": data_desc, "name": behospitalCode || "", "doctorName": doctorName, "deptClass": leaveHosType || '', "professor": professor == "全部" ? "" : professor || "", "deptName": deptName == "全部" ? "" : deptName || "", "type": statisticsType || 2, //1-本月,2-本年 "startDate": startDateParam, "isPlacefile": isPlacefile, "endDate": endDateParam }; const url = api.homePageLevelXYExport expJson(url, param).then(res => { downloadExportedData(res.data, "医师病案首页合格率占比.xls") }) }) });