indexHorizontal.js 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226
  1. require('./../css/reset.css');
  2. require('./../css/indexHorizontal.less');
  3. // require('./../css/popup.css');
  4. // require('./popupEdit.js');
  5. var Promise = require("bluebird");
  6. let warningImg = require('./../images/warings.png')
  7. let diagImg = require('./../images/yszd.png')
  8. let symptomImg = require('./../images/inquire.png')
  9. let physiExamImg = require('./../images/tgjc.png')
  10. let labAndPacsImg = require('./../images/inspect.png')
  11. let conditTipsImg = require('./../images/tips.png')
  12. let treatImg = require('./../images/zhiliao.png')
  13. const $ = require("jquery");
  14. const { post,config,getUrlArgObject,openNewWin, isIe8 } = require('./promise.js');
  15. const { transConf } = require('./util.js');
  16. const { renderRecommendInfo, renderMultRecommendInfo, renderTreat, renderRecommendConditTips, renderTipsInfo } = require('./indexHorizontalDom.js');
  17. const is8Ie = isIe8() //判断是否为IE8
  18. if(is8Ie) {
  19. let reg = /undefined/g
  20. warningImg = warningImg.replace(reg, '')
  21. diagImg = diagImg.replace(reg, '')
  22. symptomImg = symptomImg.replace(reg, '')
  23. physiExamImg = physiExamImg.replace(reg, '')
  24. labAndPacsImg = labAndPacsImg.replace(reg, '')
  25. conditTipsImg = conditTipsImg.replace(reg, '')
  26. treatImg = treatImg.replace(reg, '')
  27. }
  28. let mrId = getUrlArgObject('mrId')
  29. let showTab = getUrlArgObject('showTab') || '0';
  30. let msg;
  31. if(mrId) {
  32. post(config.getMr,{mrId:mrId}).then((res) => {
  33. const data = res.data
  34. if(data.code == 0) {
  35. msg = Object.assign(data.data, {hosCode:getUrlArgObject('hospitalCode') || '',plan:getUrlArgObject('plan') || '0',})
  36. window.msg = msg
  37. getPageInfo();
  38. }
  39. })
  40. } else {
  41. msg = {
  42. age: getUrlArgObject('age'),
  43. sex: getUrlArgObject('sex') == '男'?1:(getUrlArgObject('sex') == '女'?2:(getUrlArgObject('sex') == '通用'?3:getUrlArgObject('sex'))),
  44. symptom: getUrlArgObject('symptomJson'),
  45. vital: getUrlArgObject('vitalJson'),
  46. lis: getUrlArgObject('lisJson')? JSON.parse(getUrlArgObject('lisJson')) : [],
  47. pacs: getUrlArgObject('pacsJson'),
  48. diag: getUrlArgObject('diagJson'),
  49. diseaseName: getUrlArgObject('diseaseName'),
  50. other: getUrlArgObject('otherJson') + getUrlArgObject('pastJson'),
  51. hosCode:getUrlArgObject('hospitalCode') || '',
  52. plan:getUrlArgObject('plan') || '0',
  53. }
  54. window.msg = msg
  55. getPageInfo();
  56. }
  57. // var msg = {
  58. // age: getUrlArgObject('age'),
  59. // sex: getUrlArgObject('sex') == '男'?1:(getUrlArgObject('sex') == '女'?2:(getUrlArgObject('sex') == '通用'?3:getUrlArgObject('sex'))),
  60. // symptom: getUrlArgObject('symptomJson'),
  61. // vital: getUrlArgObject('vitalJson'),
  62. // lis: getUrlArgObject('lisJson')? JSON.parse(getUrlArgObject('lisJson')) : [],
  63. // pacs: getUrlArgObject('pacsJson'),
  64. // diag: getUrlArgObject('diagJson'),
  65. // diseaseName: getUrlArgObject('diagJson'),
  66. // other: getUrlArgObject('otherJson') + getUrlArgObject('pastJson'),
  67. // hosCode:getUrlArgObject('hospitalCode') || '',
  68. // plan:getUrlArgObject('plan') || '0',
  69. // }//推送相关信息
  70. // // http://localhost:8082/indexVert.html?age=28&diseaseId=280&lisJson=&diagJson=%E6%80%A5%E6%80%A7%E8%83%B0%E8%85%BA%E7%82%8E&pastJson=%E6%97%A0%E5%BF%83%E8%84%8F%E7%97%85&otherJson=%E6%97%A0%E9%AB%98%E8%A1%80%E5%8E%8B&pacsJson=%E8%85%B9%E9%83%A8B%E8%B6%85:%E6%97%A0%E5%BC%82%E5%B8%B8,%20%E6%8A%A5%E5%91%8A%E6%97%A5%E6%9C%9F:2019-05-07&sex=%E7%94%B7&symptomJson=%E6%81%B6%E5%BF%83%E5%91%95%E5%90%90%E8%85%B0%E7%97%9B&vitalJson=%E8%A1%80%E5%8E%8B%E5%B7%A6%E4%B8%8A%E8%82%A213/12mmHg
  71. // window.msg = msg
  72. // window.pushMessage = {}
  73. function getConf() {
  74. return post(config.getSysSetInfoDatas,{hospitalCode: msg.hosCode,plan:msg.plan})
  75. }
  76. function getPushInfo() {
  77. return post(config.pushInner,Object.assign({featureType: '1,4,5,6,7,22'},msg))
  78. }
  79. function getTreatment() {
  80. return post(config.pushTreatment,Object.assign({featureType: '8'},msg))
  81. }
  82. function getTipsInfo() {
  83. return post(config.information,{name:getUrlArgObject('tipsName'),type:getUrlArgObject('tipsType'), position: 1})
  84. }
  85. function getPageInfo() {
  86. Promise.all([getConf(),getPushInfo(),getTreatment(),getTipsInfo()]).then(([res1, res2, res3,res4]) =>{
  87. const configArr = res1&&res1.data&&res1.data.data || []
  88. const pushInfo = res2.data || {}
  89. const treatInfo = res3.data || {}
  90. const tipsInfo = res4.data || {}
  91. const confArr = transConf(configArr)
  92. pushResult = pushInfo.data || {};
  93. treatResult = treatInfo.data || {}
  94. tipsResult = tipsInfo.data || {}
  95. const diagPossible = pushResult.dis&&pushResult.dis['可能诊断'] || []//可能
  96. const diagDoubt = pushResult.dis&&pushResult.dis['疑似诊断'] || [] // 疑似
  97. const diagDeter = pushResult.dis&&pushResult.dis['确诊'] || []//确诊
  98. const diagWaring = pushResult.dis&&pushResult.dis['警惕'] || [] // 推荐警惕诊断
  99. const symptomRecommend = pushResult.symptom || [] //推荐问诊症状
  100. const physiExamRecommend = pushResult.vital || [] //推荐体格检查
  101. const diagRecommend = diagPossible.concat(diagDoubt, diagDeter) //推荐诊断
  102. const labRecommend = pushResult.lab || []
  103. const pacsRecommend = pushResult.pacs || []
  104. const medicalIndications = pushResult.medicalIndications || []
  105. const labAndPacsRecommend = [
  106. {
  107. title: '化验',
  108. className: 'labRecommend',
  109. data: labRecommend
  110. },
  111. {
  112. title: '辅检',
  113. className: 'pacsRecommend',
  114. data: pacsRecommend
  115. }
  116. ]
  117. window.pushMessage = medicalIndications;//计算的需要的相关数据
  118. let tipsNum = 0;
  119. for(let i = 0; i < confArr.length; i++) {
  120. switch(confArr[i].code) {
  121. case "inquiry_show": //问诊症状
  122. renderRecommendInfo(symptomImg, 'symptomRecommend', '问诊症状', symptomRecommend, false)
  123. break;
  124. case "health_show": //体格检查
  125. renderRecommendInfo(physiExamImg, 'physiExamRecommend', '体格检查', physiExamRecommend, false)
  126. break;
  127. case "illness_show": //病情提示
  128. renderRecommendConditTips(conditTipsImg, 'conditTips','病情提示', medicalIndications || [])
  129. break;
  130. case "vigilant_show": //警惕诊断
  131. renderRecommendInfo(warningImg, 'warning', '警惕诊断', diagWaring, true,7,2)
  132. break;
  133. case "lispacs_show": //检验检查
  134. renderMultRecommendInfo(labAndPacsImg, 'labAndPacsRecommend', '检验检查', labAndPacsRecommend, false)
  135. break;
  136. case "cure_show": //治疗方案
  137. tipsNum++;
  138. renderTreat(treatImg, 'treatRecommend','治疗方案',treatResult)
  139. break;
  140. case "diagnose_show": //推荐诊断
  141. renderRecommendInfo(diagImg, 'diagRecommend', '推荐诊断', diagRecommend, true,7,2)
  142. break;
  143. case "tip_show": //提示信息
  144. tipsNum++;
  145. renderTipsInfo('', 'tipsInfo','提示信息',tipsResult)
  146. moreInfo()
  147. break;
  148. default:
  149. return
  150. }
  151. }
  152. function bindTab() {
  153. if(showTab == '1') {
  154. $('.infoTabBox .tipsTab').addClass('activeTab')
  155. $('.infomationBox .treatRecommend').css("display","none")
  156. } else {
  157. $('.infoTabBox .treatTab').addClass('activeTab')
  158. $('.infomationBox .tipsInfo').css("display","none")
  159. }
  160. $('.infomationBox .infoTab').click(function() {
  161. $(this).addClass('activeTab').siblings().removeClass('activeTab')
  162. $('.informationBox').css("display","none")
  163. const boxNode = $(this).attr('data-box')
  164. $('.'+boxNode).css("display","block")
  165. })
  166. }
  167. if(tipsNum === 2) {
  168. bindTab();
  169. }
  170. function moreInfo() {
  171. $('.moreInfo').click(function(){
  172. const name = $(this).attr('data-name')
  173. const type = getUrlArgObject('tipsType')
  174. openNewWin(`information.html?type=${type}&position=0&name=${name}`)
  175. })
  176. }
  177. const pushHei = $('.push').height()
  178. if(pushHei == 0) {
  179. $('.infomationBox').css({"width":"90%"})
  180. }
  181. }).catch(function (err) {
  182. console.log(err);
  183. })
  184. }
  185. function getVersion() {
  186. post(config.getVersion, '').then((res) => {
  187. const data = res.data.data;
  188. const name = data.name;
  189. const ver = localStorage.getItem('versionTime-v');
  190. const time = data.refreshTime;
  191. if(!ver||ver===time+"=new"||time!==ver.replace("=new","")){ //判断版本是否更新
  192. $(".version").addClass('new-icon');
  193. localStorage.setItem('versionTime-v',time+"=new"); //保存版本更新时间
  194. }else{
  195. $(".version").removeClass('new-icon');
  196. }
  197. $(".version span").html(name);
  198. })
  199. }
  200. $(function(){
  201. getVersion();
  202. //打开版本信息
  203. $(".disclaimer .version").on("click",function() {
  204. const ver = localStorage.getItem('versionTime-v');
  205. $(".version").removeClass('new-icon');
  206. localStorage.setItem('versionTime-v',ver.replace("=new",""));
  207. openNewWin("version.html");
  208. });
  209. });