const $ = require('jquery'); require("../css/singleVeto.less"); require('./../resource/jquery-ui/jquery-ui.min.js'); require('./modal.js'); const {api} = require('./api.js') const {post,getCookie,setCookie,getUrlArgObjectNew,emptyBox,focusMenuItem,setDatePicker,getPickerDate,downloadExportedData,expJson, 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 setCookie('excelName',"条目缺陷占比"); const currentPage=$(window.parent.document).find(".menu .page.active").attr("code"); let casesId="",data_desc=['num'],data_asc=[], name="", isReject ="",deptName="", isUsed ="",casesIdTemp="", nameTemp="", isRejectTemp ="",model='', isUsedTemp ="",from="",deptIdTemp="",deptItemId="",deptId="",isSingleReject="", isSingleRejectTemp="",casesName="",casesNameTemp="",paramObj={} let startDateParam='',endDateParam='',fromThree="",selectReject="",special=""; $(".selectModuleType").append(`下拉`) $(".selectReject").append(`下拉`) $(".selectUsed").append(`下拉`) $(".selectDept").append(`下拉`) let deptList = JSON.parse(localStorage.getItem('deptList')) || [] $(function(){ listenScroll('.singleVeto') dateChange() let srcUrl = $("#contentIframe",parent.document).attr("src") let deptNameParam = getUrlArgObjectNew("deptName",srcUrl)||"" isRejectTemp = isReject = getUrlArgObjectNew("shijian",srcUrl)||"" selectReject = getUrlArgObjectNew("selectReject",srcUrl)||"" from = getUrlArgObjectNew("from",srcUrl)||"" special = getUrlArgObjectNew("special",srcUrl)||"" name=nameTemp = getUrlArgObjectNew("qxName",srcUrl)||"" casesName =casesNameTemp = getUrlArgObjectNew("model",srcUrl)||"" startDateParam = getUrlArgObjectNew("startDateParam",srcUrl)||"" endDateParam = getUrlArgObjectNew("endDateParam",srcUrl)||"" fromThree = getUrlArgObjectNew("fromThree",srcUrl)||"" if(name){ $(".moduleItemInp").attr("title",name).val(name) selectReject=1 } if(casesName){ $(".selectModuleType").val(casesName).attr("title",casesName) } if(selectReject){ isSingleReject = isSingleRejectTemp = '1' $(".selectReject").html("是").append(`下拉`) } if(special){ $(".singleVeto .partTitle .pices span").html("条目缺陷占比") } // YH-ZKK-TMQXZB_XQ $(".menu .page", parent.document).removeClass("active") //默认时间设置 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{ if(startDateParam){ setDatePicker($("#datepicker"),$("#datepicker2"),3,new Date(startDateParam),new Date(endDateParam)) }else{ setDatePicker($("#datepicker"),$("#datepicker2"),"default") } } if(!isReject){ setDatePicker($("#datepicker"),$("#datepicker2"),"default") } if(from == 2){ getDeptList(deptNameParam,isReject) $(".typeFilterDept").css("display","inline-block") $(parent.document).find(".menu .page[code=YH-KSZR-TMQXZB_XQ]").addClass("active") $(".partTitle a").attr("href","deptConsole.html").html("控制台(科室) / ") $(".partTitle .pices span").html("条目缺陷占比") }else{ $(".typeFilterDept").css("display","none") $(parent.document).find(".menu .page[code=YH-ZKK-TMQXZB_XQ]").addClass("active") $(".partTitle a").attr("href","console.html").html("控制台 / ") $(".partTitle .pices span").html("条目缺陷占比") } if(from == 2&&fromThree == 3){ deptName = deptList[0]&&deptList[0].deptName||''; $(".selectDept").attr({'title':deptName,'data-id':''}).html(deptName).append(`下拉`) } $(".partTitle a").click(function(){ //初始菜单选中 $(".managerContainer").remove() if(from == 2){ focusMenuItem('YH-KZTKS') }else{ focusMenuItem('YH-KZT') } $(".container",parent.document).addClass("console-cont"); }) $(".abnormalClear").click(function(){ // window.location.reload() setDatePicker($("#datepicker"),$("#datepicker2"),"default") $(".selectModuleType").val("全部") $(".selectReject").html("全部") $(".selectReject").append(`下拉`) name = "" casesName=casesNameTemp="" deptName = deptList[0]&&deptList[0].deptName||''; $(".selectDept").attr({'title':deptName,'data-id':''}).html(deptName).append(`下拉`) casesId=casesIdTemp="" isSingleReject=isSingleRejectTemp="" $(".moduleItemInp").val("") getTabData(1) getmoduleTypeList() }) if(from!=2){ //避免重复调用,上面getDeptList内有调用 getmoduleTypeList() getTabData(1)//条目缺陷 } }) //科室相关 bindDeptSelect() function bindDeptSelect(){ $(document).on("click",'.deptItem',function(){ const deptItemName = $(this).attr("data-name")||'' const deptItemId = $(this).attr("data-id") deptName =deptNameTemp=deptItemName if(deptItemName.length > 10){ $('.selectDept').html(deptItemName.substring(0,8)+'...') }else{ $('.selectDept').html(deptItemName) } $('.selectDept ').attr({'title':deptItemName,'data-id':deptItemName}) $(".selectDept").append(`下拉`) getmoduleTypeList('',deptItemName) $(".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") console.log(showList=="none") if(showList == "none" ||!showList){ console.log($(".deptList")) $(".deptList").css("display","block") $(".selectDept .arrow").attr("src",iconUp) }else{ $(".deptList ").css("display", "none") $(".selectDept .arrow").attr("src",iconDown) } }) function getDeptList(dept,isReject){ let str = ``; if(deptList.length<=0){ getTabData(1); return } if(dept&&isReject==8){ deptName = deptNameTemp = dept $(".selectDept").attr({'title':deptName,'data-id':''}).html(deptName).append(`下拉`) }else{ deptName = deptNameTemp = deptList[0].deptName } $(".selectDept").attr("data-id",deptName).find("i").html(deptName) for(let i = 0;i < deptList.length;i++){ let tmp = deptList[i] str += `
  • ${tmp.deptName}
  • ` } getmoduleTypeList('',deptName) getTabData(1); $(".deptList").html(str) } $("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){ console.trace(11) 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 } startDateParam=dateStatrt endDateParam=dateEnd const param = { current:activePage, type: 0, casesId:casesId, //模块Id casesName:casesName=='全部'?'':casesName, //模块Id isReject:isSingleReject, //是否单项否决 name: name, //条目名 deptName: deptName, //科室名 size: 15, desc:data_desc, asc:data_asc, "startDate":dateStatrt, "endDate":dateEnd } paramObj = param $('.pagination').html("") $('.tbody').html(emptyBox('努力加载中...','',1)) post(from == 1?api.entryGroupByEntryInnerPage:api.entryGroupByEntryAndDeptInnerPage,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) =>{ }) } //所有数据切换日期筛选 function dateChange(){ $(".monthYear .mon").click(function(){ $(this).css({ backgroundColor:'#00A1FF', color:'#fff' }).siblings().css({ color:'#00A1FF', backgroundColor:'#fff' }) isRejectTemp = isReject = 1 setDatePicker($("#datepicker"),$("#datepicker2"),1) getTabData(1) }) $(".monthYear .year").click(function(){ $(this).css({ backgroundColor:'#00A1FF', color:'#fff' }).siblings().css({ color:'#00A1FF', backgroundColor:'#fff' }) isRejectTemp = isReject = 2 setDatePicker($("#datepicker"),$("#datepicker2"),2) getTabData(1) }) } //判断有无某一权限 function hasData(data){ let lis = JSON.parse(getCookie("codeLis"))||[] if(lis.indexOf(data)>-1){//有权限 return true } return false; } $(".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,isSingleReject = isSingleRejectTemp,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") $(".selectModuleType .arrow").attr("src",iconDown) $(".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() // getTabData(1) // 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.casesName||'-'} ${item.name||'-'} ${item.score+''||'-'} ${item.isReject == '1'?'是':'否'} ${item.num+''||'-'} ${item.percentStr||'-'} ` } $('.tbody').html(str?str:emptyBox()) bindEdit(data,activePage) goDetail(data) // initScroll("singleVeto","Y",1) } function goDetail(data){ $(".goDetail").click(function(){ const index = $(this).parent().attr("data-index") let defectName = $(this).attr("data-name") let defectId = $(this).parent().attr("data-id") let caseId = $(this).parent().attr("data-caseId") const item = data[index] if(from == 2){ $(parent.document).find("#contentIframe").attr("src",`./qcListCopyDept.html?defectName=${defectName}&casesId=${caseId} &defectId=${defectId}&startDate=${startDateParam}&endDate=${endDateParam}&from=2&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`) }else{ $(parent.document).find("#contentIframe").attr("src",`./qcListCopy.html?defectName=${defectName}&casesId=${caseId} &defectId=${defectId}&startDate=${startDateParam}&endDate=${endDateParam}&from=${from}&isSingleReject=${item.isReject}&deptName=${deptName}&deptId=${deptName}`) } }) } 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{} }).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") casesIdTemp =modeTypeItemId casesName=casesNameTemp = modeTypeItemName $('.selectModuleType').val(modeTypeItemName).attr("title",modeTypeItemName) $(".moduleTypeList ").css("display", "none") }) } bindRejectSelect() //单项否决选择 function bindRejectSelect(){ $('.rejectItem').on("click",function(){ const rejectItemName = $(this).attr("data-name") const rejectItemId = $(this).attr("data-id") isSingleReject=isSingleRejectTemp=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(){ $(".deptList ").css("display", "none") $(".selectDept .arrow").attr("src",iconDown) $(".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() }) $('.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 = { type: 0, casesId:casesId, //模块Id isPlacefile:isPlacefile, casesName:casesName=='全部'?'':casesName, //模块Id isReject:isSingleReject, //是否单项否决 name: name, //条目名 deptName: deptName, //科室名 "startDate":startDateParam, "endDate":endDateParam }; expJson(from==2?api.entryGroupExportByDeptEntry:api.exportItemFlaw,param).then(res =>{ downloadExportedData(res.data,"条目缺陷占比.xls") }) }) });