const $ = require('jquery'); require("../css/doctorQcAverageDetail.less"); require('./modal.js'); const { api } = require('./api.js') const { post, getCookie, 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 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 listenScroll() //下拉箭头图标添加 $(".selectDept").append(`下拉`); let tabList = [], /*statisticsType="",*/ levelTemp = "", deptId = "", deptIdTemp = "", deptName = "", deptNameTemp = "", doctorName = "", doctorNameTemp = "", data_desc = ['entryNum'], data_asc = [], doctorNum = "", doctorNumTemp = "", hospital = getCookie("hospital"); let srcUrl = $("#contentIframe", parent.document).attr("src") /*statisticsType = getUrlArgObjectNew("dateType",srcUrl)||""*/ deptType = getUrlArgObjectNew("deptType", srcUrl) || "" deptName = deptNameTemp = getUrlArgObjectNew("deptName", srcUrl) || "" deptId = deptIdTemp = getUrlArgObjectNew("deptId", srcUrl) || "" let startDateParam = getUrlArgObjectNew("startDateParam", srcUrl) || "" let endDateParam = getUrlArgObjectNew("endDateParam", srcUrl) || "" $('.selectDept').html(deptName).attr("title", deptName) //传入的日期显示 setDatePicker($("#datepicker"), $("#datepicker2"), 3, new Date(startDateParam), new Date(endDateParam)) //重置按钮事件绑定 $(".abnormalClear").click(function () { setDatePicker($("#datepicker"), $("#datepicker2"), "default") doctorName = doctorNameTemp = "" doctorNum = doctorNumTemp = "" $(".selectDept").attr({ 'title': "全部", 'data-id': '' }).val("全部") $(".doctorInp").val("") $(".doctorNumInp").val("") getTabData(1) getDeptList() }) //面包屑点击事件 // $(".partTitle a").click(function () {//初始菜单选中 // $(".menu .page", parent.document).removeClass("active").eq(0).addClass("active"); // $(".container", parent.document).addClass("console-cont"); // }) // 各科室缺陷占比菜单选中 $(".menu .page", parent.document).removeClass("active") $(parent.document).find(".menu .page[code=YH-ZKK-GKSQXZB_XQ]").addClass("active") //判断有无某一权限 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 = { current: activePage, size: 15, "asc": data_asc, "desc": data_desc, "doctorName": doctorName || "", "doctorId": doctorNum || "", "deptId": deptId, "deptName": deptName == "全院" ? "" : (deptName || ""), "type": 0, //1-本月,2-本年,0-自定义时间(现在 都是自定义时间,都会传具体时间进去) "startDate": dateStatrt, "endDate": dateEnd } startDateParam = dateStatrt endDateParam = dateEnd $('.pagination').html("") $('.doctorQcAverageDetailTable table').html(`${emptyBox('努力加载中...', '', 1)}`) post(api.doctorAverageStatistics, 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(tabList, 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) $("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) { deptId = deptIdTemp deptName = deptNameTemp doctorNum = doctorNumTemp doctorName = doctorNameTemp 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.doctorName || "-"} ${item.doctorId || "-"} ${item.entryNum || "-"} ${item.entrySameNum < 0 ? '' : item.entrySameNum > 0 ? '' : ''} ${item.averageValue || "-"} ${item.firstLevelStrNum + '' || "-"} ${item.firSameLevelNum < 0 ? '' : item.firSameLevelNum > 0 ? '' : ''} ${item.secondLevelStrNum + '' || "-"} ${item.secSameLevelNum < 0 ? '' : item.secSameLevelNum > 0 ? '' : ''} ${item.thirdLevelStrNum + '' || "-"} ${item.thiSameLevelNum < 0 ? '' : item.thiSameLevelNum > 0 ? '' : ''} ` } $('.doctorQcAverageDetailTable table').html(str ? tHead + '' + str + '' : tHead + `${emptyBox()}`) // 缺陷总数跳转 $(".goHomeDetailQuexian").click(function () { let deptName = $(this).attr("data-dept") let deptId = $(this).attr("dept-id") let doctorName = $(this).attr("dept-doc") let doctorId = $(this).attr("dept-docId") $(parent.document).find("#contentIframe").attr("src", "doctorQuexianDetailControl.html?deptName=" + deptName + "&deptId=" + deptId + "&doctorName=" + doctorName + "&doctorId=" + doctorId + "&from=2" + "&shijian=3" + "&startDateParam=" + startDateParam + "&endDateParam=" + endDateParam) }) //病历跳转 $(".goHomeDetailB").click(function () { let deptName = $(this).attr("data-dept") let deptC = $(this).attr("data-c") let deptIds = $(this).attr("dept-id") let doctorName = $(this).attr("dept-doc") let doctorId = $(this).attr("dept-docId") $(parent.document).find("#contentIframe").attr("src", "doctorQcListCopy.html?deptName=" + deptName + "&from=3" + "&shijian=3&chengdu=" + deptC + "&deptId=" + deptIds + "&doctorName=" + doctorName + "&doctorId=" + doctorId + "&startDateParam=" + startDateParam + "&endDateParam=" + endDateParam) }) } //科室下拉事件绑定 $('.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) }) //获取科室列表 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") 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() } $(".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) } }) } $(function () { $(".consoleD").on("click", function () { $(parent.document).find("#contentIframe").attr("src", "doctorQcAverageDetail.html?deptName=" + `${deptName == "全部" ? "全院" : deptName}` + "&deptId=" + deptId + "&shijian=3" + "&startDateParam=" + startDateParam + "&endDateParam=" + endDateParam) }) 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 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 = { "asc": data_asc, "desc": data_desc, "doctorName": doctorName || "", "doctorId": doctorNum || "", "deptName": deptName == "全院" ? "" : (deptName || ""), "deptId": deptId, /*"type": statisticsType||2,*/ //1-本月,2-本年 "startDate": startDateParam, "isPlacefile": isPlacefile, "endDate": endDateParam }; const url = hospital == '台州市立' ? api.exportDeptFlawsTz : api.exportDeptFlaws; expJson(api.doctorAverageStatisticsExport, param).then(res => { downloadExportedData(res.data, "医生质控平均分.xls") }) }) });