followUp.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. var $ = require("jquery");
  2. var { post,config,getUrlArgObject,openNewWin,isIe8 } = require('./promise.js');
  3. function getFollowUp(msg){
  4. return post(config.followUp, msg)
  5. }
  6. function renderFollowUp(msg){
  7. getFollowUp(msg).then(res =>{
  8. if(res.data.code === "0"){
  9. const result = res.data.data&&res.data.data.pushPlans || []
  10. renderPage(result)
  11. }
  12. })
  13. }
  14. function renderPage(data){
  15. const operaItem = data[0] || {}
  16. const operaItemName = operaItem.item || {}
  17. const operaItemDetail = operaItem.pushPlanDetails || []
  18. renderName(operaItemName)
  19. let dom1 = document.getElementById('operaNameWrap')
  20. let dom2 = document.getElementById('btnBox')
  21. console.log("dom1",dom1,"dom2",dom2)
  22. renderBtn(operaItemDetail)
  23. let arr = [].push(dom1,dom2)
  24. // checkDom(arr, renderDetail(operaItemDetail))
  25. }
  26. function renderName(data){
  27. const operationTime = data.dateValue&&getTime(data.dateValue)
  28. const operationName = data.name || ""
  29. const str = `<div class="operaNameWrap" id="operaNameWrap"><div class="operaNameBox">患者于<span class="operaNameBold">${operationTime}</span>进行<span class="operaNameBold">${operationName}</span>。根据临床路径要求,特制订检验检查计划如下。</div></div>`
  30. $(".followUpWrap").append(str)
  31. }
  32. function renderDetail(data){
  33. let str = ``
  34. for(let i = 0; i < data.length; i++){
  35. const item = data[i]
  36. const lisArr = item.lis || []
  37. const pacsArr = item.pacs || []
  38. let lisStr=``
  39. let pacsStr=``
  40. let title = `<p>${getTime(item.examineDate)}${item.description&&(item.description)}</p>`
  41. for(let i = 0; i < lisArr.length; i++){
  42. lisStr += `<div><span class="circle"></span>${lisArr[i]}</div>`
  43. }
  44. for(let i = 0; i < pacsArr.length; i++){
  45. pacsStr += `<div><span class="circle"></span>${pacsArr[i]}</div>`
  46. }
  47. str += `<div class="infoBox">
  48. ${title}
  49. <div class="lisBox">${lisStr}</div>
  50. <div class="pacsBox">${pacsStr}</div>
  51. </div>`
  52. }
  53. adjustHeight()
  54. }
  55. function renderBtn(data){
  56. const hasBtn = data[0]&&data[0].history&&data[0].history === 0
  57. if(!hasBtn){
  58. return
  59. }
  60. const str = `<div class="btnBox" id="btnBox"><span class="btnName">显示历史计划</span></div>`
  61. $(".followUpWrap").append(str)
  62. }
  63. function adjustHeight() {
  64. var containerHt = $(".contentWrapper").height()
  65. var ht1 = $(".operaNameWrap").height()
  66. var ht2 = $(".btnBox").height()
  67. $(".followUpWrap .infoWrap").height(containerHt -ht1- ht2 + "px");
  68. $(".infoWrap").preventScroll();
  69. }
  70. function getTime(date){
  71. if(!date){
  72. return ``
  73. }
  74. const year = new Date(date).getFullYear()
  75. const month = new Date(date).getMonth()+1
  76. const day = new Date(date).getDate()
  77. return `${year}年${month}月${day}日`
  78. }
  79. // 声明定时器
  80. var cheakDomTimer = null
  81. // 检查dom是否执行完成
  82. function checkDom(domList,callBack) {
  83. console.log("domListdomList",domList)
  84. let hasExit = true
  85. for(let i = 0; i < domList.length; i++){
  86. if(!domList[i]){
  87. hasExit = false
  88. }
  89. }
  90. if(hasExit) {
  91. // 执行dom加载完成后的操作
  92. callBack();
  93. // 清除定时器
  94. if(!cheakDomTimer) {
  95. clearTimeout(cheakDomTimer)
  96. }
  97. } else {
  98. // 自我调用
  99. cheakDomTimer = setTimeout(checkDom, 0)
  100. }
  101. }
  102. $(window).on('resize', function(){
  103. adjustHeight()
  104. })
  105. module.exports ={
  106. renderFollowUp
  107. }