const $ = require('jquery');
require('@less/dept/readmissionDept.less');
require('../modal.js');
const { api } = require('@js/api.js');
const {
post,
getCookie,
getUrlArgObjectNew,
emptyBox,
setTitleTxt,
setDatePicker,
// focusMenuItem,
getPickerDate,
expJson,
downloadExportedData,
initScroll,
listenScroll,
} = require('@js/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 = '',
deptRecord = '',
patientName = '';
casesIdTemp = '';
casesName = '';
let deptList = JSON.parse(getCookie('deptList')) || [];
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) || '';
$('.selectDept').append(`
`);
/*if(lineType){
$("th[code="+data_desc+"]").addClass("desc");
}*/
//setTitleTxt('',from) //导航栏面包屑
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');
}
let isPlacefile = getCookie('isPlacefile') || 1;
if (from == 2) {
} else if (from == 3) {
} else {
$('.partTitle .titlePic ').html(
`控制台 / 31日再入院病人数`
);
}
deptId = deptIdTemp = getUrlArgObjectNew('deptName', srcUrl) || '';
if (deptId) {
$('.selectDept')
.html(deptId)
.attr({
'data-id': deptId,
title: deptId,
})
.append(`
`);
getDeptList();
} else {
getDeptList(1);
}
if (!statisticsType) {
setDatePicker($('#datepicker'), $('#datepicker2'), 'default');
}
$('.abnormalClear').click(function() {
data_desc = '';
data_asc = '';
deptId = '';
deptIdTemp = '';
deptName = '';
deptNameTemp = '';
patientName = '';
deptRecord = '';
deptId = deptIdTemp = deptList[0] && deptList[0].deptName;
behospitalCode = behospitalCodeTemp = '';
$('.patientNumInp').val('');
$('.selectDept')
.html(deptId)
.attr({
'data-id': deptId,
title: deptId,
})
.append(`
`);
setDatePicker($('#datepicker'), $('#datepicker2'), 'default');
$('.patientRecordInp').val('');
$('.patientNameInp').val('');
// $(".deptList").css("display", "none")
$('.selectDept').append(`
`);
$('th[code]').removeClass('asc desc');
//behospitalCode =behospitalCodeTemp= ""
getmoduleTypeList();
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');
const ele = $(parent.document).find('.menu .page[code=YH-KSZR-31TZRYRS_XQ]');
ele.addClass('active');
// const parEle = ele.parents(".list-1");
// if (!parEle.is(".list-1-show")) {
// parEle.click();
// }
setTimeout(function() {
$('.menuList', parent.document).scrollTop(768);
}, 300);
//判断有无某一权限
/*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: activePage,
size: 10,
name: patientName,
fileCode: deptRecord,
startDate: dateStatrt.replace(/\//g, '-'),
endDate: dateEnd.replace(/\//g, '-'),
deptName: deptIdTemp || '',
};
startDateParam = dateStatrt;
endDateParam = dateEnd;
$('.pagination').html('');
$('.tbody').html(emptyBox('努力加载中...', '', 1));
// return;
post(api.reHos31DaysPageByDept, param)
.then(res => {
console.log(res, '返回的数据');
if (res.data.code == '0') {
const data = res.data.data || [];
const totalPage = data.pages;
const totalNum = data.total;
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;
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) {
data = data.records;
let newData = [];
for (var i = 0; i < data.length; i++) {
let dataCopy = { copy: true, ...data[i] };
newData = [...newData, data[i], dataCopy];
}
let str = ``;
for (let i = 0; i < newData.length; i++) {
const item = newData[i];
if (!item.copy) {
str += `
${Math.ceil(((activePage - 1) * 20 + i + 1) / 2)} |
${item.details[0].behospitalCode || '-'} |
${item.fileCode || '-'} |
${item.details[0].name || '-'} |
${item.sex || '-'} |
${item.details[0].level || '-'} |
${item.details[0].scoreRes || '-'} |
${item.details[0].behDeptName || '-'} |
${item.diagnose || '-'} |
${item.details[0].behospitalDate || '-'} |
${item.details[0].leaveHospitalDate || '-'} |
${item.details[0].behospitalDayNum || '-'} |
${item.details[0].totleFee || '-'} |
${item.diffDays || '-'} |
`;
} else {
str += `
|
${item.details[1].behospitalCode || '-'} |
${item.fileCode || '-'} |
${item.details[1].name || '-'} |
${item.sex || '-'} |
${item.details[1].level || '-'} |
${item.details[1].scoreRes || '-'} |
${item.details[1].behDeptName || '-'} |
${item.diagnose || '-'} |
${item.details[1].behospitalDate || '-'} |
${item.details[1].leaveHospitalDate || '-'} |
${item.details[1].behospitalDayNum || '-'} |
${item.details[1].totleFee || '-'} |
${item.diffDays || '-'} |
`;
}
}
$('.tbody').html(str ? str : emptyBox());
$('.tbody .copy .delete').hide();
/*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',
'uccDeptDetail.html?from=3&deptName=' +
deptIdTemp +
'&deptId=' +
id +
'&casesEntryId=' +
casesId +
'&defectName=' +
casesName +
'&startDate=' +
startDateParam +
'&endDate=' +
endDateParam
);
});
bindScoreDetail(hisId);
// initScroll("partDetailControl","YX",1)
}
function scoreDetail(id, age, hid, code, name) {
window.open(
`./qcScore.html?id=${id}&age=${age}&name=${name}&hid=${getCookie('hospitalid')}&code=${code}`
);
}
// 跳转至病人详情
function bindScoreDetail(hisId) {
$('.patientNameSpan').on('click', function(e) {
const id = $(this).attr('data-id');
const age = '';
const noScore = '';
const checkStatus = '';
const name = $(this).attr('data-name');
if (noScore) {
$.alerModal({
message: '请先进行评分!',
type: 'tip',
time: '1000',
isFather: true,
fatherWrapper: $('#mainBox', parent.document),
});
return;
} else {
// scoreDetail(id,age,hisId,'YH-BLZK-ZKPF',tabList[index].name)
scoreDetail(id, age, hisId, 'YH-BLZK-ZKPF', name);
}
});
}
//模块类型
$('.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);
});
//获取模块类型
function getmoduleTypeList(val, dept) {
post(api.getListDoctor, { inputStr: val == '全部' ? '' : val || '', deptName: dept || deptId })
.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');
casesIdTemp = modeTypeItemId;
casesName = casesNameTemp = modeTypeItemName == '全部' ? '' : modeTypeItemName;
$('.selectModuleType')
.val(modeTypeItemName)
.attr('title', modeTypeItemName);
$('.moduleTypeList ').css('display', 'none');
});
}
//科室处理
function getDeptList(flg) {
let str = ``;
if (deptList.length <= 0) return;
if (flg) {
$('.qcListCopy .selectDept ')
.attr('data-id', deptList[0].deptName)
.find('i')
.html(deptList[0].deptName);
deptId = deptIdTemp = deptList[0].deptName;
}
for (let i = 0; i < deptList.length; i++) {
let tmp = deptList[i];
str += `${tmp.deptName}`;
}
$('.qcListCopy .filterDropList').html(str);
getmoduleTypeList();
getTabData(1);
}
//选择病历等级
$('.selectLevel').on('click', function(e) {
e.stopPropagation();
$('.deptList ').css('display', 'none');
$('.selectDept .arrow').attr('src', iconDown);
const showList = $('.levelList ').css('display');
if (showList == 'none' || !showList) {
$('.levelList ').css('display', 'block');
$('.selectLevel .arrow').attr('src', iconUp);
} else {
$('.levelList ').css('display', 'none');
$('.selectLevel .arrow').attr('src', iconDown);
}
});
//全选绑定
$('.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);
}
});
bindDeptSelect();
//科室选择
function bindDeptSelect() {
$('body').on('click', '.deptItem', function() {
const deptItemName = $(this).attr('data-name');
const deptItemId = $(this).attr('data-id');
deptIdTemp = deptItemId;
if (deptItemName.length > 10) {
$('.selectDept').html(deptItemName.substring(0, 8) + '...');
} else {
$('.selectDept').html(deptItemName);
}
$('.selectDept ').attr({ title: deptItemName, 'data-id': deptItemName });
$('.selectDept').append(`
`);
$('.deptList').css('display', 'none');
getmoduleTypeList('', deptItemId);
});
}
function loading() {
const str = `
`;
$('#mainBox', parent.document).append(str);
}
function hideLoading() {
$('#mainBox .loadingBox', parent.document).remove();
}
$(document).on('click', function() {
$('.deptList').css('display', 'none');
$('.selectDept .arrow').attr('src', iconDown);
});
// 上升下降筛选
$('th[code]')
.off('click')
.on('click', function(e) {
const code = $(this).attr('code');
if (data_asc == 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);
});
//分页渲染
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;
});
// 获取病人姓名 patientRecordInp
$('.patientNameInp').on('input', function(e) {
const val = $(this)
.val()
.trim();
patientName = val;
});
// 获取病案号 patientRecordInp
$('.patientRecordInp').on('input', function(e) {
const val = $(this)
.val()
.trim();
deptRecord = 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();
});
$('.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 = {
name: patientName,
isPlacefile: isPlacefile,
fileCode: deptRecord,
startDate: startDateParam.replace(/\//g, '-'),
endDate: endDateParam.replace(/\//g, '-'),
deptName: deptId || '',
};
expJson(api.reHos31DaysPageExportByDept, param).then(res => {
downloadExportedData(res.data, '31天再入院人数.xls');
});
// 初始渲染TableTitle
// getPageSet().then(res =>{
// $(".filter").click(); //初始查询
// })
});
});