diag_push.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228
  1. (function ($) {
  2. var urls = {
  3. url:{
  4. 'host':"/icss-web",
  5. 'start_drug': '/rule_controller/start_drug_title',
  6. //His推送接口
  7. 'get_push_data':'/kl/diseaseinfo/get_data',
  8. 'recovery_index': '/at/inquiry_info/recover',
  9. 'get_patient_from_his': '/at/patientinfo/get_patient_from_his'
  10. }
  11. };
  12. var urlSearch = parseUrl();
  13. var isRecover = urlSearch.recover;
  14. if(isRecover){
  15. getRecover();
  16. }else{
  17. getPushData();
  18. }
  19. function parseUrl() {
  20. var r = window.location.search.substr(1).split("&"),
  21. obj = {};
  22. $.each(r, function (i, v) {
  23. if (v) {
  24. var arr = v.split("=");
  25. obj[arr[0]] = encodeURI(arr[1]);
  26. }
  27. });
  28. return obj;
  29. };
  30. function getPushData(){
  31. var url = urls.url.host + urls.url.get_push_data;
  32. var code = urlSearch.diagnosis;
  33. var hospitalCode = urlSearch.hospitalCode;
  34. ajaxJsonGet(url,{code:code,hospitalCode:hospitalCode},function(response){
  35. var data = response.data;
  36. if(response.status=='OK'){
  37. fillPushData(data);
  38. }
  39. });
  40. }
  41. //获取历史数据
  42. function getRecover(){
  43. var patientNo = urlSearch.patientId;
  44. var recordId = urlSearch.recordId;
  45. var hospitalCode = urlSearch.hospitalId;//urls.url.host
  46. var url = urls.url.host + urls.url.recovery_index;
  47. var pUrl = urls.url.host + urls.url.get_patient_from_his;
  48. ajaxJsonGet(pUrl,{hospitalCode:hospitalCode,hisCode:patientNo},function(response){
  49. var data = response.data;
  50. if(data){
  51. $.get(url,{patientId:data.id,hospitalCode:hospitalCode,hisCode:recordId},function(response){
  52. var data = response.data;
  53. if(response.status=='OK'){
  54. parseRecoverData(data);
  55. }
  56. });
  57. }else{
  58. console.warn("获取患者信息为空");
  59. }
  60. });
  61. }
  62. //解析recover数据
  63. function parseTextRecoverData(data){
  64. var json = JSON.parse(data[0].dataJson);
  65. var items = json.structuredText.items;
  66. var test = items[5].symptoms&&items[5].symptoms.split(",");
  67. var sug = items[6].symptoms&&items[6].symptoms.split(",");
  68. var treat = items[7].symptoms.split(",");
  69. var drug = items[8].symptoms.split(",");
  70. var treatStr='';
  71. if(test.length==0){
  72. test = json.hisPush.test.map((it) =>{
  73. return it.name;
  74. });
  75. }
  76. if(sug.length==0){
  77. sug = json.hisPush.assist.map((it) =>{
  78. return it.name;
  79. });
  80. }
  81. for(var i=0; i<treat.length;i++){
  82. if(i>3){
  83. treatStr += '<b class="hide">'+treat[i]+'</b>';
  84. }else{
  85. treatStr += '<b>'+treat[i]+'</b>';
  86. }
  87. }
  88. $(".main-suit").html(treatStr);
  89. mapRecoverData(".test-item",test,true);
  90. mapRecoverData(".sug-item",sug,true);
  91. mapRecoverData(".treatment",drug,true);
  92. var hide = $(".main-suit .hide")[0];
  93. if(hide){
  94. $("<a class='more'>...</a>").insertBefore(hide);
  95. $(".more").click(function(e){
  96. $(e.target).siblings(".hide").removeClass("hide");
  97. $(e.target).hide();
  98. })
  99. }
  100. }
  101. function parseRecoverData(data){
  102. if(!data[0]){
  103. console.warn("获取的recover数据为空");
  104. return ;
  105. }
  106. var json = JSON.parse(data[0].dataJson);
  107. if(json.mode==2){
  108. parseTextRecoverData(data);
  109. return;
  110. }
  111. var items = json.structured.originalItems;
  112. var test = items[5][''];
  113. var sug = items[6][''];
  114. var treat = items[7][''];
  115. var drug = items[8][''];
  116. var treatStr='',infoUrl;
  117. test = test.length==0?json.hisPush.test:test;
  118. sug = sug.length==0?json.hisPush.assist:sug;
  119. //console.log(json)
  120. for(var i=0; i<treat.length;i++){
  121. infoUrl = "./case_info.html?diseaseId="+treat[i].id; //文本模式保存的没有id
  122. if(i>3){
  123. treatStr += '<b class="hide">'+treat[i].title+'</b><a class="info hide" href="'+infoUrl+'" target="_blank">i</a>';
  124. }else{
  125. treatStr += '<b>'+treat[i].title+'</b><a class="info" href="'+infoUrl+'" target="_blank">i</a>';
  126. }
  127. }
  128. $(".main-suit").html(treatStr);
  129. mapRecoverData(".test-item",test);
  130. mapRecoverData(".sug-item",sug);
  131. mapRecoverData(".treatment",drug);
  132. var hide = $(".main-suit .hide")[0];
  133. if(hide){
  134. $("<a class='more'>...</a>").insertBefore(hide);
  135. $(".more").click(function(e){
  136. $(e.target).siblings(".hide").removeClass("hide");
  137. $(e.target).hide();
  138. })
  139. }
  140. }
  141. function mapRecoverData(dom,data,isText){
  142. var itemDom = "",item = data,temp;
  143. if(!data.length>0){
  144. console.warn("获取数据失败");
  145. return ;
  146. }
  147. for(var i=0;i<item.length;i++){
  148. if(isText){
  149. temp = item[i];
  150. }else{
  151. temp = item[i].title||item[i].name;
  152. }
  153. if(i>7){
  154. itemDom += '<a href="##" class="hide">'+temp+'</a>';
  155. }else{
  156. itemDom += '<a href="##">'+temp+'</a>';
  157. }
  158. }
  159. $(dom).html(itemDom||"无");
  160. var hide = $(dom).find(".hide")[0];
  161. if(hide){
  162. $("<a class='more'>...</a>").insertBefore(hide);
  163. $(".more").click(function(e){
  164. $(e.target).siblings(".hide").removeClass("hide");
  165. $(e.target).hide();
  166. })
  167. }
  168. }
  169. //填入推送信息
  170. function fillPushData(data){
  171. if(!data||JSON.stringify(data)=='{}'){
  172. console.warn("获取推送数据为空!");
  173. return ;
  174. }
  175. var lis = data.lis;
  176. var pacs = data.pacs;
  177. var drug = data.drug;
  178. var disease = data.disease;
  179. var infoUrl,str='';
  180. for(var i=0;i<disease.length;i++){
  181. infoUrl="./case_info.html?diseaseId="+disease[i].id;
  182. str += '<b>'+disease[i].name+'</b><a class="info" href="'+infoUrl+'" target="_blank">i</a>';
  183. }
  184. $(".main-suit").html(str);
  185. mapItem(".test-item", lis);
  186. mapItem(".sug-item", pacs);
  187. mapItem(".drug-item", drug);
  188. }
  189. //遍历数据
  190. function mapItem(dom,item){
  191. var itemDom = '';
  192. for(var i=0;i<item.length;i++){
  193. if(i>5){
  194. itemDom += '<a href="##" class="hide">'+item[i]+'</a>';
  195. }else{
  196. itemDom += '<a href="##">'+item[i]+'</a>';
  197. }
  198. }
  199. $(dom).html(itemDom||"无");
  200. var hide = $(dom).find(".hide")[0];
  201. if(hide){
  202. $("<a class='more'>...</a>").insertBefore(hide);
  203. $(".more").click(function(e){
  204. $(e.target).siblings(".hide").removeClass("hide");
  205. $(e.target).hide();
  206. })
  207. }
  208. }
  209. function ajaxJsonGet(url, param, callback){
  210. $.ajax({
  211. url: url,
  212. data:param,
  213. contentType: 'application/json',
  214. type:'get',
  215. cache:false,
  216. success:function(response){
  217. callback(response);
  218. }
  219. });
  220. }
  221. })(jQuery);