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 = `
    loading
    ` $("#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(); //初始查询 // }) }) });