const $ = require('jquery'); require("../css/mukuai.less"); require('./../resource/jquery-ui/jquery-ui.min.js'); require('./modal.js'); const {api} = require('./api.js') const {post,getCookie,getUrlArgObjectNew,emptyBox,setDatePicker,getPickerDate,expJson,downloadExportedData,initScroll,listenScroll } = require('./utils.js') const switchIconOpen = require("./../images/btn_open.png") const switchIconClose = require("./../images/btn_close.png") const iconDown= require("./../images/arrow_down.png") const iconUp = require("./../images/arrow_up.png") const arrowLeft= require("./../images/arrow_left.png") const arrowRight = require("./../images/arrow_right.png") let isPlacefile = getCookie('isPlacefile')||1 let casesId="", name="", isReject ="", isUsed ="",casesName="",casesNameTemp="",casesIdTemp="", nameTemp="", isRejectTemp ="", isUsedTemp ="",from="",deptIdTemp="",deptItemId="",deptId="",data_asc=[], data_desc=['percent'],startDateParam="", endDateParam="" $(".selectReject").append(`下拉`) $(".selectDept").append(`下拉`) $(".selectUsed").append(`下拉`) let deptList = JSON.parse(localStorage.getItem('deptList')) || [] $(function(){ listenScroll('.mukuai') dateChange() let srcUrl = $("#contentIframe",parent.document).attr("src") // deptName = getUrlArgObjectNew("deptName",srcUrl)||"" isRejectTemp = isReject = getUrlArgObjectNew("dateType",srcUrl)||"" from = getUrlArgObjectNew("from",srcUrl)||"" name =nameTemp = getUrlArgObjectNew("name",srcUrl)||"" let startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||"" let endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||"" if(name){ $(".moduleItemInp").val(name) } $(".partTitle a").click(function(){ //初始菜单选中 $(".container",parent.document).addClass("console-cont"); focusMenuItem('YH-KZT') }) $(".abnormalClear").click(function(){ // window.location.reload() setDatePicker($("#datepicker"),$("#datepicker2"),"default") name=nameTemp = "" casesName=casesNameTemp = "" data_asc=[], data_desc=['percent'] $("th[code]").removeClass("asc desc").addClass("desc"); $(".moduleScore").addClass("desc") $(".patientNumInp").val("") $(".selectModuleType ").val("全部") getTabData(1) getmoduleTypeList() }) if(isReject == 1){ $(".monthYear .mon").css({ backgroundColor:'#00A1FF', color:'#fff' }).siblings().css({ color:'#00A1FF', backgroundColor:'#fff' }) setDatePicker($("#datepicker"),$("#datepicker2"),1) }else if(isReject == 2){ $(".monthYear .year").css({ backgroundColor:'#00A1FF', color:'#fff' }).siblings().css({ color:'#00A1FF', backgroundColor:'#fff' }) setDatePicker($("#datepicker"),$("#datepicker2"),2) } else if(isReject == 3){ setDatePicker($("#datepicker"),$("#datepicker2"),3,new Date(startDateParam),new Date(endDateParam)) }else{ setDatePicker($("#datepicker"),$("#datepicker2"),"default") } if(!isReject){ setDatePicker($("#datepicker"),$("#datepicker2"),"default") } getTabData(1)//条目缺陷 }) function focusMenuItem(code){ const ele = $(parent.document).find(".menu .page[code="+code+"]"); const parEle = ele.parents(".list-1"); if(!parEle.is(".list-1-show")){ parEle.click(); } //console.log($(parent.document).find(".menu .page[code='YH-ZKK-GMKQXZB_XQ']")) ele.click(); } bindDeptSelect() //科室选择 function bindDeptSelect(){ $(document).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) $(".selectDept").append(`下拉`) $(".deptList").css("display", "none") }) } //全选绑定 $('.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) } }) //科室处理 getDeptList() function getDeptList(){ let str = `` if(deptList.length<=0)return // $(".mukuai .selectDept ").attr("data-id",deptList[0].deptName).find("i").html(deptList[0].deptName) for(let i = 0;i < deptList.length;i++){ let tmp = deptList[i] str += `
  • ${tmp.deptName}
  • ` } $(".mukuai .filterDropList").html(str) } // YH-ZKK-GMKQXZB_XQ $(".menu .page", parent.document).removeClass("active") $(parent.document).find(".menu .page[code=YH-ZKK-GMKQXZB_XQ]").addClass("active") //判断有无某一权限 function hasData(data){ let lis = JSON.parse(getCookie("codeLis"))||[] if(lis.indexOf(data)>-1){//有权限 return true } return false; } //所有数据切换日期筛选 function dateChange(){ $(".monthYear .mon").click(function(){ $(this).css({ backgroundColor:'#00A1FF', color:'#fff' }).siblings().css({ color:'#00A1FF', backgroundColor:'#fff' }) isReject = 1 isRejectTemp = 1 setDatePicker($("#datepicker"),$("#datepicker2"),1) getTabData(1) }) $(".monthYear .year").click(function(){ $(this).css({ backgroundColor:'#00A1FF', color:'#fff' }).siblings().css({ color:'#00A1FF', backgroundColor:'#fff' }) isReject = 2 isRejectTemp = 2 setDatePicker($("#datepicker"),$("#datepicker2"),2) getTabData(1) }) } $("th[code]").on("click",function(e){ const code=$(this).attr("code"); if(data_asc[0]===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 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, type: 0, name: name, //条目名 deptName: deptId, //科室名 size: 15, casesName:casesName=='全部'?'':casesName, //模块Id asc:data_asc, //升序 desc: data_desc, //降序 "startDate":dateStatrt, "endDate":dateEnd } startDateParam=dateStatrt endDateParam=dateEnd $('.pagination').html("") $('.tbody').html(emptyBox('努力加载中...','',1)) post(from == 1?api.entryCountGroupByCasePage:api.entryCountGroupByCaseAndDeptPage,param).then(res =>{ if(res.data.code == '0'){ const data = res.data.data.records const totalPage = res.data.data.pages const totalNum = res.data.data.total renderTab(data,activePage) if(totalPage > 1){ renderPagination(totalPage,Number(activePage),totalNum) } else{ $('.pagination').html("") } }else{} }).catch((e) =>{}) } $(".moduleItemInp").on("input", function(e){ const val = $(this).val().trim() nameTemp = val }) $(".filter").on("click", function(e){ casesId=casesIdTemp, name=nameTemp, isReject =isRejectTemp, isUsed =isUsedTemp,deptId = deptIdTemp,casesName=casesNameTemp if(casesName == ""){ $(".selectModuleType").attr({'title':"全部",'data-id':''}).val("全部") } getTabData(1) }) $(".filterclear").on("click", function(e){ nameTemp = "" $(".moduleItemInp").val("") }) $('.selectReject').on("click", function(e){ e.stopPropagation() $(".moduleTypeList ").css("display", "none") $(".usedList ").css("display", "none") $(".selectUsed .arrow").attr("src",iconDown) const showList = $(".rejectList ").css("display") if(showList == "none" ||!showList){ $(".rejectList ").css("display","block") $(".selectUsed .arrow").attr("src",iconUp) }else{ $(".rejectList ").css("display", "none") $(".selectUsed .arrow").attr("src",iconDown) } }) $('.selectUsed').on("click", function(e){ e.stopPropagation() $(".moduleTypeList ").css("display", "none") $(".rejectList ").css("display","none") $(".selectReject .arrow").attr("src",iconDown) const showList = $(".usedList ").css("display") if(showList == "none" ||!showList){ $(".usedList ").css("display","block") $(".selectUsed .arrow").attr("src",iconUp) }else{ $(".usedList ").css("display", "none") $(".selectUsed .arrow").attr("src",iconDown) } }) // bindRejectSelect() // bindUsedSelect() // getmoduleTypeList() function renderTab(data,activePage){ let str = ``; const cls = hasData("FUNC000007")?"editItem":"editItemDis"; for(let i = 0; i < data.length; i++){ const item = data[i] str += ` ${(activePage-1)*15 + i+1} ${item.name} ${item.percentStr} ` } $('.tbody').html(str?str:emptyBox()) bindEdit(data,activePage) $(".goHomeDetail").click(function(){ let model = $(this).attr("data-model") focusMenuItem("YH-ZKK-TMQXZB_XQ"); // $(parent.document).find("#contentIframe").attr("src","quexianDetailControlHome.html?deptName="+deptName+"&from=1&casesId=243"+"&shijian="+statisticsType+"&ruleType="+ruleType) $(parent.document).find("#contentIframe").attr("src","./singleVeto.html?from=1&special=1&model="+model+"&shijian=3&startDateParam="+startDateParam+"&endDateParam="+endDateParam) }) // initScroll("mukuai","Y",1) } function bindEdit(data,activePage){ if(!hasData('FUNC000007')){ return } $('.editItem').click(function(e){ const index = $(this).parent().attr('data-index') editItem(data[index],activePage) }) } //修改 function editItem(item,activePage){ const itemCpoy = JSON.parse(JSON.stringify(item)) $('.pop-box').remove() $('.container').append('
    ') const str = `

    修改 关闭

    模块名称: ${itemCpoy.casesName}
    条目名称: ${itemCpoy.name}
    提示信息:
    分值:

    支持≥0的数字输入,最多保留小数点后1位~

    单项否决:${item.isReject == '1' ? ``:` `}
    启用:${item.isUsed == '1' ? ``:` `}
    保存
    ` $("#mainBox", parent.document).append(str) $("#mainBox .itemMsgBox .iconClose", parent.document).on("click", function(e){ $("#mainBox .itemMsgBox", parent.document).remove() }) $("#mainBox .itemMsgBox .itemTipMsg", parent.document).on("input", function(e){ const val = $(this).val().trim() itemCpoy.msg = val }) $("#mainBox .itemMsgBox .itemScore", parent.document).on("keypress", function(e){ return (/[0-9\.]/.test(String.fromCharCode(e.keyCode))) }) $("#mainBox .itemMsgBox .itemScore", parent.document).on("input", function(e){ const val = $(this).val() itemCpoy.score = val }) $("#mainBox .itemMsgBox .itemReject", parent.document).on("click", function(e){ itemCpoy.isReject = itemCpoy.isReject == 1 ? 0 : 1 $('#mainBox .itemMsgBox', parent.document).remove() editItem(itemCpoy,activePage) }) $("#mainBox .itemMsgBox .itemUsed", parent.document).on("click", function(e){ itemCpoy.isUsed = itemCpoy.isUsed == 1 ? 0 : 1 $('#mainBox .itemMsgBox', parent.document).remove() editItem(itemCpoy,activePage) }) $("#mainBox .itemMsgBox .confirmEdit", parent.document).on("click", function(){ var reg = new RegExp(/^\d+(\.\d)?$/); if(reg.test(itemCpoy.score)){ // console.log('itemCopy', itemCpoy) if(!itemCpoy.msg.trim()){ $.alerModal({"message":"提示信息不能为空~",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)}); return } saveEdit(itemCpoy,activePage) $("#mainBox .itemMsgBox .itemMsgInfoTips", parent.document).css("display","none") $('#mainBox .itemMsgBox', parent.document).remove() return }else{ $("#mainBox .itemMsgBox .itemMsgInfoTips", parent.document).css("display","block") return } }) } //保存修改 function saveEdit(item,activePage){ const param = { id: item.id, isReject: item.isReject, isUsed: item.isUsed, msg: item.msg, score: item.score } post(api.updataQcCasesEntry,param).then(res =>{ if(res.data.code == '0'){ // const data = res.data.data $.alerModal({"message":"修改成功",type:"tip",time:'1000',isFather: true,win: true, fatherWrapper: $("#mainBox", parent.document)}); getTabData(activePage) }else{ $.alerModal({"message":'修改失败,请重试~',type:"tip",time:'1000',isFather: true,win: 'default', fatherWrapper: $("#mainBox", parent.document)}); } }).catch((e) =>{ $.alerModal({"message":'修改失败,请重试~',type:"tip",time:'1000',isFather: true,win: 'default', fatherWrapper: $("#mainBox", parent.document)}); }) } $('.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) }) getmoduleTypeList() //获取模块类型 function getmoduleTypeList(val){ post(api.getQcCasesAll,{casesName:val=="全部"?"":val||""}).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") // deptNameTemp=deptItemName=="全部"?"":deptItemName; casesIdTemp =modeTypeItemId casesName=casesNameTemp = modeTypeItemName=="全部"?"":modeTypeItemName; $('.selectModuleType').val(modeTypeItemName).attr("title",modeTypeItemName) $(".moduleTypeList ").css("display", "none") }) } //单项否决选择 function bindRejectSelect(){ $('.rejectItem').on("click",function(){ const rejectItemName = $(this).attr("data-name") const rejectItemId = $(this).attr("data-id") isRejectTemp=rejectItemId $('.selectReject').html(rejectItemName) $(".rejectList ").css("display", "none") $(".selectReject").append(`下拉`) }) } //是否启用选择 function bindUsedSelect(){ $('.usedItem').on("click",function(){ const usedItemName = $(this).attr("data-name") const usedItemItemId = $(this).attr("data-id") isUsedTemp =usedItemItemId $('.selectUsed').html(usedItemName) $(".usedList").css("display", "none") $(".selectUsed").append(`下拉`) }) } //分页渲染 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) } }) } $(document).on("click", function(){ $(".rejectList ").css("display","none") $(".usedList ").css("display", "none") $(".selectReject .arrow").attr("src",iconDown) $(".selectUsed .arrow").attr("src",iconDown) }) $(function() { const iconCalenBlue= require("./../images/darkDate.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 } const param = { type: 0, name: name, //条目名 deptName: deptId, //科室名 asc:data_asc, //升序 casesName:casesName=='全部'?'':casesName, //模块Id desc: data_desc, //降序 "startDate":startDateParam, "endDate":endDateParam, "isPlacefile":isPlacefile } expJson(api.entryCountGroupByCaseExport,param).then(res =>{ downloadExportedData(res.data, "各模块缺陷占比.xls") }) }) });