itemDefectDetail.js 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684
  1. const $ = require('jquery');
  2. require("../css/itemDefectDetail.less");
  3. require('./modal.js');
  4. const {api} = require('./api.js')
  5. const {post,getCookie,setCookie,getLocal,getUrlArgObjectNew,emptyBox,downloadExportedData,expJson,setDatePicker,getLogoParam,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(localStorage.getItem('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(getLocal("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. const logoParam = getLogoParam();
  263. window.open(`./qcScore.html?id=${id}&age=${age}&name=${name}&hid=${getCookie('hospitalid')}&code=${code}`+logoParam)
  264. }
  265. function bindScoreDetail(hisId){
  266. $('.patientNameSpan').on('click',function(e){
  267. const index = $(this).attr("data-index")
  268. const id = tabList[index].behospitalCode
  269. const age = tabList[index].age;
  270. const noScore = tabList[index].level == '未评分'
  271. if(noScore){
  272. $.alerModal({"message":'请先进行评分!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  273. return
  274. } else{
  275. scoreDetail(id,age,hisId,'YH-BLZK-ZKPF',tabList[index].patName)
  276. }
  277. })
  278. }
  279. //选择病历等级
  280. $('.selectLevel').on("click", function(e){
  281. e.stopPropagation()
  282. $(".deptList ").css("display", "none")
  283. $(".selectDept .arrow").attr("src",iconDown)
  284. const showList = $(".levelList ").css("display")
  285. if(showList == "none" ||!showList){
  286. $(".levelList ").css("display","block")
  287. $(".selectLevel .arrow").attr("src",iconUp)
  288. }else{
  289. $(".levelList ").css("display", "none")
  290. $(".selectLevel .arrow").attr("src",iconDown)
  291. }
  292. })
  293. bindLeveldSelect()
  294. //是否启用选择
  295. function bindLeveldSelect(){
  296. $('.levelItem').on("click",function(){
  297. const levelItemName = $(this).attr("data-name")
  298. const levelItemItemId = $(this).attr("data-id")
  299. levelTemp =levelItemItemId
  300. $('.selectLevel').html(levelItemName)
  301. $(".levelList").css("display", "none")
  302. $(".selectLevel").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  303. $('.selectLevel').removeClass('unSelect')
  304. })
  305. }
  306. //全选绑定
  307. bindOperaAll()
  308. function bindScoreOperaItem(){
  309. $(".scoreOperaItem").on("click", function(e){
  310. const index = $(this).parent().attr("data-index")
  311. tabList[index].hasSelect = tabList[index].hasSelect ? false:true
  312. renderTab(tabList)
  313. })
  314. }
  315. function bindRecordScoreOper(){
  316. $(".recordScoreOperaBtn").on("click", function(e){
  317. if(!hasData('FUNC000017')){
  318. return
  319. }
  320. const index = $(this).parent().attr("data-index")
  321. const behospitalCode = tabList[index].behospitalCode
  322. loading()
  323. recordScore(behospitalCode,1,true)
  324. })
  325. }
  326. function bindOperaAll(){
  327. $('.scoreOpera').on("click", function(e){
  328. const hasSelectAll = $('.scoreOpera').attr("data-selectall")
  329. if(hasSelectAll == 'true'){
  330. for(let i = 0; i < tabList.length; i++){
  331. tabList[i].hasSelect = false
  332. }
  333. }else{
  334. for(let i = 0; i < tabList.length; i++){
  335. tabList[i].hasSelect = true
  336. }
  337. }
  338. renderTab(tabList)
  339. })
  340. }
  341. $('.selectDept').on("click", function(e){
  342. e.stopPropagation()
  343. $(".levelList ").css("display","none")
  344. $(".selectLevel .arrow").attr("src",iconDown)
  345. const showList = $(".deptList ").css("display")
  346. if(showList == "none" ||!showList){
  347. $(".deptList ").css("display","block")
  348. $(".selectDept .arrow").attr("src",iconUp)
  349. }else{
  350. $(".deptList ").css("display", "none")
  351. $(".selectDept .arrow").attr("src",iconDown)
  352. }
  353. })
  354. //获取科室列表
  355. getDeptList()
  356. function getDeptList(){
  357. if(from == 2){
  358. rendeDeptList(deptList)
  359. return
  360. }
  361. post(api.getDeptList,{inputStr:""}).then(res =>{
  362. if(res.data.code == '0'){
  363. const deptList = res.data.data
  364. rendeDeptList(deptList)
  365. }else{}
  366. }).catch((e) =>{
  367. })
  368. }
  369. function rendeDeptList(deptList){
  370. let str
  371. if(from == 2){
  372. str = ``;
  373. } else{
  374. str = `<li class="deptItem ellipsis" data-id=" " data-name="全部">全部</li>`;
  375. }
  376. for(let i = 0; i < deptList.length; i++){
  377. str += `<li class="deptItem ellipsis" title=${deptList[i].deptName} data-id=${deptList[i].deptId} data-name=${deptList[i].deptName}> ${deptList[i].deptName}</li>`
  378. }
  379. $('.deptList').html(str)
  380. bindDeptSelect()
  381. }
  382. //科室选择
  383. function bindDeptSelect(){
  384. $('.deptItem').on("click",function(){
  385. const deptItemName = $(this).attr("data-name")
  386. const deptItemId = $(this).attr("data-id")
  387. deptIdTemp =deptItemId
  388. deptNameTemp = deptItemName
  389. if(deptItemName.length > 10){
  390. $('.selectDept').html(deptItemName.substring(0,8)+'...')
  391. }else{
  392. $('.selectDept').html(deptItemName)
  393. }
  394. $('.selectDept ').attr('title',deptItemName)
  395. $(".selectDept").append(`<img class="arrow" src=${iconDown} alt="下拉">`)
  396. $(".deptList").css("display", "none")
  397. $('.selectDept').removeClass('unSelect')
  398. })
  399. }
  400. function loading(){
  401. const str = `
  402. <div class="loadingBox">
  403. <div class="mask"></div>
  404. <img class="loadingImg" src=${loadingImg} alt="loading" />
  405. </div>
  406. `
  407. $("#mainBox", parent.document).append(str)
  408. }
  409. function hideLoading(){
  410. $("#mainBox .loadingBox", parent.document).remove()
  411. }
  412. $('.recordScoreBtn').on("click",function(e){
  413. if(!hasData('FUNC000017')){
  414. return
  415. }
  416. let scoreList = []
  417. for(let i = 0; i <tabList.length; i++){
  418. if(tabList[i].hasSelect){
  419. scoreList.push(tabList[i].behospitalCode)
  420. }
  421. }
  422. if(scoreList.length === 0){
  423. $.alerModal({"message":'请选择要评分的项!',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  424. return
  425. } else{
  426. loading()
  427. for(let j = 0; j < scoreList.length; j++){
  428. recordScore(scoreList[j],scoreList.length,true)
  429. }
  430. }
  431. })
  432. $("th[code]").on("click",function(e){
  433. const code=$(this).attr("code");
  434. if(data_asc[0]===code){
  435. data_desc=[code];
  436. data_asc=[];
  437. $("th[code]").removeClass("asc desc");
  438. $(this).addClass("desc");
  439. }else{
  440. data_desc=[];
  441. data_asc=[code];
  442. $("th[code]").removeClass("asc desc");
  443. $(this).addClass("asc");
  444. }
  445. getTabData(1);
  446. // console.log(code)
  447. });
  448. function recordScore(behospitalCode,totalNum,hasToast){
  449. const param = {
  450. behospitalCode: behospitalCode
  451. }
  452. post(api.recordScore,param).then(res =>{
  453. if(res.data.code == '0'){
  454. scoreSum++
  455. if(scoreSum === totalNum){
  456. hideLoading()
  457. scoreSum = 0
  458. const activePage = $(".activePage").attr('data-page') || 1
  459. getTabData(activePage)
  460. if(hasToast){
  461. $.alerModal({"message":'评分成功',type:"tip",time:'1000',isFather: true,win: true, fatherWrapper: $("#mainBox", parent.document)});
  462. }
  463. }
  464. }else{
  465. hideLoading()
  466. const activePage = $(".activePage").attr('data-page') || 1
  467. getTabData(activePage)
  468. if(hasToast){
  469. $.alerModal({"message":'评分失败,请重试~',type:"tip",time:'1000',isFather: true,win: 'default', fatherWrapper: $("#mainBox", parent.document)});
  470. }
  471. }
  472. }).catch((e) =>{
  473. hideLoading()
  474. const activePage = $(".activePage").attr('data-page') || 1
  475. getTabData(activePage)
  476. if(hasToast){
  477. $.alerModal({"message":'评分失败,请重试~',type:"tip",time:'1000',isFather: true,win: 'default', fatherWrapper: $("#mainBox", parent.document)});
  478. }
  479. })
  480. }
  481. $(".patientNumInp").on("input", function(e){
  482. const val = $(this).val().trim()
  483. behospitalCodeTemp = val
  484. })
  485. $(".patientNameInp").on("input", function(e){
  486. const val = $(this).val().trim()
  487. nameTemp = val
  488. })
  489. $(".doctorInp").on("input", function(e){
  490. const val = $(this).val().trim()
  491. doctorNameTemp = val
  492. })
  493. $(".doctorNumInp").on("input", function(e){
  494. const val = $(this).val().trim();
  495. doctorNumTemp = val
  496. })
  497. $(function() {
  498. $.datepicker.regional['zh-CN'] = {
  499. clearText: '清除',
  500. clearStatus: '清除已选e799bee5baa6e59b9ee7ad9431333361303131日期',
  501. closeText: '关闭',
  502. closeStatus: '不改变当前选择',
  503. prevText: '<上月',
  504. prevStatus: '显示上月',
  505. prevBigText: '<<',
  506. prevBigStatus: '显示上一年',
  507. nextText: '下月>',
  508. nextStatus: '显示下月',
  509. nextBigText: '>>',
  510. nextBigStatus: '显示下一年',
  511. currentText: '今天',
  512. currentStatus: '显示本月',
  513. monthNames: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
  514. monthNamesShort: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
  515. yearNamesShort: ['一月','二月','三月','四月','五月','六月', '七月','八月','九月','十月','十一月','十二月'],
  516. monthStatus: '选择月份',
  517. yearStatus: '选择年份',
  518. weekHeader: '周',
  519. weekStatus: '年内周次',
  520. dayNames: ['星期日','星期一','星期二','星期三','星期四','星期五','星期六'],
  521. dayNamesShort: ['周日','周一','周二','周三','周四','周五','周六'],
  522. dayNamesMin: ['日','一','二','三','四','五','六'],
  523. dayStatus: '设置 DD 为一周起始',
  524. dateStatus: '选择 m月 d日, DD',
  525. dateFormat: 'yy-mm-dd',
  526. firstDay: 1,
  527. initStatus: '请选择日期',
  528. isRTL: false};
  529. $.datepicker.setDefaults($.datepicker.regional['zh-CN']);
  530. let startDate = "", endDate=new Date()
  531. let year = new Date().getFullYear()
  532. let month = new Date().getMonth() + 1
  533. if(statisticsType == '1'){
  534. startDate = new Date(`${year}-${month}-01`)
  535. }else if(statisticsType == '2'){
  536. startDate = new Date(`${year}-01-01`)
  537. } else {
  538. startDate =new Date(startDateParam)
  539. endDate = new Date(endDateParam) || new Date()
  540. }
  541. $( "#datepicker" ).datepicker({
  542. changeMonth: true,
  543. changeYear: true,
  544. dateFormat:"yy/mm/dd",
  545. }).datepicker( "setDate", startDate);
  546. $( "#datepicker2" ).datepicker({
  547. changeMonth: true,
  548. changeYear: true,
  549. dateFormat:"yy/mm/dd"
  550. }).datepicker( "setDate",endDate);
  551. $(".filter").click(); //初始查询
  552. if(from==2){
  553. $(".partTitle .titlePic ").html(`<a class="consoleD" href="deptConsole.html">控制台(科室) / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
  554. }else if(from==3){
  555. $(".partTitle .titlePic ").html(`<a href="keyItemFlawControl.html">关键条目缺陷占比 / </a>缺陷详情`)
  556. }else{
  557. $(".partTitle .titlePic ").html(`<a class="consoleD" href="console.html">控制台 / </a><a class="consoleP" href="singleVeto.html?from=1">条目缺陷占比 / </a>缺陷详情`)
  558. }
  559. $(".partTitle .consoleD").click(function(){
  560. $(".menu .page",parent.document).removeClass("active").eq(0).addClass("active");
  561. $(".container",parent.document).addClass("console-cont");
  562. })
  563. $(".partTitle .consoleP").click(function(){
  564. $(parent.document).find("#contentIframe").attr("src",`./singleVeto.html?from=${from}&fromThree=3`)
  565. })
  566. setCookie('excelName', $(".partTitle").text());
  567. });
  568. //分页渲染
  569. function renderPagination(totalPage,activePage,totalNum){
  570. let str = `<span class="totalSum">共${totalPage}页/${totalNum}条数据</span><span class="prePage"><img class="arrowPage" src=${arrowLeft} /></span>`
  571. if(totalPage <= 6){
  572. for(let i = 1; i <= totalPage; i++){
  573. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  574. }
  575. }else{
  576. if(activePage <= 3){ //选中页数小于4
  577. for(let i = 1; i <= 4; i++){
  578. str += `<span class="pageNum ${'page'+i}" data-page=${i}>${i}</span>`
  579. }
  580. str += `<span class="more" >...</span>`
  581. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  582. } else if(activePage > totalPage -3){
  583. str += `<span class="pageNum page1" data-page=1>1</span>`
  584. str += `<span class="more" >...</span>`
  585. str += `<span class="pageNum ${'page'+(totalPage-3)}" data-page=${totalPage -3}>${totalPage -3}</span>`
  586. str += `<span class="pageNum ${'page'+(totalPage-2)}" data-page=${totalPage -2}>${totalPage -2}</span>`
  587. str += `<span class="pageNum ${'page'+(totalPage-1)}" data-page=${totalPage -1}>${totalPage -1}</span>`
  588. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  589. } else {
  590. str += `<span class="pageNum page1" data-page=1>1</span>`
  591. str += `<span class="more" >...</span>`
  592. str += `<span class="pageNum ${'page'+(activePage -1)}" data-page=${activePage -1}>${activePage -1}</span>`
  593. str += `<span class="pageNum ${'page'+activePage}" data-page=${activePage}>${activePage}</span>`
  594. str += `<span class="pageNum ${'page'+(activePage +1)}" data-page=${activePage +1}>${activePage +1}</span>`
  595. str += `<span class="more" >...</span>`
  596. str += `<span class="pageNum ${'page'+totalPage}" data-page=${totalPage}>${totalPage}</span>`
  597. }
  598. }
  599. str += `<span class="nextPage"><img class="arrowPage" src=${arrowRight} /></span>`
  600. $('.pagination').html(str)
  601. $('.page' + activePage).addClass('activePage')
  602. $(".pageNum").on("click", function(e){
  603. const activePageNow = Number($(this).attr('data-page'))
  604. getTabData(activePageNow)
  605. // renderPagination(totalPage,activePageNow,totalNum)
  606. })
  607. $(".prePage").on("click", function(e){
  608. let activePageNow = Number($(".activePage").attr('data-page'))
  609. if(activePageNow > 1){
  610. activePageNow--
  611. getTabData(activePageNow)
  612. // renderPagination(totalPage,activePageNow,totalNum)
  613. }
  614. })
  615. $(".nextPage").on("click", function(e){
  616. let activePageNow = Number($(".activePage").attr('data-page'))
  617. if(activePageNow < totalPage){
  618. activePageNow++
  619. getTabData(activePageNow)
  620. // renderPagination(totalPage,activePageNow,totalNum)
  621. }
  622. })
  623. }
  624. $(document).on("click", function(){
  625. $(".levelList ").css("display", "none")
  626. $(".deptList").css("display", "none")
  627. $(".selectLevel .arrow").attr("src",iconDown)
  628. })
  629. $(function(){
  630. $('.exportData').click(function(){
  631. const start = new Date(behosDateStart).getTime()
  632. const end = new Date(behosDateEnd).getTime()
  633. if(start > end){
  634. $.alerModal({"message":'开始时间不能大于结束时间~',type:"tip",time:'1000',isFather: true, fatherWrapper: $("#mainBox", parent.document)});
  635. return
  636. }
  637. const param = {
  638. behospitalCode: behospitalCode,
  639. isPlacefile: isPlacefile,
  640. patName: name, //病人姓名
  641. level:level,//病历等级
  642. behDeptName: deptName,
  643. ascs:data_asc, //升序
  644. descs:data_desc, //降序
  645. startDate: behosDateStart, //出院日期--开始时间
  646. endDate: behosDateEnd, //出院日期--结束时间
  647. casesEntryName: casesEntryName,
  648. casesEntryId:casesId,
  649. isReject: isSingleReject
  650. }
  651. expJson(api.qcResultShortPageExport,param).then(res =>{
  652. downloadExportedData(res.data, $(".partTitle").text()+".xls")
  653. })
  654. })
  655. });