itemDefectDetail.js 25 KB

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