illness.js 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  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. var msg = JSON.parse(getUrlArgObject('msg'))
  20. window.msg = msg
  21. window.pushMessage = {}
  22. post(config.pushInner,Object.assign(msg,{featureType: '22',ruleType:config.ruleTypeMap['22']})).then((res)=>{
  23. var data = res.data
  24. if(data.code == 0) {
  25. var result = data.data;
  26. if (result.medicalIndications && result.medicalIndications.length > 0) {//病情提示
  27. window.pushMessage = result.medicalIndications;//计算的需要的相关数据
  28. bqtsFun(result.medicalIndications)
  29. }
  30. }
  31. });
  32. function bqtsFun(data){//病情提示
  33. let tmpBqDetailAllStr = '';
  34. //let names = [];
  35. for(var k = 0;k < data.length;k++){
  36. var tmpBq = data[k]
  37. let hasSritical = false
  38. let tmpBqStr;
  39. if(tmpBq.details) {
  40. for(let i = 0; i < tmpBq.details.length; i++) {
  41. if(tmpBq.details[i].type == 4) {
  42. hasSritical= true
  43. }
  44. }
  45. }
  46. if(hasSritical) {
  47. /*if(names.includes(tmpBq.name)){ //name相同去重
  48. tmpBqStr='';
  49. }else{
  50. names.push(tmpBq.name);*/
  51. tmpBqStr = `<p class="mayIllness">
  52. <span class="sriticalNameBox"><span class="sriticalName">${tmpBq.name}</span>
  53. </span>
  54. </span></p>`
  55. //}
  56. } else {
  57. tmpBqStr = '<div class="mayIllness">患者可能有 <span class="diagName" data-name='+tmpBq.name+'>'+tmpBq.name+'<span target="_blank" title="点击该名称可看详细说明" class="infoMsg" href="information.html?type=22&position=2&name='+tmpBq.name+'"></span></span> :';
  58. }
  59. var tmpBqDetailStr = ''
  60. for(var m = 0;m < tmpBq.details.length;m++){
  61. var tmpBqDetail = tmpBq.details[m]
  62. if(tmpBqDetail.type == 1){
  63. tmpBqDetailStr+=tmpBqStr+ "<div target='_blank' data-scaleName="+tmpBqDetail.content.name+" class='illnessTable'>【"+tmpBqDetail.content.name+"】</div>"+
  64. '</div>';
  65. }
  66. if(tmpBqDetail.type == 2){
  67. var deepDetailName = '<div class="modalTitle">'+tmpBqDetail.content.name+'<i class="closeModal"></i></div>'
  68. var deepDetailStr = ''
  69. var deepDetailResultStr = ''
  70. for(var n = 0;n < tmpBqDetail.content.details.length;n++){
  71. var deepDetail = tmpBqDetail.content.details[n]
  72. if(deepDetail.controlType == 2){//0-radio,1-checkbox,2-text,3-dropdownlist
  73. if(deepDetail.isShow == 0) {
  74. deepDetailStr+='<li class="radioCheck"><span class="modalMaintltle">'+deepDetail.name+': </span>' + deepDetail.value +' '+ deepDetail.uint+'</li>'
  75. } else {
  76. deepDetailStr+='<li class="radioCheck"><span class="modalMaintltle">请输入'+deepDetail.name+': </span><input class="'+ tmpBqDetail.content.name+deepDetail.name+'" type="text" placeholder="请输入"' +(deepDetail.isShow == 0 ? 'readonly':'') + ' value="'+deepDetail.value+'"><i class="uint">'+deepDetail.uint+'</i></li>'
  77. }
  78. }
  79. if(deepDetail.controlType == 0){
  80. let tooDeepDetailStr = ''
  81. for(var f = 0;f<deepDetail.details.length;f++){
  82. var tooDeepDetail = deepDetail.details[f]
  83. if(deepDetail.isShow == '0'){
  84. if(tooDeepDetail.state == 1) {
  85. // tooDeepDetailStr+='<li><span>'+tooDeepDetail.detailName+'</span></li>'
  86. tooDeepDetailStr+='<li class="radioChecks" data-select="'+(tooDeepDetail.state == 1?"select":"")+'"><span>'+tooDeepDetail.detailName+'</span></li>'
  87. }
  88. }else{
  89. tooDeepDetailStr+='<li class="radioChecks"><i></i><span>'+tooDeepDetail.detailName+'</span>'+(tooDeepDetail.state == 1?"<a>(智能推荐)</a>":"")+'</li>'
  90. }
  91. }
  92. deepDetailStr+='<li class="radioCheck"><span class="modalMaintltle">'+deepDetail.name+': </span>'+
  93. '<ul class="clearfix caculateLis" data-isShow="'+deepDetail.isShow+'">'+
  94. tooDeepDetailStr+
  95. '</ul>'+
  96. '</li>'
  97. }
  98. }
  99. for(var v = 0;v < tmpBqDetail.content.result.length;v++){
  100. deepDetailResultStr+='<p class="result"><span class="calculateName">'+tmpBqDetail.content.result[v].name+':</span><span class="calculateResult"></span></p>'
  101. }
  102. tmpBqDetailStr+='<div class="mayResult">计算公式结果:<span class="mayResultSelect" data-num="'+k+'">'+
  103. '<span class="makesureResult">请选择</span>'+
  104. '<span class="sanjiao"></span>'+
  105. '<div class="popupModal">'+
  106. deepDetailName+
  107. '<div class="modalMainTwo">'+
  108. '<ul class="clearfix">'+
  109. deepDetailStr+
  110. '</ul>'+
  111. '<div class="calculate" data-num="'+k+'">计算</div>'+
  112. '<p class="calculateError">请填写计算公式内容</p><div class="resultLis">'+
  113. deepDetailResultStr+
  114. '</div></div>'+
  115. '<div class="btnWrap clearfix">'+
  116. '<div class="sureScore" data-type="2">关闭</div>'+
  117. '</div>'+
  118. '</div>'+
  119. '</span></div></div>'
  120. }
  121. if(tmpBqDetail.type == 3){
  122. var deepDetailName = '<span class="modalMaintltle">'+tmpBqDetail.content.name+': </span>'
  123. var deepDetailStr = ''
  124. for(var n = 0;n < tmpBqDetail.content.details.length;n++){
  125. var deepDetail = tmpBqDetail.content.details[n]
  126. deepDetailStr+='<li class="radioChecks"><i></i><span>'+deepDetail.detailName+'</span>'+(deepDetail.state == 1?"<a>(智能推荐)</a>":"")+'</li>'
  127. }
  128. tmpBqDetailStr+='<div class="mayResult">可能结果:<span class="mayResultSelect" data-num="'+k+'"><span class="makesureResult">请选择</span><i class="sanjiao"></i>'+
  129. '<div class="popupModal">'+
  130. '<div class="modalTitle">结果选择<i class="closeModal"></i></div>'+
  131. '<div class="modalMainOne">'+
  132. deepDetailName+
  133. '<ul class="clearfix">'+
  134. deepDetailStr+
  135. '</ul>'+
  136. '</div>'+
  137. '<div class="btnWrap clearfix">'+
  138. '<div class="sureScore" data-type="3" data-num="'+k+'">确定</div>'+
  139. '</div>'+
  140. '</div>'+
  141. '</span></div></div>'
  142. }
  143. if(tmpBqDetail.type == 4){
  144. tmpBqDetailStr+=tmpBqStr +
  145. // "<div class='sriticalinfo'>诊断要点:"+tmpBqDetail.content.name+"</div>"+
  146. '</div>';
  147. }
  148. }
  149. /*if(tmpBqStr != '' || tmpBqDetailStr != ''){
  150. $(".conditionHintTipsNull").css("display","none")
  151. }*/
  152. tmpBqDetailAllStr += tmpBqDetailStr
  153. }
  154. $(".conditionHintTipsNull").html('<div class=" clearfix">'+'<div class="sriticalinfo">'+tmpBqDetailAllStr+'</div></div>')
  155. $(".mayIllness .infoMsg").on("click",function(){
  156. const infoMsgName = $(this).parent().attr('data-name')
  157. openNewWin(`information.html?type=22&position=2&name=${encodeURIComponent(infoMsgName)}`)
  158. })
  159. $(".illnessTable").on('click',function(){
  160. const msg1 = JSON.parse(JSON.stringify(msg))
  161. msg1.scaleName = $(this).attr('data-scaleName')
  162. msg1.featureType = 21
  163. openNewWin(`scale.html?msg=${encodeURIComponent(JSON.stringify(msg1))}`)
  164. })
  165. }