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 = `
`
$("#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")
})
})
});