123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644 |
- 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(`<img class="arrow" src=${iconDown} alt="下拉">`);
- /*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(
- `<a class="consoleD" href="console.html">控制台 / </a>31日再入院病人数`
- );
- }
- deptId = deptIdTemp = getUrlArgObjectNew('deptName', srcUrl) || '';
- if (deptId) {
- $('.selectDept')
- .html(deptId)
- .attr({
- 'data-id': deptId,
- title: deptId,
- })
- .append(`<img class="arrow" src=${iconDown} alt="下拉">`);
- 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(`<img class="arrow" src=${iconDown} alt="下拉">`);
- setDatePicker($('#datepicker'), $('#datepicker2'), 'default');
- $('.patientRecordInp').val('');
- $('.patientNameInp').val('');
- // $(".deptList").css("display", "none")
- $('.selectDept').append(`<img class="arrow" src=${iconDown} alt="下拉">`);
- $('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 += `
- <tr data-index=${i}>
- <td class="textCenter" rowspan="2">${Math.ceil(((activePage - 1) * 20 + i + 1) / 2)}</td>
- <td class="textCenter">${item.details[0].behospitalCode || '-'}</td>
- <td class="textCenter" rowspan="2">${item.fileCode || '-'}</td>
- <td class="textCenter patientNameSpan" data-id="${
- item.details[0].behospitalCode
- }" data-name="${item.details[1].name}" >${item.details[0].name || '-'}</td>
- <td class="textCenter" rowspan="2">${item.sex || '-'}</td>
- <td class="textCenter">${item.details[0].level || '-'}</td>
- <td class="textCenter">${item.details[0].scoreRes || '-'}</td>
- <td class="textCenter">${item.details[0].behDeptName || '-'}</td>
- <td class="textCenter" rowspan="2">${item.diagnose || '-'}</td>
- <td class="textCenter">${item.details[0].behospitalDate || '-'}</td>
- <td class="textCenter">${item.details[0].leaveHospitalDate || '-'}</td>
- <td class="textCenter">${item.details[0].behospitalDayNum || '-'}</td>
- <td class="textCenter">${item.details[0].totleFee || '-'}</td>
- <td class="textCenter" rowspan="2">${item.diffDays || '-'}</td>
- </tr>
- `;
- } else {
- str += `
- <tr data-index=${i} class="copy">
- <td class="textCenter delete"></td>
- <td class="textCenter">${item.details[1].behospitalCode || '-'}</td>
- <td class="textCenter delete">${item.fileCode || '-'}</td>
- <td class="textCenter patientNameSpan" data-id="${
- item.details[1].behospitalCode
- }" data-name="${item.details[1].name}">${item.details[1].name || '-'}</td>
- <td class="textCenter delete">${item.sex || '-'}</td>
- <td class="textCenter">${item.details[1].level || '-'}</td>
- <td class="textCenter">${item.details[1].scoreRes || '-'}</td>
- <td class="textCenter">${item.details[1].behDeptName || '-'}</td>
- <td class="textCenter delete">${item.diagnose || '-'}</td>
- <td class="textCenter">${item.details[1].behospitalDate || '-'}</td>
- <td class="textCenter">${item.details[1].leaveHospitalDate || '-'}</td>
- <td class="textCenter">${item.details[1].behospitalDayNum || '-'}</td>
- <td class="textCenter">${item.details[1].totleFee || '-'}</td>
- <td class="textCenter delete">${item.diffDays || '-'}</td>
- </tr>
- `;
- }
- }
- $('.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 = `<li class="modeTypeItem " data-id=" " data-name="全部">全部</li>`;
- for (let i = 0; i < moduleTypeList.length; i++) {
- str += `<li class="modeTypeItem ellipsis" title=${moduleTypeList[i].name} data-id=${moduleTypeList[i].doctorId} data-name=${moduleTypeList[i].name}> ${moduleTypeList[i].name}</li>`;
- }
- $('.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 += `<li class="deptItem ellipsis" title="${tmp.deptName}" data-id="${tmp.deptName}" data-name="${tmp.deptName}">${tmp.deptName}</li>`;
- }
- $('.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(`<img class="arrow" src=${iconDown} alt="下拉">`);
- $('.deptList').css('display', 'none');
- getmoduleTypeList('', deptItemId);
- });
- }
- function loading() {
- const str = `
- <div class="loadingBox">
- <div class="mask"></div>
- <img class="loadingImg" src=${loadingImg} alt="loading" />
- </div>
- `;
- $('#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 = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`;
- if (totalPage <= 6) {
- for (let i = 1; i <= totalPage; i++) {
- str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`;
- }
- } else {
- if (activePage <= 3) {
- //选中页数小于4
- for (let i = 1; i <= 4; i++) {
- str += `<span class="pageNum ${'page' + i}" data-page=${i}>${i}</span>`;
- }
- str += `<span class="more" >...</span>`;
- str += `<span class="pageNum ${'page' +
- totalPage}" data-page=${totalPage}>${totalPage}</span>`;
- } else if (activePage > totalPage - 3) {
- str += `<span class="pageNum page1" data-page=1>1</span>`;
- str += `<span class="more" >...</span>`;
- str += `<span class="pageNum ${'page' + (totalPage - 3)}" data-page=${totalPage -
- 3}>${totalPage - 3}</span>`;
- str += `<span class="pageNum ${'page' + (totalPage - 2)}" data-page=${totalPage -
- 2}>${totalPage - 2}</span>`;
- str += `<span class="pageNum ${'page' + (totalPage - 1)}" data-page=${totalPage -
- 1}>${totalPage - 1}</span>`;
- str += `<span class="pageNum ${'page' +
- totalPage}" data-page=${totalPage}>${totalPage}</span>`;
- } else {
- str += `<span class="pageNum page1" data-page=1>1</span>`;
- str += `<span class="more" >...</span>`;
- str += `<span class="pageNum ${'page' + (activePage - 1)}" data-page=${activePage -
- 1}>${activePage - 1}</span>`;
- str += `<span class="pageNum ${'page' +
- activePage}" data-page=${activePage}>${activePage}</span>`;
- str += `<span class="pageNum ${'page' + (activePage + 1)}" data-page=${activePage +
- 1}>${activePage + 1}</span>`;
- str += `<span class="more" >...</span>`;
- str += `<span class="pageNum ${'page' +
- totalPage}" data-page=${totalPage}>${totalPage}</span>`;
- }
- }
- str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`;
- $('.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(`<img class="iconCalen" src=${iconCalenGrey} />`);
- $('.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(); //初始查询
- // })
- });
- });
|