itemDefectDetail.js 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665
  1. const $ = require('jquery');
  2. require("../css/itemDefectDetail.less");
  3. require('./modal.js');
  4. const {api} = require('./api.js')
  5. const {post,getCookie,getUrlArgObjectNew,emptyBox,downloadExportedData,expJson,setDatePicker} = 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. let srcUrl = $("#contentIframe",parent.document).attr("src")
  18. let statisticsType = getUrlArgObjectNew("dateType",srcUrl)||getUrlArgObjectNew("shijian",srcUrl) || ""
  19. let chengdu = getUrlArgObjectNew("chengdu",srcUrl)||""
  20. let deptIdPram = getUrlArgObjectNew("deptId",srcUrl)||""
  21. let deptNamePram = getUrlArgObjectNew("deptName",srcUrl)||""
  22. let docName = getUrlArgObjectNew("docName",srcUrl)||""
  23. let startDateParam = getUrlArgObjectNew("startDate",srcUrl)||""
  24. let endDateParam = getUrlArgObjectNew("endDate",srcUrl)||""
  25. let defectName = getUrlArgObjectNew("defectName",srcUrl)||""
  26. let from = getUrlArgObjectNew("from",srcUrl)||""
  27. let isSingleReject = getUrlArgObjectNew("isSingleReject",srcUrl)||""
  28. let deptList = JSON.parse(getCookie("deptList"))||[]
  29. $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  30. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  31. let tabList = [], name = "", behospitalCode="", behosDateStart="", level="",behosDateEnd="", scoreSum = 0,
  32. nameTemp = "", behospitalCodeTemp="",levelTemp="", deptId="",deptIdTemp="",deptName="",deptNameTemp ="", doctorName="", doctorNum="",doctorNameTemp="",doctorNumTemp="",casesEntryName=""
  33. data_desc=["leaveHospitalDate"],data_asc=[],pageSize = 15,currentPage = 1;
  34. if(chengdu){
  35. levelTemp = chengdu
  36. level = chengdu
  37. $('.selectLevel').html(chengdu)
  38. $(".levelList").css("display", "none")
  39. $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  40. }
  41. if(docName){
  42. doctorNameTemp = docName
  43. doctorName = docName
  44. $('.doctorInp').val(docName)
  45. }
  46. if(defectName){
  47. casesEntryName=defectName
  48. $('.selectDefect').html(casesEntryName)
  49. }
  50. if(deptIdPram&&deptNamePram || from == 2 &&deptList.length > 0 ){
  51. deptIdTemp = deptIdPram
  52. deptId = deptIdPram
  53. deptName = deptNamePram
  54. if(from == 2){
  55. deptId = deptIdTemp = deptList[0].deptId
  56. deptName = deptNameTemp = deptList[0].deptName
  57. }
  58. if(deptName.length > 10){
  59. $('.selectDept').html(deptName.substring(0,8)+'...')
  60. }else{
  61. $('.selectDept').html(deptName)
  62. }
  63. $('.selectDept ').attr('title',deptName)
  64. $(".deptList").css("display", "none")
  65. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  66. }
  67. $('.datapickerBox').append(`<img class="iconCalen" src=${iconCalenGrey} />`)
  68. $('.iconCalen').on("mouseenter", function(e){
  69. $(this).attr("src", iconCalenBlue)
  70. })
  71. $('.iconCalen').on("mouseleave", function(e){
  72. $(this).attr("src", iconCalenGrey)
  73. })
  74. $('.iconCalen').on("click", function(e){
  75. $(this).parent().find("input").focus()
  76. })
  77. $('.recordScoreBtn').css("opacity",hasData('FUNC000017')?'1':'0.5')
  78. $("#filterToggler").click(function(){
  79. const text = $(this).text();
  80. $(".toggle-item").slideToggle();
  81. $(this).text(text==="收起筛选"?"展开筛选":"收起筛选").toggleClass("up");
  82. });
  83. //判断有无某一权限
  84. function hasData(data){
  85. let trdObj = JSON.parse(getCookie("trdObj"))
  86. let lis = trdObj['YH-BLZK-ZKPF']
  87. if(!lis){
  88. return false
  89. }
  90. if(lis.indexOf(data)>-1){//有权限
  91. return true
  92. }
  93. return false;
  94. }
  95. function getTabData(activePage){
  96. const param = {
  97. current:activePage,
  98. behospitalCode: behospitalCode,
  99. patName: name, //病人姓名
  100. level:level,//病历等级
  101. behDeptName: deptName,
  102. ascs:data_asc, //升序
  103. descs:data_desc, //降序
  104. startDate: behosDateStart, //出院日期--开始时间
  105. endDate: behosDateEnd, //出院日期--结束时间
  106. casesEntryName: casesEntryName,
  107. size: pageSize,
  108. isReject: isSingleReject
  109. }
  110. post(from==2?api.qcResultDefectListDept:api.qcResultDefectList,param).then(res =>{
  111. if(res.data.code == '0'){
  112. const data = res.data.data;
  113. currentPage = data.current;
  114. tabList = data.records;
  115. const totalPage = data.pages;
  116. const totalNum = data.total;
  117. renderTab(tabList,data.hospitalId);
  118. renderPagination(totalPage,Number(activePage),totalNum)
  119. if(totalPage > 1){
  120. renderPagination(totalPage,Number(activePage),totalNum)
  121. } else{
  122. $('.pagination').html("")
  123. }
  124. }else{
  125. $.alerModal({"message":res.data.msg,type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  126. }
  127. }).catch((e) =>{
  128. })
  129. }
  130. //getTabData(1)
  131. $(".filter").on("click", function(e){
  132. behosDateStart = $("#datepicker").val().trim()
  133. behosDateEnd = $("#datepicker2").val().trim()
  134. const start = new Date(behosDateStart).getTime()
  135. const end = new Date(behosDateEnd).getTime()
  136. if(start > end){
  137. $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  138. return
  139. }
  140. if(behosDateStart){
  141. behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
  142. }
  143. if(behosDateEnd){
  144. behosDateEnd = behosDateEnd.replace(/\//g,'-') + ' 23:59:59'
  145. }
  146. console.log('deptNameTemp',deptNameTemp)
  147. name = nameTemp
  148. behospitalCode = behospitalCodeTemp
  149. level = levelTemp==="全部"?"":levelTemp
  150. deptId = deptIdTemp
  151. deptName = deptNameTemp==="全部"?"":deptNameTemp
  152. doctorName = doctorNameTemp
  153. doctorNum = doctorNumTemp
  154. getTabData(1)
  155. })
  156. $(".abnormalClear").on("click", function(e){
  157. tabList = [];
  158. name = "";
  159. behospitalCode="";
  160. level="";
  161. scoreSum = 0;
  162. nameTemp = "";
  163. behospitalCodeTemp="";
  164. levelTemp="";
  165. deptId="";
  166. deptIdTemp="";
  167. deptName="";
  168. deptNameTmp="";
  169. doctorName="";
  170. doctorNum="";
  171. doctorNameTemp="";
  172. doctorNumTemp="";
  173. data_desc=["leaveHospitalDate"];
  174. data_asc=[];
  175. if(from == 2){
  176. deptId = deptIdTemp = deptList[0].deptId
  177. deptName = deptNameTmp = deptList[0].deptName
  178. }
  179. $('.patientNumInp').val('')
  180. $('.patientNameInp').val('')
  181. $('.doctorInp').val('')
  182. $('.doctorNumInp').val('')
  183. $('.doctorInp').val('')
  184. // $('#datepicker').val('')
  185. // $('#datepicker2').val('')
  186. //默认日期为近一个月
  187. setDatePicker($("#datepicker"),$("#datepicker2"),"default")
  188. if(from == 2){
  189. $('.selectDept ').html(deptName)
  190. }else{
  191. $('.selectDept ').html('全部')
  192. }
  193. $(".deptList").css("display", "none")
  194. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  195. // $('.selectDept ').addClass('unSelect')
  196. $('.selectLevel').html('全部')
  197. $(".levelList").css("display", "none")
  198. $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  199. // $('.selectLevel ').addClass('unSelect')
  200. $("th[code]").removeClass("asc desc")
  201. behosDateStart = $("#datepicker").val().trim()
  202. behosDateEnd = $("#datepicker2").val().trim()
  203. if(behosDateStart){
  204. behosDateStart = behosDateStart.replace(/\//g,'-') + ' 00:00:00'
  205. }
  206. if(behosDateEnd){
  207. behosDateEnd = behosDateEnd.replace(/\//g,'-') + ' 23:59:59'
  208. }
  209. getTabData(1)
  210. })
  211. function renderTab(data,hisId){
  212. let str = ``
  213. let hasSelectAll = true;
  214. if(data.length===0){
  215. $('.tbody').html(emptyBox())
  216. return;
  217. }
  218. for(let i = 0; i < data.length; i++){
  219. const item = data[i]
  220. if(!item.hasSelect){
  221. hasSelectAll = false
  222. }
  223. str += `
  224. <tr data-index=${i}>
  225. <td class="textCenter">${pageSize * (currentPage-1) + i + 1}</td>
  226. <td >${item.behospitalCode || "-"}</td>
  227. <td class="textCenter">${item.level || "-"}</td>
  228. <td class="textCenter">${item.scoreRes || "-"}</td>
  229. <td class="textCenter"><span data-index=${i} class="patientNameSpan">${item.patName || "-"}<span></td>
  230. <td class="textCenter">${item.sex || "-"}</td>
  231. <td class="textCenter">${item.age || "-"}</td>
  232. <td class="textCenter">${item.behDeptName || "-"}</td>
  233. <td class="textCenter">${item.leaveHospitalDate&&item.leaveHospitalDate.slice(0,10)|| "-"}</td>
  234. </tr>
  235. `
  236. }
  237. if(data.length === 0){
  238. hasSelectAll = false
  239. }
  240. if(hasSelectAll){
  241. $('.scoreOpera img').attr("src" ,iconCheck)
  242. $('.scoreOpera').attr("data-selectall",true)
  243. }else{
  244. $('.scoreOpera img').attr("src" ,iconUnCheck)
  245. $('.scoreOpera').attr("data-selectall",false)
  246. }
  247. $('.tbody').html(str)
  248. bindScoreOperaItem()
  249. bindRecordScoreOper()
  250. bindScoreDetail(hisId)
  251. }
  252. function scoreDetail(id,age,hid,code,name){
  253. window.open(`./qcScore.html?id=${id}&age=${age}&name=${name}&hid=${getCookie('hospitalid')}&code=${code}`)
  254. }
  255. function bindScoreDetail(hisId){
  256. $('.patientNameSpan').on('click',function(e){
  257. const index = $(this).attr("data-index")
  258. const id = tabList[index].behospitalCode
  259. const age = tabList[index].age;
  260. const noScore = tabList[index].level == '未评分'
  261. if(noScore){
  262. $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  263. return
  264. } else{
  265. scoreDetail(id,age,hisId,'YH-BLZK-ZKPF',tabList[index].patName)
  266. }
  267. })
  268. }
  269. //选择病历等级
  270. $('.selectLevel').on("click", function(e){
  271. e.stopPropagation()
  272. $(".deptList ").css("display", "none")
  273. $(".selectDept .arrow").attr("src",iconDown)
  274. const showList = $(".levelList ").css("display")
  275. if(showList == "none" ||!showList){
  276. $(".levelList ").css("display","block")
  277. $(".selectLevel .arrow").attr("src",iconUp)
  278. }else{
  279. $(".levelList ").css("display", "none")
  280. $(".selectLevel .arrow").attr("src",iconDown)
  281. }
  282. })
  283. bindLeveldSelect()
  284. //是否启用选择
  285. function bindLeveldSelect(){
  286. $('.levelItem').on("click",function(){
  287. const levelItemName = $(this).attr("data-name")
  288. const levelItemItemId = $(this).attr("data-id")
  289. levelTemp =levelItemItemId
  290. $('.selectLevel').html(levelItemName)
  291. $(".levelList").css("display", "none")
  292. $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  293. $('.selectLevel').removeClass('unSelect')
  294. })
  295. }
  296. //全选绑定
  297. bindOperaAll()
  298. function bindScoreOperaItem(){
  299. $(".scoreOperaItem").on("click", function(e){
  300. const index = $(this).parent().attr("data-index")
  301. tabList[index].hasSelect = tabList[index].hasSelect ? false:true
  302. renderTab(tabList)
  303. })
  304. }
  305. function bindRecordScoreOper(){
  306. $(".recordScoreOperaBtn").on("click", function(e){
  307. if(!hasData('FUNC000017')){
  308. return
  309. }
  310. const index = $(this).parent().attr("data-index")
  311. const behospitalCode = tabList[index].behospitalCode
  312. loading()
  313. recordScore(behospitalCode,1,true)
  314. })
  315. }
  316. function bindOperaAll(){
  317. $('.scoreOpera').on("click", function(e){
  318. const hasSelectAll = $('.scoreOpera').attr("data-selectall")
  319. if(hasSelectAll == 'true'){
  320. for(let i = 0; i < tabList.length; i++){
  321. tabList[i].hasSelect = false
  322. }
  323. }else{
  324. for(let i = 0; i < tabList.length; i++){
  325. tabList[i].hasSelect = true
  326. }
  327. }
  328. renderTab(tabList)
  329. })
  330. }
  331. $('.selectDept').on("click", function(e){
  332. e.stopPropagation()
  333. $(".levelList ").css("display","none")
  334. $(".selectLevel .arrow").attr("src",iconDown)
  335. const showList = $(".deptList ").css("display")
  336. if(showList == "none" ||!showList){
  337. $(".deptList ").css("display","block")
  338. $(".selectDept .arrow").attr("src",iconUp)
  339. }else{
  340. $(".deptList ").css("display", "none")
  341. $(".selectDept .arrow").attr("src",iconDown)
  342. }
  343. })
  344. //获取科室列表
  345. getDeptList()
  346. function getDeptList(){
  347. if(from == 2){
  348. rendeDeptList(deptList)
  349. return
  350. }
  351. post(api.getDeptList,{inputStr:""}).then(res =>{
  352. if(res.data.code == '0'){
  353. const deptList = res.data.data
  354. rendeDeptList(deptList)
  355. }else{}
  356. }).catch((e) =>{
  357. })
  358. }
  359. function rendeDeptList(deptList){
  360. let str
  361. if(from == 2){
  362. str = ``;
  363. } else{
  364. str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`;
  365. }
  366. for(let i = 0; i < deptList.length; i++){
  367. str += `<li class="deptItem ellipsis" title=${deptList[i].deptName} data-id=${deptList[i].deptId} data-name=${deptList[i].deptName}> ${deptList[i].deptName}</li>`
  368. }
  369. $('.deptList').html(str)
  370. bindDeptSelect()
  371. }
  372. //科室选择
  373. function bindDeptSelect(){
  374. $('.deptItem').on("click",function(){
  375. const deptItemName = $(this).attr("data-name")
  376. const deptItemId = $(this).attr("data-id")
  377. deptIdTemp =deptItemId
  378. deptNameTemp = deptItemName
  379. if(deptItemName.length > 10){
  380. $('.selectDept').html(deptItemName.substring(0,8)+'...')
  381. }else{
  382. $('.selectDept').html(deptItemName)
  383. }
  384. $('.selectDept ').attr('title',deptItemName)
  385. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  386. $(".deptList").css("display", "none")
  387. $('.selectDept').removeClass('unSelect')
  388. })
  389. }
  390. function loading(){
  391. const str = `
  392. <div class="loadingBox">
  393. <div class="mask"></div>
  394. <img class="loadingImg" src=${loadingImg} alt="loading" />
  395. </div>
  396. `
  397. $("#mainBox", parent.document).append(str)
  398. }
  399. function hideLoading(){
  400. $("#mainBox .loadingBox", parent.document).remove()
  401. }
  402. $('.recordScoreBtn').on("click",function(e){
  403. if(!hasData('FUNC000017')){
  404. return
  405. }
  406. let scoreList = []
  407. for(let i = 0; i <tabList.length; i++){
  408. if(tabList[i].hasSelect){
  409. scoreList.push(tabList[i].behospitalCode)
  410. }
  411. }
  412. if(scoreList.length === 0){
  413. $.alerModal({"message":'请选择要评分的项!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  414. return
  415. } else{
  416. loading()
  417. for(let j = 0; j < scoreList.length; j++){
  418. recordScore(scoreList[j],scoreList.length,true)
  419. }
  420. }
  421. })
  422. $("th[code]").on("click",function(e){
  423. const code=$(this).attr("code");
  424. if(data_asc[0]===code){
  425. data_desc=[code];
  426. data_asc=[];
  427. $("th[code]").removeClass("asc desc");
  428. $(this).addClass("desc");
  429. }else{
  430. data_desc=[];
  431. data_asc=[code];
  432. $("th[code]").removeClass("asc desc");
  433. $(this).addClass("asc");
  434. }
  435. getTabData(1);
  436. // console.log(code)
  437. });
  438. function recordScore(behospitalCode,totalNum,hasToast){
  439. const param = {
  440. behospitalCode: behospitalCode
  441. }
  442. post(api.recordScore,param).then(res =>{
  443. if(res.data.code == '0'){
  444. scoreSum++
  445. if(scoreSum === totalNum){
  446. hideLoading()
  447. scoreSum = 0
  448. const activePage = $(".activePage").attr('data-page') || 1
  449. getTabData(activePage)
  450. if(hasToast){
  451. $.alerModal({"message":'评分成功',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  452. }
  453. }
  454. }else{
  455. hideLoading()
  456. if(hasToast){
  457. $.alerModal({"message":'评分失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  458. }
  459. }
  460. }).catch((e) =>{
  461. hideLoading()
  462. if(hasToast){
  463. $.alerModal({"message":'评分失败',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  464. }
  465. })
  466. }
  467. $(".patientNumInp").on("input", function(e){
  468. const val = $(this).val().trim()
  469. behospitalCodeTemp = val
  470. })
  471. $(".patientNameInp").on("input", function(e){
  472. const val = $(this).val().trim()
  473. nameTemp = val
  474. })
  475. $(".doctorInp").on("input", function(e){
  476. const val = $(this).val().trim()
  477. doctorNameTemp = val
  478. })
  479. $(".doctorNumInp").on("input", function(e){
  480. const val = $(this).val().trim();
  481. doctorNumTemp = val
  482. })
  483. $(function() {
  484. $.datepicker.regional['zh-CN'] = {
  485. clearText: '清除',
  486. clearStatus: '清除已选e799bee5baa6e59b9ee7ad9431333361303131日期',
  487. closeText: '关闭',
  488. closeStatus: '不改变当前选择',
  489. prevText: '<上月',
  490. prevStatus: '显示上月',
  491. prevBigText: '<<',
  492. prevBigStatus: '显示上一年',
  493. nextText: '下月>',
  494. nextStatus: '显示下月',
  495. nextBigText: '>>',
  496. nextBigStatus: '显示下一年',
  497. currentText: '今天',
  498. currentStatus: '显示本月',
  499. monthNames: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
  500. monthNamesShort: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
  501. yearNamesShort: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
  502. monthStatus: '选择月份',
  503. yearStatus: '选择年份',
  504. weekHeader: '周',
  505. weekStatus: '年内周次',
  506. dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
  507. dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
  508. dayNamesMin: ['日','一','二','三','四','五','六'],
  509. dayStatus: '设置 DD 为一周起始',
  510. dateStatus: '选择 m月 d日, DD',
  511. dateFormat: 'yy-mm-dd',
  512. firstDay: 1,
  513. initStatus: '请选择日期',
  514. isRTL: false};
  515. $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
  516. let startDate = "", endDate=new Date()
  517. let year = new Date().getFullYear()
  518. let month = new Date().getMonth() + 1
  519. if(statisticsType == '1'){
  520. startDate = new Date(`${year}-${month}-01`)
  521. }else if(statisticsType == '2'){
  522. startDate = new Date(`${year}-01-01`)
  523. } else {
  524. startDate =new Date(startDateParam)
  525. endDate = new Date(endDateParam) || new Date()
  526. }
  527. $( "#datepicker" ).datepicker({
  528. changeMonth: true,
  529. changeYear: true,
  530. dateFormat:"yy/mm/dd",
  531. }).datepicker( "setDate", startDate);
  532. $( "#datepicker2" ).datepicker({
  533. changeMonth: true,
  534. changeYear: true,
  535. dateFormat:"yy/mm/dd"
  536. }).datepicker( "setDate",endDate);
  537. $(".filter").click(); //初始查询
  538. if(from==2){
  539. $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
  540. }else{
  541. $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台 / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
  542. }
  543. $(".partTitle .consoleD").click(function(){
  544. $(".menu .page",parent.document).removeClass("active").eq(0).addClass("active");
  545. $(".container",parent.document).addClass("console-cont");
  546. })
  547. $(".partTitle .consoleP").click(function(){
  548. $(parent.document).find("#contentIframe").attr("src",`./singleVeto.html?from=${from}`)
  549. })
  550. });
  551. //分页渲染
  552. function renderPagination(totalPage,activePage,totalNum){
  553. let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
  554. if(totalPage <= 6){
  555. for(let i = 1; i <= totalPage; i++){
  556. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  557. }
  558. }else{
  559. if(activePage <= 3){ //选中页数小于4
  560. for(let i = 1; i <= 4; i++){
  561. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  562. }
  563. str += `<span class="more" >...</span>`
  564. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  565. } else if(activePage > totalPage -3){
  566. str += `<span class="pageNum page1" data-page=1>1</span>`
  567. str += `<span class="more" >...</span>`
  568. str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
  569. str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
  570. str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
  571. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  572. } else {
  573. str += `<span class="pageNum page1" data-page=1>1</span>`
  574. str += `<span class="more" >...</span>`
  575. str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
  576. str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
  577. str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
  578. str += `<span class="more" >...</span>`
  579. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  580. }
  581. }
  582. str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
  583. $('.pagination').html(str)
  584. $('.page' + activePage).addClass('activePage')
  585. $(".pageNum").on("click", function(e){
  586. const activePageNow = Number($(this).attr('data-page'))
  587. getTabData(activePageNow)
  588. // renderPagination(totalPage,activePageNow,totalNum)
  589. })
  590. $(".prePage").on("click", function(e){
  591. let activePageNow = Number($(".activePage").attr('data-page'))
  592. if(activePageNow > 1){
  593. activePageNow--
  594. getTabData(activePageNow)
  595. // renderPagination(totalPage,activePageNow,totalNum)
  596. }
  597. })
  598. $(".nextPage").on("click", function(e){
  599. let activePageNow = Number($(".activePage").attr('data-page'))
  600. if(activePageNow < totalPage){
  601. activePageNow++
  602. getTabData(activePageNow)
  603. // renderPagination(totalPage,activePageNow,totalNum)
  604. }
  605. })
  606. }
  607. $(document).on("click", function(){
  608. $(".levelList ").css("display", "none")
  609. $(".deptList").css("display", "none")
  610. $(".selectLevel .arrow").attr("src",iconDown)
  611. })
  612. $((function($){
  613. $('.export').click(function(){
  614. if((new Date(behosDateEnd) - new Date(behosDateStart))/24/60/60/1000 > 7){
  615. $.alerModal({"message":"最多只能导出7天",type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  616. return
  617. }
  618. const param = {
  619. "behospitalCode": behospitalCode,
  620. "deptId": deptId,
  621. "doctorCode":doctorNum,
  622. "doctorName": doctorName,
  623. "leaveHosDateEnd": '2020-04-03 00:00:00'||behosDateEnd,
  624. "leaveHosDateStart": '2020-04-01 00:00:00'||behosDateStart,
  625. "level": 2||level,
  626. "name": name
  627. }
  628. expJson(api.exportQcList,param).then(res =>{
  629. downloadExportedData(res.data, behosDateStart.slice(0,10).replace(/-/g,"")+"-"+behosDateEnd.slice(0,10).replace(/-/g,"")+"抽查住院病历质量情况.xls")
  630. })
  631. })
  632. })($));