123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606 |
- const $ = require('jquery');
- require('@less/dept/uncorrectedCopyDept.less');
- require('../modal.js');
- const { api } = require('@js/api.js');
- const {
- post,
- getCookie,
- getUrlArgObjectNew,
- emptyBox,
- setTitleTxt,
- explainTitle,
- setDatePicker,
- 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 = '',
- orderTitle = [],
- orderKey = [],
- orderList = [],
- deptId = '',
- deptIdTemp = '',
- behospitalCodeTemp = '',
- data_desc = '',
- data_asc = '',
- columns = [],
- isfirstRenderTitle = false,
- casesIdTemp = '',
- casesName = '';
- 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) || '';
- deptId = deptIdTemp = getUrlArgObjectNew('deptName', srcUrl) || '';
- $('.selectDept').append(`<img class="arrow" src=${iconDown} alt="下拉">`);
- /*if(lineType){
- $("th[code="+data_desc+"]").addClass("desc");
- }*/
- //setTitleTxt('',from) //导航栏面包屑
- let isPlacefile = getCookie('isPlacefile') || 1;
- setTitleList();
- listenScroll();
- let deptList = JSON.parse(getCookie('deptList')) || [];
- if (deptId) {
- $('.selectDept')
- .html(deptId)
- .attr({
- 'data-id': deptId,
- title: deptId,
- })
- .append(`<img class="arrow" src=${iconDown} alt="下拉">`);
- getDeptList();
- } else {
- getDeptList(1);
- }
- 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 (isPlacefile == 1) {
- $('.dateTime').html('出院时间:');
- $('.partTitle p span').html('终末病历稽查表');
- } else {
- $('.dateTime').html('入院时间:');
- $('.partTitle p span').html('运行病历稽查表');
- }
- if (!statisticsType) {
- setDatePicker($('#datepicker'), $('#datepicker2'), 'default');
- }
- $('.abnormalClear').click(function() {
- data_desc = '';
- data_asc = '';
- deptId = '';
- deptIdTemp = '';
- deptName = '';
- deptNameTemp = '';
- setDatePicker($('#datepicker'), $('#datepicker2'), 'default');
- $('.selectDept')
- .attr({ title: '全部', 'data-id': '' })
- .val('全部');
- $('.patientNumInp').val('');
- $('th[code]').removeClass('asc desc');
- //behospitalCode =behospitalCodeTemp= ""
- 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-KSZR-ZMBLJCS_XQ]')
- .addClass('active');
- function setTitleList() {
- $('.pagination').html('');
- $('.key-list tbody').html(emptyBox('努力加载中...', 26, 1));
- post(api.medicalCheckTitleKs, {}).then(res => {
- if (res.data.code == '0') {
- const data = res.data.data || [];
- getTabData(1);
- if (isfirstRenderTitle === false) {
- renderTabTitle(data);
- } //首次渲染渲染Table表头
- }
- });
- }
- 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,
- name: deptName == '全部' ? '' : deptName || '',
- deptName: deptIdTemp || '',
- doctorName: casesName == '全部' ? '' : casesName || '',
- doctorId: casesIdTemp || '',
- // "asc":data_asc, //升序
- // "desc":data_desc, //降序
- startDate: dateStatrt.replace(/\//g, '-'),
- endDate: dateEnd.replace(/\//g, '-'),
- isPlacefile: isPlacefile,
- };
- startDateParam = dateStatrt;
- endDateParam = dateEnd;
- $('.pagination').html('');
- $('.key-list tbody').html(emptyBox('努力加载中...', 26, 1));
- post(api.medicalCheckFormKs, param)
- .then(res => {
- if (res.data.code == '0') {
- const data = res.data.data || [];
- const totalPage = res.data.data.pages;
- const totalNum = res.data.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 => {});
- }
- $('.filter').on('click', function(e) {
- deptName = deptNameTemp;
- behospitalCode = behospitalCodeTemp;
- if (deptName == '') {
- $('.selectDept')
- .attr({ title: '全部', 'data-id': '' })
- .val('全部');
- }
- 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 str = '';
- // console.log(orderList)
- for (let i = 0; i < data.length; i++) {
- const item = data[i];
- // console.log(item,'=====================item');
- str += `
- <tr data-index=${i}>
- <td class="textCenter">${(activePage - 1) * 15 + i + 1}</td>`;
- for (var j = 0; j < orderTitle.length; j++) {
- let tmpKey = orderTitle[j];
- if (tmpKey == 'deptName' || tmpKey == 'doctorName') {
- str += `<td dept-id="${item.deptId || ''}" data-tid="${
- item[tmpKey.replace('name', 'id')]
- }" data-doc="${item.doctorName}" dept-name="${item.deptName || ''}" data-id="${item.numId ||
- ''}" data-name="${item[tmpKey] || ''}">${item[tmpKey.replace('name', 'num')] + '' ||
- '-'}</td>`;
- } else {
- str += `<td class="goHomeDetail" data-tid="${
- item[tmpKey.replace('name', 'id')]
- }" dept-id="${item.deptId || ''}" doc-id="${item.doctorId ||
- ''}" dept-name="${item.deptName || ''}" data-id="${item.numId || ''}" data-name="${item[
- tmpKey
- ] || ''}" data-doctor="${item.doctorName || ''}">${item[tmpKey.replace('name', 'num')] +
- '' || '-'}</td>`;
- }
- }
- str += `</tr>`;
- }
- $('.key-list tbody').html(str ? str : emptyBox());
- /*bindScoreDetail(hisId)*/
- // 跳转至详情页
- $('.goHomeDetail').click(function() {
- let casesName = $(this).attr('data-name') || '';
- let casesId = $(this).attr('data-tid');
- let name = $(this).attr('dept-name');
- // let docName=$(this).attr("data-doc");
- let doctorName = $(this).attr('data-doctor') || '';
- // let docName = $(this).attr('doc-name');
- let docId = $(this).attr('doc-id');
- name = name === '全院' ? '全部' : name;
- let id = $(this).attr('dept-id');
- $(parent.document)
- .find('#contentIframe')
- .attr(
- 'src',
- 'uccDeptDetail.html?from=4&deptName=' +
- deptIdTemp +
- '&deptId=' +
- id +
- '&casesEntryId=' +
- casesId +
- '&defectName=' +
- casesName +
- '&startDate=' +
- startDateParam +
- '&endDate=' +
- endDateParam +
- '&doctorName=' +
- doctorName +
- '&docId=' +
- docId +
- '&isInspection=true'
- );
- });
- // initScroll("partDetailControl","YX",1)
- }
- // 渲染table表头
- function renderTabTitle(data) {
- isfirstRenderTitle = true;
- let str = `<th class="moduleName" style="width: 65px;">序号</th>`;
- // data.sort(des)
- for (let i = 0; i < data.length; i++) {
- const item = data[i];
- if (item.isShow == 1) {
- str += `<th class="textCenter beHospitalId">${item.columnName}</th>`;
- orderList.push(item);
- }
- }
- // orderList.sort(des)
- // function des(a,b){
- // return a['orderNo']-b['orderNo']
- // }
- orderTitleLis(orderList);
- $('.tabTitle').html(str);
- // bindOrder()
- }
- function orderTitleLis(data) {
- for (let i = 0; i < data.length; i++) {
- let key = data[i].columnName;
- orderTitle.push(data[i].fieldName);
- orderKey.push(key);
- }
- }
- //科室处理
- function getDeptList(flg) {
- let str = ``;
- if (deptList.length <= 0) return;
- if (flg) {
- $('.partDetailControl .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>`;
- }
- $('.partDetailControl .filterDropList').html(str);
- getmoduleTypeList();
- getTabData(1);
- }
- 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);
- });
- }
- $('.selectDept').on('focus', function(e) {
- e.stopPropagation();
- $('.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);
- }
- });
- $('.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);
- });
- //全选绑定
- $('.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);
- }
- });
- //模块类型
- $('.selectModuleType').on('focus', function(e) {
- console.log(123);
- 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 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();
- }
- // 上升下降筛选
- function bindOrder() {
- $('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)
- }
- });
- }
- $(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();
- });
- $('.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;
- }
- const param = {
- name: deptName == '全部' ? '' : deptName || '',
- deptName: deptName == '全部' ? '' : deptName || '',
- doctorName: casesName == '全部' ? '' : casesName || '',
- doctorId: casesIdTemp || '',
- // asc:data_asc, //升序
- // desc:data_desc, //降序
- startDate: startDateParam.replace(/\//g, '-'),
- endDate: endDateParam.replace(/\//g, '-'),
- isPlacefile: isPlacefile,
- };
- expJson(api.medicalCheckExportByDept, param).then(res => {
- downloadExportedData(
- res.data,
- isPlacefile == 1 ? '终末病历稽查表.xls' : '运行病历稽查表.xls'
- );
- });
- // 初始渲染TableTitle
- // getPageSet().then(res =>{
- // $(".filter").click(); //初始查询
- // })
- });
- });
|