qcListCopy.js 45 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171
  1. const $ = require('jquery');
  2. require("../css/qcListCopy.less");
  3. require('./modal.js');
  4. const {api} = require('./api.js')
  5. const {post,getCookie,getUrlArgObjectNew,emptyBox,downloadExportedData,expJson,initScroll,focusMenuItem} = require('./utils.js')
  6. require('./../resource/jquery-ui/jquery-ui.min.js');
  7. require('./../resource/jquery-ui/jquery-ui.min.css');
  8. const iconCheck= require("./../images/icon_check.png")
  9. const iconUnCheck = require("./../images/icon_unchecked.png")
  10. const iconCalenBlue= require("./../images/icon_calen_blue.png")
  11. const iconCalenGrey= require("./../images/icon_calen_grey.png")
  12. const iconDown= require("./../images/arrow_down.png")
  13. const iconUp = require("./../images/arrow_up.png")
  14. const loadingImg = require("./../images/loading.gif")
  15. const arrowLeft= require("./../images/arrow_left.png")
  16. const arrowRight = require("./../images/arrow_right.png")
  17. const goUpG= require("./../images/arrow_up_grey.png")
  18. const goUpB = require("./../images/arrow_up_blue.png")
  19. const goDownG= require("./../images/arrow_down_grey.png")
  20. const goDownB = require("./../images/arrow_down_blue.png")
  21. let pageSet = [],pageSetCopy = [], showNum = 0, scrollTop=0;
  22. let srcUrl = $("#contentIframe",parent.document).attr("src")
  23. let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || "3"
  24. let chengdu = getUrlArgObjectNew("chengdu",srcUrl)||""
  25. let deptIdPram = getUrlArgObjectNew("deptId",srcUrl)||""
  26. let deptNamePram = getUrlArgObjectNew("deptName",srcUrl)||""
  27. let docName = getUrlArgObjectNew("docName",srcUrl)||""
  28. let startDateParam = getUrlArgObjectNew("startDate",srcUrl)||""
  29. let endDateParam = getUrlArgObjectNew("endDate",srcUrl)||""
  30. let from = getUrlArgObjectNew("from",srcUrl)||""
  31. let defectName = getUrlArgObjectNew("defectName",srcUrl)||"";
  32. let casesEntryId = getUrlArgObjectNew("defectId",srcUrl)|| "";
  33. let casesId = getUrlArgObjectNew("casesId",srcUrl)|| "";
  34. let ruleType = getUrlArgObjectNew("ruleType",srcUrl)||""
  35. let isSingleReject = getUrlArgObjectNew("isSingleReject",srcUrl)||""
  36. let deptListDept = JSON.parse(getCookie("deptList"))||[]
  37. let currentPage;
  38. $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  39. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  40. $(".fpSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  41. $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  42. let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,
  43. nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="", doctorName="", deptName="", deptNameTemp="",doctorNum="",doctorNameTemp="",doctorNumTemp="",
  44. fpCheckStatus="",fpCheckStatusTemp="",fpCheckName="",fpCheckNameTemp="",qcCheckName="",qcCheckNameTemp="",qcCheckStatus="",qcCheckStatusTemp="",fpCheckDateStart="",fpCheckDateEnd="",
  45. qcCheckDateStart="",qcCheckDateEnd="",
  46. data_desc=["leaveHospitalDate"],data_asc=[];
  47. if(chengdu){
  48. levelTemp = chengdu
  49. level = chengdu
  50. $('.selectLevel').html(chengdu)
  51. $(".levelList").css("display", "none")
  52. $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  53. }
  54. if(defectName){
  55. casesEntryName=defectName
  56. $('.selectDefect').html(casesEntryName)
  57. }
  58. if(docName){
  59. doctorNameTemp = docName
  60. doctorName = docName
  61. $('.doctorInp').val(docName)
  62. }
  63. if(deptIdPram&&deptNamePram){
  64. if(deptNamePram == "全院"){
  65. deptNamePram = "全部"
  66. }
  67. deptIdTemp = deptIdPram = deptIdPram
  68. deptName = deptNameTemp = deptNamePram
  69. if(deptNamePram.length > 10){
  70. $('.selectDept').html(deptNamePram.substring(0,8)+'...')
  71. }else{
  72. $('.selectDept').html(deptNamePram)
  73. }
  74. $('.selectDept ').attr('title',deptNamePram)
  75. $(".deptList").css("display", "none")
  76. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  77. }
  78. if(from==2){
  79. $(".export").css('display','none')
  80. $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
  81. deptId=deptListDept[0]&&deptListDept[0].deptId;
  82. deptName=deptListDept[0]&&deptListDept[0].deptName;
  83. deptNameTemp=deptListDept[0]&&deptListDept[0].deptName;
  84. deptIdTemp=deptListDept[0]&&deptListDept[0].deptId;
  85. $('.selectDept').html(deptName)
  86. }else if(from==3){
  87. $(".partTitle .titlePic ").html(`<a href="keyItemFlawControl.html">关键条目缺陷占比 / </a>缺陷详情`)
  88. }else if(from==4){
  89. // $(".qcFiliterItem").css("display","none")
  90. $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台 / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a><a class="defectDetail" href="quexianDetailControlHome.html">缺陷详情 / </a>病历详情`)
  91. $(".defectDetail").on("click",function(){
  92. $(parent.document).find("#contentIframe").attr("src","quexianDetailControlHome.html?deptName="+`${deptNamePram=="全部" ?"全院":deptNamePram}`+"&deptId="+deptIdPram+"&from=1&casesId=243"+"&shijian=3"+"&ruleType="+ruleType+"&startDateParam="+startDateParam+"&endDateParam="+endDateParam)
  93. })
  94. }else{
  95. $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台 / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
  96. }
  97. $(".partTitle .consoleD").click(function(){
  98. //初始菜单选中
  99. focusMenuItem(from==2?'YH-KZTKS':'YH-KZT')
  100. $(".container",parent.document).addClass("console-cont");
  101. })
  102. $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
  103. $('.iconCalen').on("mouseenter", function(e){
  104. $(this).attr("src", iconCalenBlue)
  105. })
  106. $('.iconCalen').on("mouseleave", function(e){
  107. $(this).attr("src", iconCalenGrey)
  108. })
  109. $('.iconCalen').on("click", function(e){
  110. $(this).parent().find("input").focus()
  111. })
  112. $('.recordScoreBtn').css("opacity",hasData('FUNC000017')?'1':'0.5')
  113. $("#filterToggler").click(function(){
  114. const text = $(this).text();
  115. $(".toggle-item").slideToggle();
  116. $(this).text(text==="收起筛选"?"展开筛选":"收起筛选").toggleClass("up");
  117. });
  118. //判断有无某一权限
  119. function hasData(data){
  120. let trdObj = JSON.parse(getCookie("trdObj"))
  121. let lis = trdObj['YH-BLZK-ZKPF']
  122. if(!lis){
  123. return false
  124. }
  125. if(lis.indexOf(data)>-1){//有权限
  126. return true
  127. }
  128. return false;
  129. }
  130. function getTabData(activePage){
  131. const param = {
  132. current:activePage,
  133. behospitalCode: behospitalCode,
  134. patName: name, //病人姓名
  135. level:level,//病历等级
  136. behDeptName: deptName == "全部" ? "":deptName,
  137. ascs:data_asc, //升序
  138. descs:data_desc, //降序
  139. startDate: behosDateStart.replace(/\//g,'-'), //出院日期--开始时间
  140. endDate: behosDateEnd.replace(/\//g,'-'), //出院日期--结束时间
  141. casesEntryName: casesEntryName,
  142. casesEntryId:"",
  143. casesId:casesId,
  144. size: 15,
  145. ruleType:ruleType,
  146. isReject: isSingleReject,
  147. doctorName: doctorName,
  148. doctorId: doctorNum,
  149. checkStatus: qcCheckStatus?Number(qcCheckStatus):qcCheckStatus, //病历核查状态
  150. mrStatus: fpCheckStatus?Number(fpCheckStatus):fpCheckStatus, //首页核查状态(1:已核查,0:未核查)
  151. chName: qcCheckName, //病历核查人员
  152. mrName: fpCheckName, //首页核查人员
  153. chTimeStart: qcCheckDateStart.replace(/\//g,'-'), //病历核查起始时间
  154. chTimeEnd: qcCheckDateEnd.replace(/\//g,'-'), //病历核查截止时间
  155. mrTimeStart: fpCheckDateStart.replace(/\//g,'-'), //首页核查起始时间
  156. mrTimeEnd: fpCheckDateEnd.replace(/\//g,'-'), //首页核查截止时间
  157. }
  158. return post(from==2?api.qcResultShortByDeptPage:api.qcResultDefectList,param).then(res =>{
  159. if(res.data.code == '0'){
  160. const data = res.data.data;
  161. tabList = data.records;
  162. const totalPage = data.pages;
  163. const totalNum = data.total;
  164. currentPage = activePage
  165. renderTab(tabList,data.hospitalId);
  166. renderPagination(totalPage,Number(activePage),totalNum)
  167. if(totalPage > 1){
  168. renderPagination(totalPage,Number(activePage),totalNum)
  169. } else{
  170. $('.pagination').html("")
  171. }
  172. }else{
  173. $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  174. }
  175. }).catch((e) =>{
  176. console.log(999)
  177. })
  178. }
  179. //getTabData(1)
  180. $(".filter").on("click", function(e){
  181. behosDateStart = $("#datepicker").val()
  182. behosDateEnd = $("#datepicker2").val()
  183. fpCheckDateStart = $("#datepickerFp1").val()
  184. fpCheckDateEnd = $("#datepickerFp2").val()
  185. qcCheckDateStart = $("#datepickerQc1").val()
  186. qcCheckDateEnd = $("#datepickerQc2").val()
  187. const behosDateStartTime = new Date(behosDateStart).getTime()
  188. const behosDateEndTime = new Date(behosDateEnd).getTime()
  189. const qcCheckDateStartTime = new Date(qcCheckDateStart).getTime()
  190. const qcCheckDateEndTime = new Date(qcCheckDateEnd).getTime()
  191. const fpCheckDateStartTime = new Date(fpCheckDateStart).getTime()
  192. const fpCheckDateEndTime = new Date(fpCheckDateEnd).getTime()
  193. if(behosDateStartTime > behosDateEndTime){
  194. $.alerModal({"message":'出院日期开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  195. return
  196. }
  197. if(qcCheckDateStartTime > qcCheckDateEndTime){
  198. $.alerModal({"message":'病历核查开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  199. return
  200. }
  201. if(fpCheckDateStartTime > fpCheckDateEndTime){
  202. $.alerModal({"message":'病案首页核查开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  203. return
  204. }
  205. if(behosDateStart){
  206. behosDateStart = behosDateStart + ' 00:00:00'
  207. }
  208. if(behosDateEnd){
  209. behosDateEnd = behosDateEnd + ' 23:59:59'
  210. }
  211. if(fpCheckDateStart){
  212. fpCheckDateStart = fpCheckDateStart + ' 00:00:00'
  213. }
  214. if(fpCheckDateEnd){
  215. fpCheckDateEnd = fpCheckDateEnd + ' 23:59:59'
  216. }
  217. if(qcCheckDateStart){
  218. qcCheckDateStart = qcCheckDateStart + ' 00:00:00'
  219. }
  220. if(qcCheckDateEnd){
  221. qcCheckDateEnd = qcCheckDateEnd + ' 23:59:59'
  222. }
  223. name = nameTemp
  224. behospitalCode = behospitalCodeTemp
  225. level = levelTemp==="全部"?"":levelTemp
  226. deptId = deptIdTemp
  227. deptName = deptNameTemp
  228. doctorName = doctorNameTemp
  229. fpCheckName = fpCheckNameTemp
  230. qcCheckName = qcCheckNameTemp
  231. doctorNum = doctorNumTemp
  232. fpCheckStatus = fpCheckStatusTemp
  233. qcCheckStatus = qcCheckStatusTemp
  234. getTabData(1)
  235. })
  236. $(".abnormalClear").on("click", function(e){
  237. tabList = [];
  238. name = "";
  239. behospitalCode="";
  240. level="";
  241. scoreSum = 0;
  242. nameTemp = "";
  243. behospitalCodeTemp="";
  244. levelTemp="";
  245. deptId="";
  246. deptName="";
  247. deptNameTemp="";
  248. deptIdTemp="";
  249. doctorName="";
  250. fpCheckName="";
  251. qcCheckName="" ;
  252. doctorNum="";
  253. doctorNameTemp="";
  254. fpCheckNameTemp="";
  255. qcCheckNameTemp="";
  256. doctorNumTemp="";
  257. fpCheckStatus="";
  258. fpCheckStatusTemp="";
  259. qcCheckStatus="";
  260. qcCheckStatusTemp=""
  261. data_desc=["leaveHospitalDate"]
  262. data_asc=[];
  263. if(from == 2){
  264. deptId=deptListDept[0]&&deptListDept[0].deptId;
  265. deptName=deptListDept[0]&&deptListDept[0].deptName;
  266. deptNameTemp=deptListDept[0]&&deptListDept[0].deptName;
  267. deptIdTemp=deptListDept[0]&&deptListDept[0].deptId;
  268. }
  269. if(from == 4){
  270. deptIdTemp = deptIdPram = deptIdPram
  271. deptName = deptNameTemp = deptNamePram
  272. }
  273. $('.patientNumInp').val('')
  274. $('.patientNameInp').val('')
  275. $('.doctorInp').val('')
  276. $('.doctorNumInp').val('')
  277. $('.doctorInp').val('')
  278. $('.fpCheckPeople').val('')
  279. $('.qcCheckPeople').val('')
  280. // $('#datepicker').val('')
  281. // $('#datepicker2').val('')
  282. //默认日期为近一个月
  283. let year = new Date().getFullYear()
  284. let month = new Date().getMonth() + 1
  285. $( "#datepicker" ).datepicker({
  286. changeMonth: true,
  287. changeYear: true,
  288. dateFormat:"yy/mm/dd",
  289. }).datepicker( "setDate", new Date(`${year}-01-01`));
  290. $( "#datepicker2" ).datepicker({
  291. changeMonth: true,
  292. changeYear: true,
  293. dateFormat:"yy/mm/dd"
  294. }).datepicker( "setDate",new Date());
  295. $( "#datepickerFp1" ).datepicker({
  296. changeMonth: true,
  297. changeYear: true,
  298. dateFormat:"yy/mm/dd",
  299. }).datepicker( "setDate", "");
  300. $( "#datepickerFp2" ).datepicker({
  301. changeMonth: true,
  302. changeYear: true,
  303. dateFormat:"yy/mm/dd"
  304. }).datepicker( "setDate","");
  305. $( "#datepickerQc1" ).datepicker({
  306. changeMonth: true,
  307. changeYear: true,
  308. dateFormat:"yy/mm/dd",
  309. }).datepicker( "setDate", "");
  310. $( "#datepickerQc2" ).datepicker({
  311. changeMonth: true,
  312. changeYear: true,
  313. dateFormat:"yy/mm/dd"
  314. }).datepicker( "setDate","");
  315. if(from == 2){
  316. $('.selectDept ').html(deptListDept[0].deptName)
  317. }else if(from == 4){
  318. if(deptNamePram.length > 10){
  319. $('.selectDept').html(deptNamePram.substring(0,8)+'...')
  320. }else{
  321. $('.selectDept').html(deptNamePram)
  322. }
  323. $('.selectDept ').attr('title',deptNamePram)
  324. $(".deptList").css("display", "none")
  325. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  326. }else{
  327. $('.selectDept ').html('全部')
  328. }
  329. $(".deptList").css("display", "none")
  330. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  331. // $('.selectDept ').addClass('unSelect')
  332. $('.selectLevel').html('全部')
  333. $(".levelList").css("display", "none")
  334. $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  335. // $('.selectLevel ').addClass('unSelect')
  336. $('.fpSelectCheck').html('全部')
  337. $(".fpCheckList").css("display", "none")
  338. $(".fpSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  339. $('.qcSelectCheck').html('全部')
  340. $(".qcCheckList").css("display", "none")
  341. $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  342. $("th[code]").removeClass("asc desc")
  343. $(".leaveHospitalDate").addClass(" desc")
  344. behosDateStart = $("#datepicker").val()
  345. behosDateEnd = $("#datepicker2").val()
  346. if(behosDateStart){
  347. behosDateStart = behosDateStart + ' 00:00:00'
  348. }
  349. if(behosDateEnd){
  350. behosDateEnd = behosDateEnd + ' 23:59:59'
  351. }
  352. fpCheckDateStart = ""
  353. fpCheckDateEnd = ""
  354. qcCheckDateStart = ""
  355. qcCheckDateEnd = ""
  356. getTabData(1)
  357. })
  358. function renderTab(data,hisId){
  359. let str = ``
  360. let hasSelectAll = true;
  361. if(data.length===0){
  362. $('.tbody').html(emptyBox(null,showNum+2))
  363. // initScroll("qcListCopy","YX",1)
  364. return;
  365. }
  366. for(let i = 0; i < data.length; i++){
  367. const item = data[i]
  368. if(!item.hasSelect){
  369. hasSelectAll = false
  370. }
  371. str += `
  372. <tr data-index=${i}>
  373. <td class="textCenter">${(currentPage-1)*15 + i+1}</td>`
  374. for(let j = 0; j < pageSet.length; j++){
  375. if(pageSet[j].status == 1){
  376. if(pageSet[j].val === "checkStatus" || pageSet[j].val === "mrStatus" ){
  377. str += `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] =="1"? "已核查" :item[pageSet[j].val] === 0 ? "未核查":"-"}<span></td>`
  378. }else{
  379. str += `<td class="${isTextCenter(pageSet[j].val) ? 'textCenter':''}"><span data-index=${i} class="${pageSet[j].val=='name'?'patientNameSpan':'' } ">${item[pageSet[j].val] || "-"}<span></td>`
  380. }
  381. }
  382. }
  383. // <td >${item.behospitalCode || "-"}</td>
  384. // <td>${item.fileCode || "-"}</td>
  385. // <td class="textCenter"><span data-index=${i} class="patientNameSpan">${item.name || "-"}<span></td>
  386. // <td class="textCenter">${item.sex || "-"}</td>
  387. // <td class="textCenter">${item.age || "-"}</td>
  388. // <td class="textCenter">${item.bedCode || "-"}</td>
  389. // <td class="textCenter">${item.behospitalDate&&item.behospitalDate.slice(0,10) || "-"}</td>
  390. // <td class="textCenter">${item.leaveHospitalDate&&item.leaveHospitalDate.slice(0,10)|| "-"}</td>
  391. // <td class="textCenter">${item.diagnose|| "-"}</td>
  392. // <td class="textCenter">${item.behDoctorName || "-"}</td>
  393. // <td class="textCenter">${item.doctorName || "-"}</td>
  394. // <td class="textCenter">${item.directorDoctorName || "-"}</td>
  395. // <td class="textCenter">${item.behDeptName || "-"}</td>
  396. // <td class="textCenter">${item.level || "-"}</td>
  397. // <td class="textCenter">${item.scoreRes || "-"}</td>
  398. // <td class="textCenter">${item.gradeTime&&item.gradeTime.slice(0,10) || "-"}</td>
  399. str += "</tr>"
  400. }
  401. if(data.length === 0){
  402. hasSelectAll = false
  403. }
  404. if(hasSelectAll){
  405. $('.scoreOpera img').attr("src" ,iconCheck)
  406. $('.scoreOpera').attr("data-selectall",true)
  407. }else{
  408. $('.scoreOpera img').attr("src" ,iconUnCheck)
  409. $('.scoreOpera').attr("data-selectall",false)
  410. }
  411. $('.tbody').html(str)
  412. bindScoreOperaItem()
  413. bindRecordScoreOper()
  414. bindScoreDetail(hisId)
  415. // initScroll("qcListCopy","YX",1)
  416. }
  417. function isTextCenter(name){
  418. const textCenterList = ['level', 'scoreRes', 'sex','age', 'behospitalDate', 'leaveHospitalDate', 'placefileDate', 'gradeTime','checkStatus','mrStatus','mrTime','chTime','chName','mrName','diagnose','behDoctorName','directorDoctorName','doctorName']
  419. return textCenterList.findIndex(item=> item==name) > -1
  420. }
  421. function scoreDetail(id,age,hid,code,name){
  422. window.open(`./qcScore.html?id=${id}&age=${age}&name=${name}&hid=${getCookie('hospitalid')}&code=${code}`)
  423. }
  424. function bindScoreDetail(hisId){
  425. $('.patientNameSpan').on('click',function(e){
  426. const index = $(this).attr("data-index")
  427. const id = tabList[index].behospitalCode
  428. const age = tabList[index].age;
  429. const noScore = tabList[index].level == '未评分'
  430. if(noScore){
  431. $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  432. return
  433. } else{
  434. scoreDetail(id,age,hisId,'YH-BLZK-ZKPF',tabList[index].name)
  435. }
  436. })
  437. }
  438. //选择病历等级
  439. $('.selectLevel').on("click", function(e){
  440. e.stopPropagation()
  441. $(".deptList ").css("display", "none")
  442. $(".selectDept .arrow").attr("src",iconDown)
  443. $(".fpCheckList ").css("display", "none")
  444. $(".fpSelectCheck .arrow").attr("src",iconDown)
  445. $(".qcSelectCheck .arrow").attr("src",iconDown)
  446. $(".qcCheckList ").css("display", "none")
  447. const showList = $(".levelList ").css("display")
  448. if(showList == "none" ||!showList){
  449. $(".levelList ").css("display","block")
  450. $(".selectLevel .arrow").attr("src",iconUp)
  451. }else{
  452. $(".levelList ").css("display", "none")
  453. $(".selectLevel .arrow").attr("src",iconDown)
  454. }
  455. })
  456. //选择病案首页核查状态
  457. $('.fpSelectCheck').on("click", function(e){
  458. e.stopPropagation()
  459. $(".deptList ").css("display", "none")
  460. $(".selectDept .arrow").attr("src",iconDown)
  461. $(".levelList ").css("display","none")
  462. $(".selectLevel .arrow").attr("src",iconDown)
  463. $(".qcSelectCheck .arrow").attr("src",iconDown)
  464. $(".qcCheckList ").css("display", "none")
  465. const showList = $(".fpCheckList ").css("display")
  466. if(showList == "none" ||!showList){
  467. $(".fpCheckList ").css("display","block")
  468. $(".fpSelectCheck .arrow").attr("src",iconUp)
  469. }else{
  470. $(".fpCheckList ").css("display", "none")
  471. $(".fpSelectCheck .arrow").attr("src",iconDown)
  472. }
  473. })
  474. //选择病历核查状态
  475. $('.qcSelectCheck').on("click", function(e){
  476. e.stopPropagation()
  477. $(".deptList ").css("display", "none")
  478. $(".selectDept .arrow").attr("src",iconDown)
  479. $(".levelList ").css("display","none")
  480. $(".selectLevel .arrow").attr("src",iconDown)
  481. $(".fpSelectCheck .arrow").attr("src",iconDown)
  482. $(".fpCheckList ").css("display", "none")
  483. const showList = $(".qcCheckList ").css("display")
  484. if(showList == "none" ||!showList){
  485. $(".qcCheckList ").css("display","block")
  486. $(".qcSelectCheck .arrow").attr("src",iconUp)
  487. }else{
  488. $(".qcCheckList ").css("display", "none")
  489. $(".qcSelectCheck .arrow").attr("src",iconDown)
  490. }
  491. })
  492. bindLeveldSelect()
  493. //病历等级选择
  494. function bindLeveldSelect(){
  495. $('.levelItem').on("click",function(){
  496. const levelItemName = $(this).attr("data-name")
  497. const levelItemItemId = $(this).attr("data-id")
  498. levelTemp =levelItemItemId
  499. $('.selectLevel').html(levelItemName)
  500. $(".levelList").css("display", "none")
  501. $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  502. $('.selectLevel').removeClass('unSelect')
  503. })
  504. }
  505. bindCheckedSelectFp()
  506. //病案首页核查状态选择
  507. function bindCheckedSelectFp(){
  508. $('.fpCheckItem').on("click",function(){
  509. const fpCheckItemName = $(this).attr("data-name")
  510. const fpCheckItemItemId = $(this).attr("data-id") || ""
  511. fpCheckStatusTemp =fpCheckItemItemId
  512. $('.fpSelectCheck').html(fpCheckItemName)
  513. $(".fpCheckList").css("display", "none")
  514. $(".fpSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  515. $('.fpSelectCheck').removeClass('unSelect')
  516. })
  517. }
  518. bindCheckedSelectQc()
  519. //病历核查状态选择
  520. function bindCheckedSelectQc(){
  521. $('.qcCheckItem').on("click",function(){
  522. const qcCheckItemName = $(this).attr("data-name")
  523. const qcCheckItemItemId = $(this).attr("data-id") || ""
  524. qcCheckStatusTemp =qcCheckItemItemId
  525. $('.qcSelectCheck').html(qcCheckItemName)
  526. $(".qcCheckList").css("display", "none")
  527. $(".qcSelectCheck").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  528. $('.qcSelectCheck').removeClass('unSelect')
  529. })
  530. }
  531. function bindScoreOperaItem(){
  532. $(".scoreOperaItem").off("click").on("click", function(e){
  533. const index = $(this).parent().attr("data-index")
  534. tabList[index].hasSelect = tabList[index].hasSelect ? false:true
  535. renderTab(tabList)
  536. })
  537. }
  538. function bindRecordScoreOper(){
  539. $(".recordScoreOperaBtn").on("click", function(e){
  540. if(!hasData('FUNC000017')){
  541. return
  542. }
  543. const index = $(this).parent().attr("data-index")
  544. const behospitalCode = tabList[index].behospitalCode
  545. loading()
  546. recordScore(behospitalCode,1,true)
  547. })
  548. }
  549. function bindOperaAll(){
  550. $('.scoreOpera').on("click", function(e){
  551. const hasSelectAll = $('.scoreOpera').attr("data-selectall")
  552. if(hasSelectAll == 'true'){
  553. for(let i = 0; i < tabList.length; i++){
  554. tabList[i].hasSelect = false
  555. }
  556. }else{
  557. for(let i = 0; i < tabList.length; i++){
  558. tabList[i].hasSelect = true
  559. }
  560. }
  561. renderTab(tabList)
  562. })
  563. }
  564. $('.selectDept').on("click", function(e){
  565. e.stopPropagation()
  566. $(".levelList ").css("display","none")
  567. $(".selectLevel .arrow").attr("src",iconDown)
  568. $(".fpCheckList ").css("display", "none")
  569. $(".fpSelectCheck .arrow").attr("src",iconDown)
  570. $(".qcCheckList ").css("display", "none")
  571. $(".qcSelectCheck .arrow").attr("src",iconDown)
  572. const showList = $(".deptList ").css("display")
  573. if(showList == "none" ||!showList){
  574. $(".deptList ").css("display","block")
  575. $(".selectDept .arrow").attr("src",iconUp)
  576. }else{
  577. $(".deptList ").css("display", "none")
  578. $(".selectDept .arrow").attr("src",iconDown)
  579. }
  580. })
  581. //获取科室列表
  582. getDeptList()
  583. function getDeptList(){
  584. if(from == 2){
  585. rendeDeptList(deptListDept)
  586. return
  587. }
  588. post(api.getDeptList,{inputStr:""}).then(res =>{
  589. if(res.data.code == '0'){
  590. const deptList = res.data.data
  591. rendeDeptList(deptList)
  592. }else{}
  593. }).catch((e) =>{
  594. })
  595. }
  596. //获取页面配置
  597. function getPageSet(){
  598. return post(api.getQcListPageSet,{pageType:1}).then(res =>{
  599. if(res.data.code == '0'){
  600. pageSet = res.data.data
  601. pageSetCopy = JSON.parse(JSON.stringify(pageSet))
  602. showNum = 0
  603. renderTabTitle(pageSet)
  604. }else{}
  605. }).catch((e) =>{
  606. })
  607. }
  608. function renderTabTitle(data){
  609. let str = `
  610. <th class="textCenter" style="width: 65px;">序号</th>`
  611. for(let i = 0; i < data.length; i++){
  612. const item = data[i]
  613. if(item.status == 1){
  614. showNum++
  615. str += `<th class="textCenter ${item.val} ${item.val =='leaveHospitalDate' ? 'desc':''}" code="${item.val}">${item.name}</th>`
  616. }
  617. }
  618. let operStr=`<td colspan="${showNum+2}" style="background: #fff">
  619. <div class="tabFoot">
  620. <span class="setCol"><img class="iconSetting" src=${require('./../images/setting.png')} alt="关闭" />列设置</span>
  621. </div>
  622. </td>`
  623. $(".tabOpera").html(operStr)
  624. $(".tabTitle").html(str)
  625. //全选绑定
  626. bindOperaAll()
  627. bindRecordScoreBtn()
  628. bindSetCol()
  629. bindOrder()
  630. }
  631. function bindSetCol(){
  632. $(".setCol").off("click").on("click", function(){
  633. renderColSet(pageSetCopy)
  634. })
  635. }
  636. function rendeDeptList(deptList){
  637. let str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`;
  638. if(from == 2){
  639. str = ''
  640. }
  641. for(let i = 0; i < deptList.length; i++){
  642. str += `<li class="deptItem ellipsis" title=${deptList[i].deptName} data-id=${deptList[i].deptId} data-name=${deptList[i].deptName}> ${deptList[i].deptName}</li>`
  643. }
  644. $('.deptList').html(str)
  645. bindDeptSelect()
  646. }
  647. //科室选择
  648. function bindDeptSelect(){
  649. $('.deptItem').on("click",function(){
  650. const deptItemName = $(this).attr("data-name")
  651. const deptItemId = $(this).attr("data-id")
  652. deptIdTemp =deptItemId
  653. deptNameTemp = deptItemName
  654. if(deptItemName.length > 10){
  655. $('.selectDept').html(deptItemName.substring(0,8)+'...')
  656. }else{
  657. $('.selectDept').html(deptItemName)
  658. }
  659. $('.selectDept ').attr('title',deptItemName)
  660. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  661. $(".deptList").css("display", "none")
  662. $('.selectDept').removeClass('unSelect')
  663. })
  664. }
  665. function loading(){
  666. const str = `
  667. <div class="loadingBox">
  668. <div class="mask"></div>
  669. <img class="loadingImg" src=${loadingImg} alt="loading" />
  670. </div>
  671. `
  672. $("#mainBox", parent.document).append(str)
  673. }
  674. function hideLoading(){
  675. $("#mainBox .loadingBox", parent.document).remove()
  676. }
  677. function bindRecordScoreBtn(){
  678. $('.recordScoreBtn').off("click").on("click",function(e){
  679. if(!hasData('FUNC000017')){
  680. return
  681. }
  682. let scoreList = []
  683. for(let i = 0; i <tabList.length; i++){
  684. if(tabList[i].hasSelect){
  685. scoreList.push(tabList[i].behospitalCode)
  686. }
  687. }
  688. if(scoreList.length === 0){
  689. $.alerModal({"message":'请选择要评分的项!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  690. return
  691. } else{
  692. loading()
  693. for(let j = 0; j < scoreList.length; j++){
  694. recordScore(scoreList[j],scoreList.length,true)
  695. }
  696. }
  697. })
  698. }
  699. function bindOrder(){
  700. $("th[code]").off("click").on("click",function(e){
  701. const code=$(this).attr("code");
  702. if(data_asc[0]===code){
  703. data_desc=[code];
  704. data_asc=[];
  705. $("th[code]").removeClass("asc desc");
  706. $(this).addClass("desc");
  707. }else{
  708. data_desc=[];
  709. data_asc=[code];
  710. $("th[code]").removeClass("asc desc");
  711. $(this).addClass("asc");
  712. }
  713. getTabData(1);
  714. // console.log(code)
  715. });
  716. }
  717. function recordScore(behospitalCode,totalNum,hasToast){
  718. const param = {
  719. behospitalCode: behospitalCode
  720. }
  721. post(api.recordScore,param).then(res =>{
  722. if(res.data.code == '0'){
  723. scoreSum++
  724. if(scoreSum === totalNum){
  725. hideLoading()
  726. scoreSum = 0
  727. const activePage = $(".activePage").attr('data-page') || 1
  728. getTabData(activePage)
  729. if(hasToast){
  730. $.alerModal({"message":'评分成功',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  731. }
  732. }
  733. }else{
  734. hideLoading()
  735. if(hasToast){
  736. $.alerModal({"message":'评分失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  737. }
  738. }
  739. }).catch((e) =>{
  740. hideLoading()
  741. if(hasToast){
  742. $.alerModal({"message":'评分失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  743. }
  744. })
  745. }
  746. function renderColSet(list){
  747. let pageSetList = list || pageSetCopy
  748. let allSelect = true
  749. for(let i = 0; i < pageSetList.length; i++){
  750. if(pageSetList[i].status != 1){
  751. allSelect = false
  752. }
  753. }
  754. let str = `<div class='colSetBox'>
  755. <div class='mask'></div>
  756. <div class='cloInfobox'>
  757. <div class='cloInfoTitle'><span class='cloInfoTitleTxt'>列显示设置</span> <img class="iconClose" src=${require('./../images/icon_close_default.png')} alt="关闭" /></div>
  758. <div class='cloInfo'></div>
  759. <div class='btnBox'> <span class='cancalColSet'>取消</span> <span class='saveColSet'>保存设置</span></div>
  760. </div>
  761. </div>`
  762. let infoStr = `<div class='colTabTitle' ><span class='colOpera toggleSelectColAll' data-select=${allSelect}>${allSelect ? `<img src=${iconCheck} />`:`<img src=${iconUnCheck} />`}全选</span><span class='colName'>列名</span></div><div class='colTabInfoBox' >`
  763. for(let i = 0; i < pageSetList.length; i++){
  764. infoStr += `<div class='colTabInfo' data-index=${i}>
  765. <span class='colOpera' data-index=${i}>${pageSetList[i].status == 1 ? `<img class="toggleSelectCol" src=${iconCheck} />`:`<img class="toggleSelectCol" src=${iconUnCheck} />`}</span>
  766. <span class='colName'>
  767. <span>${pageSetList[i].name}</span>
  768. <span class="pageOrder">
  769. <span class="pageSetUpBox">${ i === 0 ?'':`<img class="pageSetUp" src=${goUpG} />`}</span>
  770. <span class="pageSetDownBox">${ i === pageSetList.length -1 ?'':`<img class="pageSetDown" src=${goDownG} />`}</span>
  771. </span>
  772. </span>
  773. </div>`
  774. }
  775. infoStr += "</div>"
  776. // $(".main-body").append(str)
  777. if(!$("#mainBox .colSetBox", parent.document).length){
  778. $("#mainBox", parent.document).append(str)
  779. }
  780. $("#mainBox .colSetBox .cloInfo", parent.document).html(infoStr)
  781. $(".colTabInfoBox", parent.document).scrollTop(scrollTop)
  782. scrollTop = 0
  783. bindSelectCol()
  784. bindColOrder()
  785. bindSaveColSet()
  786. bindCloseColSet()
  787. bindImgEnter()
  788. }
  789. function bindImgEnter(){
  790. $(".pageSetUpBox img",parent.document).off("mouseenter").on("mouseenter",function(){
  791. $(this).attr('src', goUpB)
  792. })
  793. $(".pageSetDownBox img",parent.document).off("mouseenter").on("mouseenter",function(){
  794. $(this).attr('src', goDownB)
  795. })
  796. $(".pageSetUpBox img",parent.document).off("mouseout").on("mouseout",function(){
  797. $(this).attr('src', goUpG)
  798. })
  799. $(".pageSetDownBox img",parent.document).off("mouseout").on("mouseout",function(){
  800. $(this).attr('src', goDownG)
  801. })
  802. }
  803. function bindSelectCol(){
  804. $(".toggleSelectCol", parent.document ).off("click").on("click", function(){
  805. const index = $(this).parent().attr("data-index")
  806. pageSetCopy[index].status = pageSetCopy[index].status == 1 ? 0 : 1
  807. scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
  808. renderColSet(pageSetCopy)
  809. })
  810. $(".toggleSelectColAll", parent.document ).off("click").on("click", function(){
  811. const hasSelectAll = $(this).attr("data-select")
  812. for(let i = 0; i < pageSetCopy.length; i++){
  813. if(hasSelectAll == "true"){
  814. pageSetCopy[i].status = 0
  815. }else{
  816. pageSetCopy[i].status = 1
  817. }
  818. }
  819. scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
  820. renderColSet(pageSetCopy)
  821. })
  822. }
  823. function closeColSet(){
  824. pageSetCopy = JSON.parse(JSON.stringify(pageSet))
  825. $("#mainBox .colSetBox", parent.document).remove()
  826. }
  827. function bindCloseColSet(){
  828. $(".colSetBox .iconClose", parent.document ).off("click").on("click",function(){
  829. closeColSet()
  830. })
  831. $(".colSetBox .cancalColSet", parent.document ).off("click").on("click",function(){
  832. closeColSet()
  833. })
  834. }
  835. function bindSaveColSet(){
  836. $(".saveColSet", parent.document ).off("click").on("click", function(){
  837. let showNumSet = 0
  838. let sysUserPagesetVOList = []
  839. for(let i = 0; i < pageSetCopy.length; i++){
  840. const item = pageSetCopy[i]
  841. sysUserPagesetVOList.push({
  842. name: item.name,
  843. orderNo: i,
  844. status: item.status,
  845. val: item.val
  846. })
  847. if(item.status == 1){
  848. showNumSet++
  849. }
  850. }
  851. if(showNumSet === 0){
  852. $.alerModal({"message":'最少显示一列',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  853. return
  854. }
  855. return post(api.saveQcListPageSet,{pageType:1,sysUserPagesetVOList:sysUserPagesetVOList}).then(res =>{
  856. if(res.data.code == '0'){
  857. closeColSet()
  858. getPageSet().then(res =>{
  859. $(".filter").click(); //初始查询
  860. })
  861. }else{
  862. $("#mainBox .colSetBox", parent.document).remove()
  863. $.alerModal({"message":'保存失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  864. }
  865. }).catch((e) =>{
  866. $("#mainBox .colSetBox", parent.document).remove()
  867. $.alerModal({"message":'保存失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  868. })
  869. })
  870. }
  871. function bindColOrder(){
  872. $(".pageSetUp", parent.document ).off("click").on("click", function(){
  873. const index = parseInt($(this).parent().parent().parent().parent().attr("data-index"))
  874. if(index != 0){
  875. const upItem = pageSetCopy[index]
  876. const upItemPre = pageSetCopy[index-1]
  877. pageSetCopy.splice(index-1,2,upItem,upItemPre)
  878. scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
  879. renderColSet(pageSetCopy)
  880. }else{
  881. return
  882. }
  883. })
  884. $(".pageSetDown", parent.document ).off("click").on("click", function(){
  885. const index = parseInt($(this).parent().parent().parent().parent().attr("data-index"))
  886. if(index == pageSetCopy.length - 1){
  887. return
  888. }else{
  889. const downItem = pageSetCopy[index]
  890. const downItemBack = pageSetCopy[index + 1]
  891. console.log('downItem',downItem,'downItemBack',downItemBack)
  892. pageSetCopy.splice(index,2,downItemBack,downItem)
  893. scrollTop = $(".colTabInfoBox", parent.document).scrollTop()
  894. renderColSet(pageSetCopy)
  895. }
  896. })
  897. }
  898. $(".patientNumInp").on("input", function(e){
  899. const val = $(this).val().trim();
  900. let beCode=behospitalCode;
  901. const patrn = /[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]/g;
  902. beCode=val.replace(patrn,function(x){
  903. return "\\"+x;
  904. });
  905. behospitalCodeTemp = beCode
  906. });
  907. $(".patientNameInp").on("input", function(e){
  908. const val = $(this).val().trim()
  909. nameTemp = val
  910. })
  911. $(".doctorInp").on("input", function(e){
  912. const val = $(this).val().trim()
  913. doctorNameTemp = val
  914. })
  915. $(".fpCheckPeople").on("input", function(e){
  916. const val = $(this).val().trim()
  917. fpCheckNameTemp = val
  918. })
  919. $(".qcCheckPeople").on("input", function(e){
  920. const val = $(this).val().trim()
  921. qcCheckNameTemp = val
  922. })
  923. $(".doctorNumInp").on("input", function(e){
  924. const val = $(this).val().trim();
  925. doctorNumTemp = val
  926. })
  927. $(function() {
  928. $.datepicker.regional['zh-CN'] = {
  929. clearText: '清除',
  930. clearStatus: '清除已选e799bee5baa6e59b9ee7ad9431333361303131日期',
  931. closeText: '关闭',
  932. closeStatus: '不改变当前选择',
  933. prevText: '<上月',
  934. prevStatus: '显示上月',
  935. prevBigText: '<<',
  936. prevBigStatus: '显示上一年',
  937. nextText: '下月>',
  938. nextStatus: '显示下月',
  939. nextBigText: '>>',
  940. nextBigStatus: '显示下一年',
  941. currentText: '今天',
  942. currentStatus: '显示本月',
  943. monthNames: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
  944. monthNamesShort: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
  945. yearNamesShort: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
  946. monthStatus: '选择月份',
  947. yearStatus: '选择年份',
  948. weekHeader: '周',
  949. weekStatus: '年内周次',
  950. dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
  951. dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
  952. dayNamesMin: ['日','一','二','三','四','五','六'],
  953. dayStatus: '设置 DD 为一周起始',
  954. dateStatus: '选择 m月 d日, DD',
  955. dateFormat: 'yy-mm-dd',
  956. firstDay: 1,
  957. initStatus: '请选择日期',
  958. isRTL: false};
  959. $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
  960. let startDate = "", endDate=new Date()
  961. let year = new Date().getFullYear()
  962. let month = new Date().getMonth() + 1
  963. if(statisticsType == '1'){
  964. startDate = new Date(`${year}-${month}-01`)
  965. }else if(statisticsType == '2'){
  966. startDate = new Date(`${year}-01-01`)
  967. } else if(statisticsType == '3') {
  968. startDate = new Date(startDateParam)
  969. endDate = new Date(endDateParam)
  970. }else{
  971. startDate = "-6d"
  972. }
  973. $( "#datepicker" ).datepicker({
  974. changeMonth: true,
  975. changeYear: true,
  976. dateFormat:"yy/mm/dd",
  977. }).datepicker( "setDate", startDate);
  978. $( "#datepicker2" ).datepicker({
  979. changeMonth: true,
  980. changeYear: true,
  981. dateFormat:"yy/mm/dd"
  982. }).datepicker( "setDate",endDate);
  983. $( "#datepickerFp1" ).datepicker({
  984. changeMonth: true,
  985. changeYear: true,
  986. dateFormat:"yy/mm/dd"
  987. }).datepicker( "setDate","");
  988. $( "#datepickerFp2" ).datepicker({
  989. changeMonth: true,
  990. changeYear: true,
  991. dateFormat:"yy/mm/dd"
  992. }).datepicker( "setDate","");
  993. $( "#datepickerQc1" ).datepicker({
  994. changeMonth: true,
  995. changeYear: true,
  996. dateFormat:"yy/mm/dd"
  997. }).datepicker( "setDate","");
  998. $( "#datepickerQc2" ).datepicker({
  999. changeMonth: true,
  1000. changeYear: true,
  1001. dateFormat:"yy/mm/dd"
  1002. }).datepicker( "setDate","");
  1003. getPageSet().then(res =>{
  1004. $(".filter").click(); //初始查询
  1005. })
  1006. });
  1007. //分页渲染
  1008. function renderPagination(totalPage,activePage,totalNum){
  1009. let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
  1010. if(totalPage <= 6){
  1011. for(let i = 1; i <= totalPage; i++){
  1012. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  1013. }
  1014. }else{
  1015. if(activePage <= 3){ //选中页数小于4
  1016. for(let i = 1; i <= 4; i++){
  1017. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  1018. }
  1019. str += `<span class="more" >...</span>`
  1020. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  1021. } else if(activePage > totalPage -3){
  1022. str += `<span class="pageNum page1" data-page=1>1</span>`
  1023. str += `<span class="more" >...</span>`
  1024. str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
  1025. str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
  1026. str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
  1027. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  1028. } else {
  1029. str += `<span class="pageNum page1" data-page=1>1</span>`
  1030. str += `<span class="more" >...</span>`
  1031. str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
  1032. str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
  1033. str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
  1034. str += `<span class="more" >...</span>`
  1035. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  1036. }
  1037. }
  1038. str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
  1039. $('.pagination').html(str)
  1040. $('.page' + activePage).addClass('activePage')
  1041. $(".pageNum").on("click", function(e){
  1042. const activePageNow = Number($(this).attr('data-page'))
  1043. getTabData(activePageNow)
  1044. // renderPagination(totalPage,activePageNow,totalNum)
  1045. })
  1046. $(".prePage").on("click", function(e){
  1047. let activePageNow = Number($(".activePage").attr('data-page'))
  1048. if(activePageNow > 1){
  1049. activePageNow--
  1050. getTabData(activePageNow)
  1051. // renderPagination(totalPage,activePageNow,totalNum)
  1052. }
  1053. })
  1054. $(".nextPage").on("click", function(e){
  1055. let activePageNow = Number($(".activePage").attr('data-page'))
  1056. if(activePageNow < totalPage){
  1057. activePageNow++
  1058. getTabData(activePageNow)
  1059. // renderPagination(totalPage,activePageNow,totalNum)
  1060. }
  1061. })
  1062. }
  1063. $(document).on("click", function(){
  1064. $(".levelList ").css("display", "none")
  1065. $(".deptList").css("display", "none")
  1066. $(".fpCheckList").css("display", "none")
  1067. $(".qcCheckList").css("display", "none")
  1068. $(".selectDept .arrow").attr("src",iconDown)
  1069. $(".selectLevel .arrow").attr("src",iconDown)
  1070. $(".fpSelectCheck .arrow").attr("src",iconDown)
  1071. $(".qcSelectCheck .arrow").attr("src",iconDown)
  1072. })
  1073. $(function($){
  1074. $('.export').click(function(){
  1075. const behosDateStartTime = new Date(behosDateStart).getTime()
  1076. const behosDateEndTime = new Date(behosDateEnd).getTime()
  1077. if(behosDateStartTime > behosDateEndTime){
  1078. $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  1079. return
  1080. }
  1081. if((behosDateEndTime - behosDateStartTime)/24/60/60/1000 > 7){
  1082. $.alerModal({"message":"最多只能导出7天",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  1083. return
  1084. }
  1085. const param = {
  1086. behospitalCode: behospitalCode,
  1087. patName: name, //病人姓名
  1088. level:level,//病历等级
  1089. behDeptName: deptName,
  1090. ascs:data_asc, //升序
  1091. descs:data_desc, //降序
  1092. ruleType:ruleType,
  1093. startDate: behosDateStart.replace(/\//g,'-'), //出院日期--开始时间
  1094. endDate: behosDateEnd.replace(/\//g,'-'), //出院日期--结束时间
  1095. casesEntryName: casesEntryName,
  1096. casesEntryId:"",
  1097. casesId:casesId,
  1098. isReject: isSingleReject,
  1099. doctorName: doctorName,
  1100. doctorId: doctorNum,
  1101. checkStatus: qcCheckStatus?Number(qcCheckStatus):qcCheckStatus, //病历核查状态
  1102. mrStatus: fpCheckStatus?Number(fpCheckStatus):fpCheckStatus, //首页核查状态(1:已核查,0:未核查)
  1103. chName: qcCheckName, //病历核查人员
  1104. mrName: fpCheckName, //首页核查人员
  1105. chTimeStart: qcCheckDateStart.replace(/\//g,'-'), //病历核查起始时间
  1106. chTimeEnd: qcCheckDateEnd.replace(/\//g,'-'), //病历核查截止时间
  1107. mrTimeStart: fpCheckDateStart.replace(/\//g,'-'), //首页核查起始时间
  1108. mrTimeEnd: fpCheckDateEnd.replace(/\//g,'-'), //首页核查截止时间
  1109. }
  1110. expJson(api.qcResultShortPageExport,param).then(res =>{
  1111. downloadExportedData(res.data, $(".partTitle").text()+".xls")
  1112. })
  1113. })
  1114. });