illness.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. require('../css/index.less');
  2. require('../css/reset.css');
  3. require('../css/popup.css');
  4. require('./popup');
  5. const $ = require("jquery");
  6. const { post,config,getUrlArgObject,openNewWin } = require('./promise.js');
  7. var msg = {
  8. age: getUrlArgObject('age'),
  9. sex: getUrlArgObject('sex') == '男'?1:(getUrlArgObject('sex') == '女'?2:(getUrlArgObject('sex') == '通用'?3:getUrlArgObject('sex'))),
  10. symptom: getUrlArgObject('symptomJson'),
  11. vital: getUrlArgObject('vitalJson'),
  12. lis: getUrlArgObject('lisJson')? JSON.parse(getUrlArgObject('lisJson')) : [],
  13. pacs: getUrlArgObject('pacsJson'),
  14. diag: getUrlArgObject('diagJson'),
  15. diseaseName: getUrlArgObject('diagJson'),
  16. other: getUrlArgObject('otherJson') + getUrlArgObject('pastJson'),
  17. hosCode:getUrlArgObject('hospitalCode') || ''
  18. }//推送相关信息
  19. window.msg = msg
  20. window.pushMessage = {}
  21. post(config.pushInner,Object.assign({featureType: '22'},msg)).then((res)=>{
  22. var data = res.data
  23. if(data.code == 0) {
  24. var result = data.data;
  25. if (result.medicalIndications && result.medicalIndications.length > 0) {//病情提示
  26. window.pushMessage = result.medicalIndications;//计算的需要的相关数据
  27. bqtsFun(result.medicalIndications)
  28. }
  29. }
  30. });
  31. function bqtsFun(data){//病情提示
  32. for(var k = 0;k < data.length;k++){
  33. var tmpBq = data[k]
  34. var tmpBqStr = '<div class="mayIllness">患者可能有 <span data-name='+tmpBq.name+'>'+tmpBq.name+'<span target="_blank" title="点击该名称可看详细说明" class="infoMsg" href="information.html?type=22&position=2&name='+tmpBq.name+'"></span></span> :';
  35. var tmpBqDetailStr = ''
  36. for(var m = 0;m < tmpBq.details.length;m++){
  37. var tmpBqDetail = tmpBq.details[m]
  38. if(tmpBqDetail.type == 1){
  39. tmpBqDetailStr+=tmpBqStr+ "<span target='_blank' data-scaleName="+tmpBqDetail.content.name+" href='scale.html?featureType=21&sex="+msg.sex+"&lis="+JSON.stringify(msg.lis)+"&diag="+msg.diag+"&scaleName="+tmpBqDetail.content.name+"&symptom="+msg.symptom+"&other="+msg.other+"&pacs="+msg.pacs+"&vital="+msg.vital+"&age="+msg.age+"&scaleId="+tmpBqDetail.content.id+"' class='illnessTable'>【"+tmpBqDetail.content.name+"】</span>"+
  40. '</div>';
  41. }
  42. if(tmpBqDetail.type == 2){
  43. var deepDetailName = '<div class="modalTitle">'+tmpBqDetail.content.name+'<i class="closeModal"></i></div>'
  44. var deepDetailStr = ''
  45. var deepDetailResultStr = ''
  46. for(var n = 0;n < tmpBqDetail.content.details.length;n++){
  47. var deepDetail = tmpBqDetail.content.details[n]
  48. if(deepDetail.controlType == 2){//0-radio,1-checkbox,2-text,3-dropdownlist
  49. deepDetailStr+='<li class="radioCheck"><span class="modalMaintltle">请输入'+deepDetail.name+': </span><input type="text" placeholder="请输入" value="'+deepDetail.value+'"><i class="uint">'+deepDetail.uint+'</i></li>'
  50. }
  51. if(deepDetail.controlType == 0){
  52. let tooDeepDetailStr = ''
  53. for(var f = 0;f<deepDetail.details.length;f++){
  54. var tooDeepDetail = deepDetail.details[f]
  55. if(deepDetail.name == '性别'){
  56. tooDeepDetailStr+='<li class="radioChecks '+(tooDeepDetail.state == 1?"radioCheckSec":"")+'" data-select="'+(tooDeepDetail.state == 1?"select":"")+'"><i></i><span>'+tooDeepDetail.detailName+'</span></li>'
  57. }else{
  58. tooDeepDetailStr+='<li class="radioChecks"><i></i><span>'+tooDeepDetail.detailName+'</span>'+(tooDeepDetail.state == 1?"<a>(智能推荐)</a>":"")+'</li>'
  59. }
  60. }
  61. deepDetailStr+='<li class="radioCheck"><span class="modalMaintltle">'+deepDetail.name+': </span>'+
  62. '<ul class="clearfix caculateLis">'+
  63. tooDeepDetailStr+
  64. '</ul>'+
  65. '</li>'
  66. }
  67. }
  68. for(var v = 0;v < tmpBqDetail.content.result.length;v++){
  69. deepDetailResultStr+='<p class="result"><span class="calculateName">'+tmpBqDetail.content.result[v].name+':</span><span class="calculateResult"></span></p>'
  70. }
  71. tmpBqDetailStr+='<div class="mayResult">计算公式结果:<span class="mayResultSelect" data-num="'+k+'">'+
  72. '<span class="makesureResult">请选择</span>'+
  73. '<span class="sanjiao"></span>'+
  74. '<div class="popupModal">'+
  75. deepDetailName+
  76. '<div class="modalMainTwo">'+
  77. '<ul class="clearfix">'+
  78. deepDetailStr+
  79. '</ul>'+
  80. '<div class="calculate" data-num="'+k+'">计算</div>'+
  81. '<p class="calculateError">请填写计算公式内容</p><div class="resultLis">'+
  82. deepDetailResultStr+
  83. '</div></div>'+
  84. '<div class="btnWrap clearfix">'+
  85. '<div class="sureScore" data-type="2">关闭</div>'+
  86. '</div>'+
  87. '</div>'+
  88. '</span></div></div>'
  89. }
  90. if(tmpBqDetail.type == 3){
  91. var deepDetailName = '<span class="modalMaintltle">'+tmpBqDetail.content.name+': </span>'
  92. var deepDetailStr = ''
  93. for(var n = 0;n < tmpBqDetail.content.details.length;n++){
  94. var deepDetail = tmpBqDetail.content.details[n]
  95. deepDetailStr+='<li class="radioChecks"><i></i><span>'+deepDetail.detailName+'</span>'+(deepDetail.state == 1?"<a>(智能推荐)</a>":"")+'</li>'
  96. }
  97. tmpBqDetailStr+='<div class="mayResult">可能结果:<span class="mayResultSelect" data-num="'+k+'"><span class="makesureResult">请选择</span><i class="sanjiao"></i>'+
  98. '<div class="popupModal">'+
  99. '<div class="modalTitle">结果选择<i class="closeModal"></i></div>'+
  100. '<div class="modalMainOne">'+
  101. deepDetailName+
  102. '<ul class="clearfix">'+
  103. deepDetailStr+
  104. '</ul>'+
  105. '</div>'+
  106. '<div class="btnWrap clearfix">'+
  107. '<div class="sureScore" data-type="3" data-num="'+k+'">确定</div>'+
  108. '</div>'+
  109. '</div>'+
  110. '</span></div></div>'
  111. }
  112. }
  113. /*if(tmpBqStr != '' || tmpBqDetailStr != ''){
  114. $(".conditionHintTipsNull").css("display","none")
  115. }*/
  116. $(".conditionHintTipsNull").html('<div class="conditionMain clearfix">'+'<div class="alertModal">'+tmpBqDetailStr+'</div></div>')
  117. }
  118. $(".mayIllness .infoMsg").on("click",function(){
  119. const infoMsgName = $(this).parent().attr('data-name')
  120. openNewWin(`information.html?type=22&position=2&name=${infoMsgName}`)
  121. })
  122. $(".illnessTable").on('click',function(){
  123. const scaleName = $(this).attr('data-scaleName')
  124. openNewWin(`scale.html?featureType=21&sex=${msg.sex}&lis=${JSON.stringify(msg.lis)}&diag=${msg.diag}&scaleName=${scaleName}&symptom=${msg.symptom}&other=${msg.other}&pacs=${msg.pacs}&vital=${msg.vital}&age=${msg.age}`)
  125. })
  126. }