|
@@ -0,0 +1,425 @@
|
|
|
+const $ = require('jquery');
|
|
|
+require("../css/qcList.less");
|
|
|
+require('./modal.js');
|
|
|
+const {api} = require('./api.js')
|
|
|
+const {post} = 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 iconCalenBlue= require("./../images/icon_calen_blue.png")
|
|
|
+const iconCalenGrey= require("./../images/icon_calen_grey.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")
|
|
|
+
|
|
|
+$(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
|
|
|
+$(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
|
|
|
+let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,nameTemp = "", behospitalCodeTemp="",levelTemp=""
|
|
|
+
|
|
|
+$('.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()
|
|
|
+})
|
|
|
+function getTabData(activePage){
|
|
|
+ const param = {
|
|
|
+ current:activePage,
|
|
|
+ behospitalCode: behospitalCode,
|
|
|
+ name: name, //条目名
|
|
|
+ level:level,//病历等级
|
|
|
+ behosDateStart: behosDateStart, //1-单项否决 0-非
|
|
|
+ behosDateEnd: behosDateEnd, //0-未启用 1-启用
|
|
|
+ size: 15
|
|
|
+ }
|
|
|
+ post(api.qcListByPerson,param).then(res =>{
|
|
|
+ if(res.data.code == '0'){
|
|
|
+ tabList = res.data.data.records
|
|
|
+ const totalPage = res.data.data.pages
|
|
|
+ const totalNum = res.data.data.total
|
|
|
+ renderTab(tabList)
|
|
|
+ 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){
|
|
|
+ behosDateStart = $("#datepicker").val().trim()
|
|
|
+ behosDateEnd = $("#datepicker2").val().trim()
|
|
|
+ const start = new Date(behosDateStart).getTime()
|
|
|
+ const end = new Date(behosDateEnd).getTime()
|
|
|
+ if(start > end){
|
|
|
+ $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if(behosDateStart){
|
|
|
+ behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
|
|
|
+ }
|
|
|
+ if(behosDateEnd){
|
|
|
+ behosDateEnd = behosDateEnd.replace(/\//g,'-') + ' 23:59:59'
|
|
|
+ }
|
|
|
+ name = nameTemp
|
|
|
+ behospitalCode = behospitalCodeTemp
|
|
|
+ level = levelTemp
|
|
|
+ getTabData(1)
|
|
|
+})
|
|
|
+function renderTab(data){
|
|
|
+ let str = ``
|
|
|
+ let hasSelectAll = true
|
|
|
+ for(let i = 0; i < data.length; i++){
|
|
|
+ const item = data[i]
|
|
|
+ if(!item.hasSelect){
|
|
|
+ hasSelectAll = false
|
|
|
+ }
|
|
|
+ str += `
|
|
|
+ <tr data-index=${i}>
|
|
|
+ <td class="scoreOperaItem textCenter">${item.hasSelect ? `<img class="iconCheck" src=${iconCheck} />`:`<img class="iconCheck" src=${iconUnCheck} />`}</td>
|
|
|
+ <td class="recordScoreOperaBtn textCenter">评分</td>
|
|
|
+ <td >${item.behospitalCode || "-"}</td>
|
|
|
+ <td>${item.fileCode || "-"}</td>
|
|
|
+ <td class="textCenter"><span data-index=${i} class="patientNameSpan">${item.name || "-"}<span></td>
|
|
|
+ <td class="textCenter">${item.sex || "-"}</td>
|
|
|
+ <td class="textCenter">${item.age || "-"}</td>
|
|
|
+ <td class="textCenter">${item.bedCode || "-"}</td>
|
|
|
+ <td class="textCenter">${item.behospitalDate&&item.behospitalDate.slice(0,10) || "-"}</td>
|
|
|
+ <td class="textCenter">${item.leaveHospitalDate&&item.leaveHospitalDate.slice(0,10)|| "-"}</td>
|
|
|
+ <td class="textCenter">${item.doctorName || "-"}</td>
|
|
|
+ <td class="textCenter">${item.behDeptName || "-"}</td>
|
|
|
+ <td class="textCenter">${item.level || "-"}</td>
|
|
|
+ <td class="textCenter">${item.scoreRes || "-"}</td>
|
|
|
+ <td class="textCenter">${item.gradeTime&&item.gradeTime.slice(0,10) || "-"}</td>
|
|
|
+ </tr>
|
|
|
+ `
|
|
|
+ }
|
|
|
+ if(data.length === 0){
|
|
|
+ hasSelectAll = false
|
|
|
+ }
|
|
|
+ if(hasSelectAll){
|
|
|
+ $('.scoreOpera img').attr("src" ,iconCheck)
|
|
|
+ $('.scoreOpera').attr("data-selectall",true)
|
|
|
+ }else{
|
|
|
+ $('.scoreOpera img').attr("src" ,iconUnCheck)
|
|
|
+ $('.scoreOpera').attr("data-selectall",false)
|
|
|
+ }
|
|
|
+ $('tbody').html(str)
|
|
|
+ bindScoreOperaItem()
|
|
|
+ bindRecordScoreOper()
|
|
|
+ bindScoreDetail()
|
|
|
+}
|
|
|
+
|
|
|
+function scoreDetail(id,age){
|
|
|
+ window.open(`./qcScore.html?id=${id}&age=${age}`)
|
|
|
+}
|
|
|
+function bindScoreDetail(){
|
|
|
+ $('.patientNameSpan').on('click',function(e){
|
|
|
+ const index = $(this).attr("data-index")
|
|
|
+ const id = tabList[index].behospitalCode
|
|
|
+ const age = tabList[index].age
|
|
|
+ const noScore = tabList[index].level == '未评分'
|
|
|
+ if(noScore){
|
|
|
+ $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
|
|
|
+ return
|
|
|
+ } else{
|
|
|
+ scoreDetail(id,age)
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+//选择病历等级
|
|
|
+$('.selectLevel').on("click", function(e){
|
|
|
+ e.stopPropagation()
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+bindLeveldSelect()
|
|
|
+//是否启用选择
|
|
|
+function bindLeveldSelect(){
|
|
|
+ $('.levelItem').on("click",function(){
|
|
|
+ const levelItemName = $(this).attr("data-name")
|
|
|
+ const levelItemItemId = $(this).attr("data-id")
|
|
|
+ levelTemp =levelItemItemId
|
|
|
+ $('.selectLevel').html(levelItemName)
|
|
|
+ $(".levelList").css("display", "none")
|
|
|
+ $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+//全选绑定
|
|
|
+bindOperaAll()
|
|
|
+function bindScoreOperaItem(){
|
|
|
+ $(".scoreOperaItem").on("click", function(e){
|
|
|
+ const index = $(this).parent().attr("data-index")
|
|
|
+ tabList[index].hasSelect = tabList[index].hasSelect ? false:true
|
|
|
+ renderTab(tabList)
|
|
|
+ })
|
|
|
+}
|
|
|
+function bindRecordScoreOper(){
|
|
|
+ $(".recordScoreOperaBtn").on("click", function(e){
|
|
|
+ const index = $(this).parent().attr("data-index")
|
|
|
+ const behospitalCode = tabList[index].behospitalCode
|
|
|
+ loading()
|
|
|
+ recordScore(behospitalCode,1)
|
|
|
+ })
|
|
|
+}
|
|
|
+function bindOperaAll(){
|
|
|
+ $('.scoreOpera').on("click", function(e){
|
|
|
+ const hasSelectAll = $('.scoreOpera').attr("data-selectall")
|
|
|
+ if(hasSelectAll == 'true'){
|
|
|
+
|
|
|
+ for(let i = 0; i < tabList.length; i++){
|
|
|
+ tabList[i].hasSelect = false
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ for(let i = 0; i < tabList.length; i++){
|
|
|
+ tabList[i].hasSelect = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+ renderTab(tabList)
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+$('.selectDept').on("click", function(e){
|
|
|
+ e.stopPropagation()
|
|
|
+ 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)
|
|
|
+ }
|
|
|
+})
|
|
|
+//获取科室列表
|
|
|
+getDeptList()
|
|
|
+function getDeptList(){
|
|
|
+ post(api.getDeptListUser).then(res =>{
|
|
|
+ if(res.data.code == '0'){
|
|
|
+ console.log('aaaaaaaaaaa',res)
|
|
|
+ const deptList = res.data.data
|
|
|
+ rendeDeptList(deptList)
|
|
|
+ }else{}
|
|
|
+ }).catch((e) =>{
|
|
|
+
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+function rendeDeptList(deptList){
|
|
|
+ let str = `<li class="deptItem " data-id=" " data-name="全部">全部</li>`
|
|
|
+ for(let i = 0; i < deptList.length; i++){
|
|
|
+ str += `<li class="deptItem ellipsis" title=${deptList[i].name} data-id=${deptList[i].id} data-name=${deptList[i].name}> ${deptList[i].name}</li>`
|
|
|
+ }
|
|
|
+ $('.deptList').html(str)
|
|
|
+ bindDeptSelect()
|
|
|
+}
|
|
|
+//模块类型选择
|
|
|
+function bindDeptSelect(){
|
|
|
+ $('.deptItem').on("click",function(){
|
|
|
+ const deptItemName = $(this).attr("data-name")
|
|
|
+ const deptItemId = $(this).attr("data-id")
|
|
|
+ deptId =deptItemId
|
|
|
+ $('.selectDept').html(deptItemName)
|
|
|
+ $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
|
|
|
+
|
|
|
+ $(".deptList").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()
|
|
|
+}
|
|
|
+$('.recordScoreBtn').on("click",function(e){
|
|
|
+ let scoreList = []
|
|
|
+ for(let i = 0; i <tabList.length; i++){
|
|
|
+ if(tabList[i].hasSelect){
|
|
|
+ scoreList.push(tabList[i].behospitalCode)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(scoreList.length === 0){
|
|
|
+ $.alerModal({"message":'请选择要评分的项!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
|
|
|
+ return
|
|
|
+ } else{
|
|
|
+ loading()
|
|
|
+ for(let j = 0; j < scoreList.length; j++){
|
|
|
+ recordScore(scoreList[j],scoreList.length)
|
|
|
+ }
|
|
|
+ }
|
|
|
+})
|
|
|
+function recordScore(behospitalCode,totalNum){
|
|
|
+ const param = {
|
|
|
+ behospitalCode: behospitalCode
|
|
|
+ }
|
|
|
+ post(api.recordScore,param).then(res =>{
|
|
|
+ if(res.data.code == '0'){
|
|
|
+ scoreSum++
|
|
|
+ if(scoreSum === totalNum){
|
|
|
+ hideLoading()
|
|
|
+ scoreSum = 0
|
|
|
+ const activePage = $(".activePage").attr('data-page') || 1
|
|
|
+
|
|
|
+ getTabData(activePage)
|
|
|
+ }
|
|
|
+
|
|
|
+ }else{}
|
|
|
+ }).catch((e) =>{
|
|
|
+
|
|
|
+ })
|
|
|
+}
|
|
|
+$(".patientNumInp").on("input", function(e){
|
|
|
+ const val = $(this).val().trim()
|
|
|
+ behospitalCodeTemp = val
|
|
|
+})
|
|
|
+$(".patientNameInp").on("input", function(e){
|
|
|
+ const val = $(this).val().trim()
|
|
|
+ nameTemp = val
|
|
|
+})
|
|
|
+
|
|
|
+$(function() {
|
|
|
+ $.datepicker.regional['zh-CN'] = {
|
|
|
+ clearText: '清除',
|
|
|
+ clearStatus: '清除已选e799bee5baa6e59b9ee7ad9431333361303131日期',
|
|
|
+ closeText: '关闭',
|
|
|
+ closeStatus: '不改变当前选择',
|
|
|
+ prevText: '<上月',
|
|
|
+ prevStatus: '显示上月',
|
|
|
+ prevBigText: '<<',
|
|
|
+ prevBigStatus: '显示上一年',
|
|
|
+ nextText: '下月>',
|
|
|
+ nextStatus: '显示下月',
|
|
|
+ nextBigText: '>>',
|
|
|
+ nextBigStatus: '显示下一年',
|
|
|
+ currentText: '今天',
|
|
|
+ currentStatus: '显示本月',
|
|
|
+ monthNames: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
|
|
|
+ monthNamesShort: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
|
|
|
+ yearNamesShort: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
|
|
|
+ monthStatus: '选择月份',
|
|
|
+ yearStatus: '选择年份',
|
|
|
+ weekHeader: '周',
|
|
|
+ weekStatus: '年内周次',
|
|
|
+ dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
|
|
|
+ dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
|
|
|
+ dayNamesMin: ['日','一','二','三','四','五','六'],
|
|
|
+ dayStatus: '设置 DD 为一周起始',
|
|
|
+ dateStatus: '选择 m月 d日, DD',
|
|
|
+ dateFormat: 'yy-mm-dd',
|
|
|
+ firstDay: 1,
|
|
|
+ initStatus: '请选择日期',
|
|
|
+ isRTL: false};
|
|
|
+ $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
|
|
|
+
|
|
|
+ $( "#datepicker" ).datepicker({
|
|
|
+ changeMonth: true,
|
|
|
+ changeYear: true,
|
|
|
+ dateFormat:"yy/mm/dd"
|
|
|
+ });
|
|
|
+ $( "#datepicker2" ).datepicker({
|
|
|
+ changeMonth: true,
|
|
|
+ changeYear: true,
|
|
|
+ dateFormat:"yy/mm/dd"
|
|
|
+ });
|
|
|
+});
|
|
|
+
|
|
|
+//分页渲染
|
|
|
+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)
|
|
|
+ }
|
|
|
+ })
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+$(document).on("click", function(){
|
|
|
+ $(".levelList ").css("display", "none")
|
|
|
+ $(".selectLevel .arrow").attr("src",iconDown)
|
|
|
+
|
|
|
+})
|
|
|
+
|
|
|
+$((function($){
|
|
|
+})($));
|