const $ = require('jquery');
require("../css/uncorrectedCasesStatistics.less");
require('./modal.js');
const { api } = require('./api.js')
const { post, getCookie, getUrlArgObjectNew, emptyBox, setTitleTxt, setDatePicker, getPickerDate, expJson, downloadExportedData, 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")
let deptName = "", behospitalCode = "", deptNameTemp = "", deptId = '', deptIdTemp = '', behospitalCodeTemp = "", data_desc = "", data_asc = "", columns = [], isfirstRenderTitle = false;
let srcUrl = $("#contentIframe", parent.document).attr("src")
statisticsType = getUrlArgObjectNew("dateType", srcUrl) || "";
from = getUrlArgObjectNew("from", srcUrl) || ""
lineType = getUrlArgObjectNew("lineType", srcUrl) || ""
let startDateParam = getUrlArgObjectNew("startDateParam", srcUrl) || ""
let endDateParam = getUrlArgObjectNew("endDateParam", srcUrl) || ""
/*if(lineType){
$("th[code="+data_desc+"]").addClass("desc");
}*/
//setTitleTxt('',from) //导航栏面包屑
let isPlacefile = getCookie('isPlacefile') || 1
let tableType = 1;
let timelinessId = "3241";
let globaltableData = [];
listenScroll()
if (statisticsType == 1) {
setDatePicker($("#datepicker"), $("#datepicker2"), 1)
} else if (statisticsType == 2) {
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 () {
data_desc = "";
data_asc = "";
deptId = "";
deptIdTemp = "";
deptName = "";
deptNameTemp = "";
casesEntryId = "";
setDatePicker($("#datepicker"), $("#datepicker2"), "default")
$(".selectDept").attr({ 'title': "", 'data-id': '' }).val("")
$('.patientNumInp').val('')
$("th[code]").removeClass("asc desc")
//behospitalCode =behospitalCodeTemp= ""
getDeptList()
getTabData(1)
})
$(".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-SXXXGTJ_GLY]").addClass("active")
//判断有无某一权限
/*function hasData(data){
let trdObj = JSON.parse(getCookie("trdObj"))
let lis = trdObj['YH-BLZK-ZKPF']
if(!lis){
return false
}
if(lis.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: 1,
// size: 15,
"deptName": deptName == "全部" ? "" : deptName || "",
"name": deptName == "全部" ? "" : deptName || "",
"asc": data_asc, //升序
"desc": data_desc, //降序
//"type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
"startDate": dateStatrt.replace(/\//g, '-'),
"endDate": dateEnd.replace(/\//g, '-'),
"casesEntryId": timelinessId,
}
startDateParam = dateStatrt
endDateParam = dateEnd
$('.pagination').html("")
$('.key-list tbody').html(emptyBox('努力加载中...', '', 1))
let url
if (tableType === 1) {
url = api.getDeptA
} else {
url = api.getDeptB
}
post(url, param).then(res => {
if (res.data.code == '0') {
globaltableData = res.data.data || [];
globaltableData.data.sort((a, b) => new Date(b.behospitalDate) - new Date(a.behospitalDate));
renderTabTitle(globaltableData)
renderTab(globaltableData, globaltableData.hospitalId, activePage);
// if (isfirstRenderTitle === false) { renderTabTitle(data) } //首次渲染渲染Table表头
// globaltableData = data;
// renderTab(data, 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)
$(".filter").on("click", function (e) {
deptName = deptNameTemp;
behospitalCode = behospitalCodeTemp;
if (deptName == "") {
$(".selectDept").attr({ 'title': "入院记录未在患者入院24小时内完成(杭州七院标准版)", 'data-id': '' }).val("入院记录未在患者入院24小时内完成(杭州七院标准版)")
}
getTabData(1)
})
// // 处理th tr数据
function formatTableData(data) {
let newColumns = data.filter(function (item, index) {
if (item.isShow === 1) {
return item
}
})
return newColumns
}
function renderTab(data, hisId, activePage) {
let formatColumns = formatTableData(data.columns)
data = data.data;
// console.log("renderTab", data);
let str = ``
for (let i = 0; i < data.length; i++) {
const item = data[i];
if (tableType === 1) {
str += `
${(activePage - 1) * 15 + i + 1} |
${item.behospitalCode || "-"} |
${item.name || "-"} |
${item.sex || "-"} |
${item.fileCode || "-"} |
${item.doctorName || "-"} |
${item.behDeptName || "-"} |
${item.ruleName || "-"} |
${item.behospitalDate || "-"} |
${item.behospitalGmtCreate || "-"} |
${item.isPlacefile || "-"} |
`}
else {
str += `
${(activePage - 1) * 15 + i + 1} |
${item.behospitalCode || "-"} |
${item.name || "-"} |
${item.sex || "-"} |
${item.fileCode || "-"} |
${item.doctorName || "-"} |
${item.behDeptName || "-"} |
${item.ruleName || "-"} |
${item.remark || "-"} |
${item.behospitalDate || "-"} |
${item.isPlacefile || "-"} |
`
}
}
$('.key-list tbody').html(str ? str : emptyBox())
/*bindScoreDetail(hisId)*/
// 跳转至详情页
$(".goHomeDetail").click(function () {
let casesName = $(this).attr("data-name") || '';
let casesId = $(this).attr("data-id");
let name = $(this).attr("dept-name");
name = name === "全院" ? "全部" : name;
let id = $(this).attr("dept-id");
$(parent.document).find("#contentIframe").attr("src", "uccDetail.html?from=3&deptName=" + name + "&deptId=" + id + "&casesEntryId=" + casesId + "&defectName=" + casesName + "&startDate=" + startDateParam + "&endDate=" + endDateParam)
})
// initScroll("partDetailControl","YX",1)
}
$('.selectDept').on("focus", function (e) {
e.stopPropagation()
// let val = $(this).val().trim()
// deptName = deptNameTemp = val
// val&&getDeptList(val)
$(".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.getTimelinessList, { inputStr: val == "首次病程未在患者入院8小时内完成(杭州七院标准版)" ? "" : val || "" }).then(res => {
if (res.data.code == '0') {
const deptList = res.data.data || []
// console.log("111111111", deptList);
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].timelinessName}`
}
$('.deptList').html(str)
bindDeptSelect()
}
//科室选择
function bindDeptSelect() {
$('.deptItem').on("mousedown", function () {
let index = $(this).index()
if (index > 3) {
tableType = 2
} else {
tableType = 1
}
timelinessId = $(this).attr("data-id")
// console.log(timelinessId);
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')
// console.log("index", index);
})
}
//获取页面配置
// function getPageSet(){
// 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 = {
// "name": deptName,
// "asc":data_asc, //升序
// "desc":data_desc, //降序
// "startDate":dateStatrt.replace(/\//g,'-'),
// "endDate":dateEnd.replace(/\//g,'-')
// }
// startDateParam = dateStatrt
// endDateParam = dateEnd
// post(api.unModifyMRStatistics,param).then(res =>{
// if(res.data.code == '0'){
// const data = res.data.data||[];
// renderTabTitle(data) //渲染Table表头
// }else{
// $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
// }
// }).catch((e) =>{
// })
// }
// getPageSet()
// 渲染table表头
function renderTabTitle(data) {
isfirstRenderTitle = true
data = data.columns;
// console.log(data, 'data');
// console.log(data,'1111111');
let str = `
序号 | `
for (let i = 0; i < data.length; i++) {
const item = data[i]
if (item.isShow == 1) {
// showNum++
// str += `${item.name} | `
str += `${item.columnName} | `
}
}
$(".tabTitle").html(str)
bindOrder()
}
function loading() {
const str = `
`
$("#mainBox", parent.document).append(str)
}
function hideLoading() {
$("#mainBox .loadingBox", parent.document).remove()
}
// 上升下降筛选
function bindOrder() {
$("th[code]").off("click").on("click", function (e) {
const code = $(this).attr("code");
console.log(code, 'code');
let type
if (data_asc == code) {
data_desc = code;
data_asc = "";
$("th[code]").removeClass("asc desc");
$(this).addClass("desc");
type = "desc"
} else {
data_desc = "";
data_asc = code;
$("th[code]").removeClass("asc desc");
$(this).addClass("asc");
type = "asc"
}
// getTabData(1);
console.log("数据", globaltableData);
switch (code) {
case "病人住院序号":
// tableSort("patientId",type)
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return new Number(a.behospitalCode) - new Number(b.behospitalCode)
} else {
return new Number(b.behospitalCode) - new Number(a.behospitalCode)
}
})
break
case "病人姓名":
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return a.name.localeCompare(b.name)
} else {
return b.name.localeCompare(a.name)
}
})
break
case "性别":
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return a.sex.localeCompare(b.sex)
} else {
return b.sex.localeCompare(a.sex)
}
})
break
case "病案号":
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return new Number(a.fileCode) - new Number(b.fileCode)
} else {
return new Number(b.fileCode) - new Number(a.fileCode)
}
})
break
case "主管医生":
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return a.doctorName.localeCompare(b.doctorName)
} else {
return b.doctorName.localeCompare(a.doctorName)
}
})
break
case "住院科室":
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return a.behDeptName.localeCompare(b.behDeptName)
} else {
return b.behDeptName.localeCompare(a.behDeptName)
}
})
break
case "规则名称":
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return a.ruleName.localeCompare(b.ruleName)
} else {
return b.ruleName.localeCompare(a.ruleName)
}
})
break
case "入院日期":
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return new Date(a.behospitalDate) - new Date(b.behospitalDate)
} else {
return new Date(b.behospitalDate) - new Date(a.behospitalDate)
}
})
break
case "首次病程创建时间":
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return new Date(a.behospitalGmtCreate) - new Date(b.behospitalGmtCreate)
} else {
return new Date(b.behospitalGmtCreate) - new Date(a.behospitalGmtCreate)
}
})
break
case "是否归档":
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return new Number(a.isPlacefile) - new Number(b.isPlacefile)
} else {
return new Number(b.isPlacefile) - new Number(a.isPlacefile)
}
})
break
case "备注":
globaltableData.data.sort((a, b) => {
if (type === "asc") {
return a.remark.localeCompare(b.remark)
} else {
return b.remark.localeCompare(a.remark)
}
})
default:
return
}
renderTab(globaltableData, globaltableData.hospitalId, 1);
});
}
//分页渲染
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)
}
})
}
$(".patientNumInp").on("input", function (e) {
const val = $(this).val().trim()
deptName = val
})
$(function () {
const iconCalenBlue = require("./../images/icon_calen_blue.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
}
let limitTime= 3 * 30 * 24 * 60 * 60 * 1000;
const param = {
//"type": 0, //1-本月,2-本年,0-自定义时间(现在所有都是自定义时间,都会传开始日期和结束日期)
"startDate": start,
"endDate": end
}
if(start-end {
downloadExportedData(res.data, "时效性相关统计管理员.xls")
})
}
// 初始渲染TableTitle
// getPageSet().then(res =>{
// $(".filter").click(); //初始查询
// })
})
});