military_obxDetail.js 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876
  1. //心电图的历史数据
  2. var hisArray = [];
  3. var hisFlag = false;
  4. var dataList = null;
  5. layui.use(['layer', 'form', 'laydate', 'admin', 'ax'], function () {
  6. var $ = layui.jquery;
  7. var $ax = layui.ax;
  8. var form = layui.form;
  9. var laydate = layui.laydate;
  10. var admin = layui.admin;
  11. var layer = layui.layer;
  12. // 让当前iframe弹层高度适应
  13. //admin.iframeAuto();
  14. //军人信息
  15. var ajax = new $ax(Feng.ctxPath + "/mmhc/madetail/" + Feng.getUrlParam("id"));
  16. var result = ajax.start();
  17. result.birthday = result.birthday.substring(0, 10);
  18. console.log(result.tsTime);
  19. $("#tsTime").val(result.tsTime);
  20. $("#xyTime").val(result.xyTime);
  21. $("#hzTime").val(result.hzTime);
  22. $("#xtTime").val(result.xtTime);
  23. if (result.xyTime != null && result.xyTime !== undefined){
  24. gradeAdd();
  25. }
  26. if (result.xtTime != null && result.xtTime !== undefined){
  27. xtAdd();
  28. }
  29. form.val('militaryForm1', result);
  30. if (1 == result.isSurgery) {
  31. $('#is_surgery_code1').attr('checked', true);
  32. $("#is_surgery_code2").removeAttr('checked');
  33. } else if (2 == result.isSurgery) {
  34. $("#is_surgery_code1").removeAttr('checked');
  35. $('#is_surgery_code2').attr('checked', true);
  36. }
  37. //静态指标
  38. var ajaxIndex = new $ax(Feng.ctxPath + "/gunsApi/getStaticData/" + Feng.getUrlParam("id"));
  39. var resultIndex = ajaxIndex.start();
  40. form.val('inForm', resultIndex.data);
  41. //指标占比
  42. $('#ratioGrade').click(function () {
  43. admin.open({
  44. type: 2,
  45. title: '指标占比',
  46. shade:0,
  47. //offset: 't',
  48. area: ['60%', '60%'],
  49. content: Feng.ctxPath + '/grade/ratio?id=' + Feng.getUrlParam("id")
  50. });
  51. });
  52. //查询血糖数据
  53. var ajaxXt = new $ax(Feng.ctxPath + "/ypStat/detail/" + Feng.getUrlParam("id"));
  54. var resultXt = ajaxXt.start();
  55. form.val('yp_form', resultXt.data);
  56. form.render();
  57. // 渲染时间选择框
  58. laydate.render({
  59. elem: '#birthday',
  60. trigger: 'click', //添加这一行来处理
  61. done: function (value, date, endDate) {
  62. $self.form.birthday = value;
  63. }
  64. });
  65. var websocket = null;
  66. //判断当前浏览器是否支持WebSocket
  67. if ('WebSocket' in window) {
  68. websocket = new WebSocket("ws://180.76.164.148:9002?userId=" + result.id);
  69. //websocket = new WebSocket("ws://127.0.0.1:9002?userId=" + result.id);
  70. //websocket = new WebSocket("wss://zcpg.xazhcx.com/getStaticDatawss/?userId="+result.id);
  71. //websocket默认是传输字符串的,需要改为arraybuffer二进制传输类型
  72. //webOrTcpsocket.binaryType = "arraybuffer";
  73. } else {
  74. alert('当前浏览器 Not support websocket')
  75. }
  76. //连接发生错误的回调方法
  77. websocket.onerror = function () {
  78. // setMessageInnerHTML("WebSocket连接发生错误");
  79. };
  80. //连接成功建立的回调方法
  81. websocket.onopen = function () {
  82. setMessageInnerHTML("连接成功");
  83. };
  84. Highcharts.setOptions({
  85. global: {
  86. useUTC: false
  87. }
  88. });
  89. var staticData = [];
  90. // var _this = this;
  91. var timer1, timer2;
  92. // clearInterval(timer1)
  93. //接收到消息的回调方法
  94. websocket.onmessage = function (event) {
  95. // setMessageInnerHTML(event.data);
  96. if (event.data.indexOf("_d") !== -1){
  97. var df = event.data.substring(0, event.data.indexOf("_"));
  98. $('#df').html(df);
  99. //$('#jf').html(df);
  100. }else if (event.data.indexOf("=") !== -1){
  101. var df = event.data.substring(0, event.data.indexOf("="));
  102. $('#jf').html(df);
  103. ratio(1, df);
  104. }else if (event.data.indexOf("_z") !== -1) {
  105. var data = event.data;
  106. realRatio(event.data);
  107. }else {
  108. var data = JSON.parse(event.data);
  109. //console.log(data.spo2Value);
  110. if (data.NA !== null && data.NA !== undefined) {
  111. form.val('yp_form', data);
  112. xtGrade(data);
  113. }
  114. if (data.systValue !== null && data.systValue !== undefined) {
  115. var dias = data.diasValue;
  116. var syst = data.systValue;
  117. var icp = data.icpValue;
  118. var avgValue = Math.round((dias - syst)/3 + dias);
  119. var ngzyValue = avgValue - icp;
  120. $("#avgValue").val(avgValue);
  121. $("#ngzyValue").val(ngzyValue);
  122. form.val('indexForm', data);
  123. pressGrade(icp, avgValue, ngzyValue);
  124. }
  125. if (data.heartValue !== null && data.heartValue !== undefined) {
  126. form.val('heart_form', data);
  127. heartGrade(data);
  128. }
  129. if (data.spo2Value !== null && data.spo2Value !== undefined) {
  130. form.val('v_form', data);
  131. spo2Grade(data);
  132. }
  133. if (data.potlI !== null && data.potlI !== undefined) {
  134. var potlIs = data.potlI.split('^');
  135. for (var i=0; i<potlIs.length; i++) {
  136. staticData.push(potlIs[i]);
  137. }
  138. var potlIis = data.potlIi.split('^');
  139. for (var i=0; i<potlIis.length; i++) {
  140. staticData.push(potlIis[i]);
  141. }
  142. var potlIiis = data.potlIii.split('^');
  143. for (var i=0; i<potlIiis.length; i++) {
  144. staticData.push(potlIiis[i]);
  145. }
  146. var potlAvrs = data.potlAvr.split('^');
  147. for (var i=0; i<potlAvrs.length; i++) {
  148. staticData.push(potlAvrs[i]);
  149. }
  150. var potlAvls = data.potlAvl.split('^');
  151. for (var i=0; i<potlAvls.length; i++) {
  152. staticData.push(potlAvls[i]);
  153. }
  154. var potlAvfs = data.potlAvf.split('^');
  155. for (var i=0; i<potlAvfs.length; i++) {
  156. staticData.push(potlAvfs[i]);
  157. }
  158. var potlVs = data.potlV.split('^');
  159. for (var i=0; i<potlVs.length; i++) {
  160. staticData.push(potlVs[i]);
  161. }
  162. }
  163. }
  164. };
  165. function setMessageInnerHTML(datas) {
  166. console.log(datas);
  167. }
  168. var myChart = echarts.init(document.getElementById('container'));
  169. function randomData(val) {
  170. now = new Date(+now + oneDay);
  171. value = val ? val : 128;
  172. return {
  173. name: now.toString(),
  174. value: [
  175. [now.getFullYear(), now.getMonth() + 1, now.getDate()].join('/'),
  176. // time,
  177. // Math.round(value)
  178. value
  179. ]
  180. }
  181. }
  182. var data = [];
  183. var now = +new Date(1997, 9, 3);
  184. var oneDay = 24 * 3600 * 1000;
  185. var value = Math.random() * 1000;
  186. for (var i = 0; i < 1000; i++) {
  187. data.push(randomData());
  188. }
  189. option = {
  190. title: {
  191. text: '心电图数据'
  192. },
  193. tooltip: {
  194. trigger: 'axis',
  195. formatter: function (params) {
  196. params = params[0];
  197. var date = new Date(params.name);
  198. return date.getDate() + '/' + (date.getMonth() + 1) + '/' + date.getFullYear() + ' : ' + params.value[1];
  199. },
  200. axisPointer: {
  201. animation: false
  202. }
  203. },
  204. xAxis: {
  205. type: 'time',
  206. splitLine: {
  207. show: false
  208. }
  209. },
  210. yAxis: {
  211. type: 'value',
  212. boundaryGap: [0, '100%'],
  213. splitLine: {
  214. show: false
  215. },
  216. max: 2000
  217. },
  218. series: [{
  219. name: '模拟数据',
  220. type: 'line',
  221. showSymbol: false,
  222. hoverAnimation: false,
  223. data: data
  224. }]
  225. };
  226. setInterval(function () {
  227. console.log(staticData.length);
  228. if(staticData.length > 0){
  229. for(var i=0;i<staticData.length;i++){
  230. data.shift();
  231. data.push(randomData(staticData[i]));
  232. staticData.shift()
  233. }
  234. }
  235. myChart.setOption({
  236. series: [{
  237. data: data
  238. }]
  239. });
  240. }, 1000);
  241. // 使用刚指定的配置项和数据显示图表。
  242. myChart.setOption(option);
  243. //连接关闭的回调方法
  244. websocket.onclose = function () {
  245. //setMessageInnerHTML("WebSocket连接关闭");
  246. };
  247. //监听窗口关闭事件,当窗口关闭时,主动去关闭websocket连接,防止连接还没断开就关闭窗口,server端会抛异常。
  248. window.onbeforeunload = function () {
  249. closeWebSocket();
  250. };
  251. function activeLastPointToolip(chart) {
  252. var points = chart.series[0].points;
  253. chart.tooltip.refresh(points[points.length - 1]);
  254. }
  255. //关闭WebSocket连接
  256. function closeWebSocket() {
  257. websocket.close();
  258. }
  259. //发送消息
  260. function send() {
  261. var message = document.getElementById('text').value;
  262. //将字符串转换为byte数组
  263. var bytesArr = stringToByte(message);
  264. var bytes = new Uint8Array(bytesArr.length);
  265. for (var i = 0; i < bytes.length; i++) {
  266. bytes[i] = bytesArr[i];
  267. }
  268. console.log(bytes)
  269. websocket.send(bytes);
  270. }
  271. //将字符串转为 Array byte数组
  272. function stringToByte(str) {
  273. var bytes = new Array();
  274. var len, c;
  275. len = str.length;
  276. for (var i = 0; i < len; i++) {
  277. c = str.charCodeAt(i);
  278. if (c >= 0x010000 && c <= 0x10FFFF) {
  279. bytes.push(((c >> 18) & 0x07) | 0xF0);
  280. bytes.push(((c >> 12) & 0x3F) | 0x80);
  281. bytes.push(((c >> 6) & 0x3F) | 0x80);
  282. bytes.push((c & 0x3F) | 0x80);
  283. } else if (c >= 0x000800 && c <= 0x00FFFF) {
  284. bytes.push(((c >> 12) & 0x0F) | 0xE0);
  285. bytes.push(((c >> 6) & 0x3F) | 0x80);
  286. bytes.push((c & 0x3F) | 0x80);
  287. } else if (c >= 0x000080 && c <= 0x0007FF) {
  288. bytes.push(((c >> 6) & 0x1F) | 0xC0);
  289. bytes.push((c & 0x3F) | 0x80);
  290. } else {
  291. bytes.push(c & 0xFF);
  292. }
  293. }
  294. return bytes;
  295. }
  296. //byte数组转字符串
  297. function byteToString(arr) {
  298. if (typeof arr === 'string') {
  299. return arr;
  300. }
  301. var str = '',
  302. _arr = arr;
  303. for (var i = 0; i < _arr.length; i++) {
  304. var one = _arr[i].toString(2),
  305. v = one.match(/^1+?(?=0)/);
  306. if (v && one.length == 8) {
  307. var bytesLength = v[0].length;
  308. var store = _arr[i].toString(2).slice(7 - bytesLength);
  309. for (var st = 1; st < bytesLength; st++) {
  310. store += _arr[st + i].toString(2).slice(2);
  311. }
  312. str += String.fromCharCode(parseInt(store, 2));
  313. i += bytesLength - 1;
  314. } else {
  315. str += String.fromCharCode(_arr[i]);
  316. }
  317. }
  318. return str;
  319. }
  320. });
  321. function timeAdd() {
  322. var tsTime = $("#tsTime").val();
  323. var id = $("#id").val();
  324. $.ajax({
  325. url: Feng.ctxPath + '/mmhc/updateTs',
  326. type: 'post',
  327. dataType: 'json',
  328. data: {
  329. id : id,
  330. tsTime : tsTime
  331. },
  332. success: function (result) {
  333. Feng.success("保存成功");
  334. }
  335. });
  336. }
  337. function gradeAdd() {
  338. var xyTime = $("#xyTime").val();
  339. var id = $("#id").val();
  340. $.ajax({
  341. url: Feng.ctxPath + '/mmhc/updateTs',
  342. type: 'post',
  343. dataType: 'json',
  344. data: {
  345. id : id,
  346. xyTime : xyTime
  347. },
  348. success: function (result) {
  349. Feng.success("保存成功");
  350. }
  351. });
  352. }
  353. function hzAdd() {
  354. var hzTime = $("#hzTime").val();
  355. var id = $("#id").val();
  356. $.ajax({
  357. url: Feng.ctxPath + '/mmhc/updateTs',
  358. type: 'post',
  359. dataType: 'json',
  360. data: {
  361. id : id,
  362. hzTime : hzTime
  363. },
  364. success: function (result) {
  365. Feng.success("保存成功");
  366. }
  367. });
  368. }
  369. function xtAdd() {
  370. var xtTime = $("#xtTime").val();
  371. var id = $("#id").val();
  372. $.ajax({
  373. url: Feng.ctxPath + '/mmhc/updateTs',
  374. type: 'post',
  375. dataType: 'json',
  376. data: {
  377. id : id,
  378. xtTime : xtTime
  379. },
  380. success: function (result) {
  381. Feng.success("保存成功");
  382. }
  383. });
  384. }
  385. function calculateGrad() {
  386. var tsTime = $("#tsTime").val();
  387. var hzTime = $("#hzTime").val();
  388. var id = $("#id").val();
  389. $.ajax({
  390. url: Feng.ctxPath + '/ecg/calculateGrad',
  391. type: 'post',
  392. dataType: 'json',
  393. data: {
  394. userId : id,
  395. num : tsTime,
  396. hzTime : hzTime
  397. },
  398. success: function (result) {
  399. $("#pf").html(result.data);
  400. ratio(0, result.data);
  401. }
  402. });
  403. }
  404. function staticAdd() {
  405. var indexMovement = $("#indexMovement").val();
  406. var tongReflect = $("#tongReflect").val();
  407. var tongChange = $("#tongChange").val();
  408. var indexXz = $("#indexXz").val();
  409. var indexNzx = $("#indexNzx").val();
  410. var indexZwm = $("#indexZwm").val();
  411. var indexHckd = $("#indexHckd").val();
  412. var indexXt = $("#indexXt").val();
  413. //根据出生日期计算出年龄
  414. var birthday = $("#birthday").val();
  415. var birthday_time=birthday.split("-");
  416. var birthYear = birthday_time[0];
  417. var dTime= new Date();
  418. var nowYear=dTime.getFullYear();
  419. var ag=nowYear-birthYear;
  420. //获取是否手术
  421. var surgery = $("input[name='isSurgery']:checked").val();
  422. //既往慢性病史
  423. var medicalHistory = $("#medicalHistory").val();
  424. $.ajax({
  425. url: Feng.ctxPath + '/index/add?hisId=' + Feng.getUrlParam("id"),
  426. type: 'post',
  427. dataType: 'json',
  428. data: {
  429. indexMovement: indexMovement,
  430. tongReflect: tongReflect,
  431. tongChange: tongChange,
  432. indexXz: indexXz,
  433. indexNzx: indexNzx,
  434. indexZwm: indexZwm,
  435. indexHckd: indexHckd,
  436. indexXt: indexXt,
  437. age : ag,
  438. surgery : surgery,
  439. medicalHistory : medicalHistory
  440. },
  441. success: function (result) {
  442. Feng.success("保存成功");
  443. }
  444. });
  445. }
  446. function xtGrade(data) {
  447. if (data.PH !== undefined && data.PH !== null){
  448. var value = data.PH;
  449. if (value >= 7.7 || value <=7.1){
  450. $('#div23').css('color', 'red');
  451. }else if(value >= 7.65 || value <=7.15){
  452. $('#div23').css('color', 'orangered');
  453. }else if(value >= 7.6 || value <=7.2){
  454. $('#div23').css('color', 'yellow');
  455. }else if(value >= 7.55 || value <=7.25){
  456. $('#div23').css('color', 'olive');
  457. }else if(value >= 7.5 || value <=7.3){
  458. $('#div23').css('color', 'green');
  459. }
  460. }
  461. if (data.K !== undefined && data.K !== null){
  462. var value = data.K;
  463. if (value >= 6.1 || value <= 2.5){
  464. $('#div24').css('color', 'red');
  465. }else if(value >= 5.8 || value <= 2.6){
  466. $('#div24').css('color', 'orangered');
  467. }else if(value >= 5.6 || value <= 2.8){
  468. $('#div24').css('color', 'yellow');
  469. }else if(value >= 5.3 || value <= 3){
  470. $('#div24').css('color', 'olive');
  471. }else if(value >= 5 || value <= 3.2){
  472. $('#div24').css('color', 'green');
  473. }
  474. }
  475. if (data.GLU !== undefined && data.GLU !== null){
  476. var value = data.GLU;
  477. if (value >= 25 || value <= 1){
  478. $('#div17').css('color', 'red');
  479. }else if(value >= 13 || value <= 1.5){
  480. $('#div17').css('color', 'orangered');
  481. }else if(value >= 9 || value <= 2){
  482. $('#div17').css('color', 'yellow');
  483. }else if(value >= 7 || value <= 2.2){
  484. $('#div17').css('color', 'olive');
  485. }else if(value >= 6 || value <= 3){
  486. $('#div17').css('color', 'green');
  487. }
  488. }
  489. if (data.LAC !== undefined && data.LAC !== null){
  490. var value = data.LAC;
  491. if (value >= 5.5 || value <= 0.05){
  492. $('#div18').css('color', 'red');
  493. }else if(value >= 5 || value <= 0.1){
  494. $('#div18').css('color', 'orangered');
  495. }else if(value >= 4.5 || value <= 0.2){
  496. $('#div18').css('color', 'yellow');
  497. }else if(value >= 4 || value <= 0.3){
  498. $('#div18').css('color', 'olive');
  499. }else if(value >= 3.5 || value <= 0.4){
  500. $('#div18').css('color', 'green');
  501. }
  502. }
  503. if (data.CL !== undefined && data.CL !== null){
  504. var value = data.CL;
  505. if (value >= 130 || value <= 73){
  506. $('#div14').css('color', 'red');
  507. }else if(value >= 125 || value <= 78){
  508. $('#div14').css('color', 'orangered');
  509. }else if(value >= 120 || value <= 83){
  510. $('#div14').css('color', 'yellow');
  511. }else if(value >= 115 || value <= 88){
  512. $('#div14').css('color', 'olive');
  513. }else if(value >= 110 || value <= 93){
  514. $('#div14').css('color', 'green');
  515. }
  516. }
  517. if (data.HCO3 !== undefined && data.HCO3 !== null){
  518. var value = data.HCO3;
  519. if (value >= 50 || value <= 6){
  520. $('#div26').css('color', 'red');
  521. }else if(value >= 48 || value <= 8){
  522. $('#div26').css('color', 'orangered');
  523. }else if(value >= 43 || value <= 10){
  524. $('#div26').css('color', 'yellow');
  525. }else if(value >= 38 || value <= 12){
  526. $('#div26').css('color', 'olive');
  527. }else if(value >= 33 || value <= 17){
  528. $('#div26').css('color', 'green');
  529. }
  530. }
  531. if (data.SO2 !== undefined && data.SO2 !== null){
  532. var value = data.SO2;
  533. if (value >= 105 || value <= 60){
  534. $('#div30').css('color', 'red');
  535. }else if(value >= 104 || value <= 70){
  536. $('#div30').css('color', 'orangered');
  537. }else if(value >= 103 || value <= 80){
  538. $('#div30').css('color', 'yellow');
  539. }else if(value >= 102 || value <= 85){
  540. $('#div30').css('color', 'olive');
  541. }else if(value >= 101 || value <= 90){
  542. $('#div30').css('color', 'green');
  543. }
  544. }
  545. if (data.BE !== undefined && data.BE !== null){
  546. var value = data.BE;
  547. if (value >= 8 || value <= -8){
  548. $('#div29').css('color', 'red');
  549. }else if(value >= 7 || value <= -7){
  550. $('#div29').css('color', 'orangered');
  551. }else if(value >= 6 || value <= -6){
  552. $('#div29').css('color', 'yellow');
  553. }else if(value >= 5 || value <= -5){
  554. $('#div29').css('color', 'olive');
  555. }else if(value >= 4 || value <= -4){
  556. $('#div29').css('color', 'green');
  557. }
  558. }
  559. if (data.TCO2 !== undefined && data.TCO2 !== null){
  560. var value = data.TCO2;
  561. if (value >= 53 || value <= 8){
  562. $('#div28').css('color', 'red');
  563. }else if(value >= 48 || value <= 10){
  564. $('#div28').css('color', 'orangered');
  565. }else if(value >= 43 || value <= 13){
  566. $('#div28').css('color', 'yellow');
  567. }else if(value >= 38 || value <= 16){
  568. $('#div28').css('color', 'olive');
  569. }else if(value >= 33 || value <= 19){
  570. $('#div28').css('color', 'green');
  571. }
  572. }
  573. if (data.PO2 !== undefined && data.PO2 !== null){
  574. var value = data.TCO2;
  575. if (value >= 55 || value <= 11){
  576. $('#div25').css('color', 'red');
  577. }else if(value >= 50 || value <= 12){
  578. $('#div25').css('color', 'orangered');
  579. }else if(value >= 45 || value <= 13){
  580. $('#div25').css('color', 'yellow');
  581. }else if(value >= 40 || value <= 15){
  582. $('#div25').css('color', 'olive');
  583. }else if(value >= 35 || value <= 18){
  584. $('#div25').css('color', 'green');
  585. }
  586. }
  587. if (data.ANGAP !== undefined && data.ANGAP !== null){
  588. var value = data.ANGAP;
  589. if (value >= 28 || value <= 3){
  590. $('#div19').css('color', 'red');
  591. }else if(value >= 26 || value <= 3.5){
  592. $('#div19').css('color', 'orangered');
  593. }else if(value >= 24 || value <= 4){
  594. $('#div19').css('color', 'yellow');
  595. }else if(value >= 22 || value <= 5){
  596. $('#div19').css('color', 'olive');
  597. }else if(value >= 20 || value <= 6){
  598. $('#div19').css('color', 'green');
  599. }
  600. }
  601. }
  602. function pressGrade(icp, avgValue, ngzyValue) {
  603. if (avgValue !== undefined && avgValue !== null){
  604. var value = avgValue;
  605. if (value >= 200 || value <= 25){
  606. $('#div4').css('color', 'red');
  607. }else if(value >= 190 || value <= 40){
  608. $('#div4').css('color', 'yellow');
  609. }else if(value >= 180 || value <= 55){
  610. $('#div4').css('color', 'olive');
  611. }else if(value >= 160 || value <= 70){
  612. $('#div4').css('color', 'green');
  613. }
  614. }
  615. if (icp !== undefined && icp !== null){
  616. var value = icp;
  617. if (value >= 35){
  618. $('#div5').css('color', 'red');
  619. }else if(value >= 30){
  620. $('#div5').css('color', 'orangered');
  621. }else if(value >= 25){
  622. $('#div5').css('color', 'yellow');
  623. }else if(value >= 22){
  624. $('#div5').css('color', 'olive');
  625. }else if(value >= 18){
  626. $('#div5').css('color', 'green');
  627. }
  628. }
  629. if (ngzyValue !== undefined && ngzyValue !== null){
  630. var value = ngzyValue;
  631. if (value <= 20){
  632. $('#div6').css('color', 'red');
  633. }else if(value <= 25){
  634. $('#div6').css('color', 'orangered');
  635. }else if(value <= 30){
  636. $('#div6').css('color', 'yellow');
  637. }else if(value <= 40){
  638. $('#div6').css('color', 'olive');
  639. }else if(value <= 60){
  640. $('#div6').css('color', 'green');
  641. }
  642. }
  643. }
  644. function heartGrade(date) {
  645. if (date.heartValue !== undefined && date.heartValue !== null){
  646. var value = date.heartValue;
  647. if (value >= 180 || value <= 40){
  648. $('#div10').css('color', 'red');
  649. }else if(value >= 160 || value <= 45){
  650. $('#div10').css('color', 'orangered');
  651. }else if(value >= 150 || value <= 50){
  652. $('#div10').css('color', 'yellow');
  653. }else if(value >= 140 || value <= 60){
  654. $('#div10').css('color', 'olive');
  655. }else if(value >= 110 || value <= 70){
  656. $('#div10').css('color', 'green');
  657. }
  658. }
  659. if (date.respValue !== undefined && date.respValue !== null){
  660. var value = date.respValue;
  661. if (value >= 10){
  662. $('#div11').css('color', 'red');
  663. }else if(value >= 9.5){
  664. $('#div11').css('color', 'orangered');
  665. }else if(value >= 9){
  666. $('#div11').css('color', 'yellow');
  667. }else if(value >= 8){
  668. $('#div11').css('color', 'olive');
  669. }else if(value >= 6){
  670. $('#div11').css('color', 'green');
  671. }
  672. }
  673. }
  674. function spo2Grade(date) {
  675. if (date.spo2Value !== undefined && date.spo2Value !== null){
  676. var value = date.spo2Value;
  677. if (value <= 65){
  678. $('#div7').css('color', 'red');
  679. }else if(value <= 70){
  680. $('#div7').css('color', 'orangered');
  681. }else if(value <= 75){
  682. $('#div7').css('color', 'yellow');
  683. }else if(value <= 80){
  684. $('#div7').css('color', 'olive');
  685. }else if(value <= 85){
  686. $('#div7').css('color', 'green');
  687. }
  688. }
  689. }
  690. function realRatio(dates) {
  691. var values = dates.substring(0, dates.indexOf("_"))
  692. var datas = JSON.parse(values);
  693. var arrayX = [];
  694. var arrayY = [];
  695. var value = datas[0].grade;
  696. for (var i=1; i<7; i++){
  697. var a = datas[i];
  698. for (var key in a){
  699. var v1 = a[key];
  700. var v2 = v1/value;
  701. arrayX[i] = key;
  702. arrayY[i] = v2.toFixed(2);
  703. }
  704. }
  705. var myChart = echarts.init(document.getElementById('container1'));
  706. // 指定图表的配置项和数据
  707. var option = {
  708. color: ['#3398DB'],
  709. tooltip: {
  710. trigger: 'axis',
  711. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  712. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  713. }
  714. },
  715. grid: {
  716. left: '3%',
  717. right: '4%',
  718. bottom: '3%',
  719. containLabel: true
  720. },
  721. xAxis: [
  722. {
  723. type: 'category',
  724. data: arrayX,
  725. axisTick: {
  726. alignWithLabel: true
  727. }
  728. }
  729. ],
  730. yAxis: [
  731. {
  732. type: 'value'
  733. }
  734. ],
  735. series: [
  736. {
  737. name: '直接访问',
  738. type: 'bar',
  739. barWidth: '60%',
  740. data: arrayY
  741. }
  742. ]
  743. };
  744. // 使用刚指定的配置项和数据显示图表。
  745. myChart.setOption(option);
  746. }
  747. function ratio(flag, value) {
  748. var id = $("#id").val();
  749. $.ajax({
  750. url: Feng.ctxPath + '/grade/getRatio/?id='+id,
  751. type: 'post',
  752. dataType: 'json',
  753. success: function (result) {
  754. //Feng.success("保存成功");
  755. var dates = result.data;
  756. var arrayX = [];
  757. var arrayY = [];
  758. if (dates.length !== 0){
  759. for (var i=0; i<6; i++){
  760. var a = dates[i];
  761. for (var key in a){
  762. var v1 = a[key];
  763. var v2 = v1/value;
  764. arrayX[i] = key;
  765. arrayY[i] = v2.toFixed(2);
  766. }
  767. }
  768. }
  769. var myChart;
  770. if (flag === 0){
  771. myChart = echarts.init(document.getElementById('container0'));
  772. }else{
  773. myChart = echarts.init(document.getElementById('container2'));
  774. }
  775. // 指定图表的配置项和数据
  776. var option = {
  777. color: ['#3398DB'],
  778. tooltip: {
  779. trigger: 'axis',
  780. axisPointer: { // 坐标轴指示器,坐标轴触发有效
  781. type: 'shadow' // 默认为直线,可选为:'line' | 'shadow'
  782. }
  783. },
  784. grid: {
  785. left: '3%',
  786. right: '4%',
  787. bottom: '3%',
  788. containLabel: true
  789. },
  790. xAxis: [
  791. {
  792. type: 'category',
  793. data: arrayX,
  794. axisTick: {
  795. alignWithLabel: true
  796. }
  797. }
  798. ],
  799. yAxis: [
  800. {
  801. type: 'value'
  802. }
  803. ],
  804. series: [
  805. {
  806. name: 'name',
  807. type: 'bar',
  808. barWidth: '60%',
  809. data: arrayY
  810. }
  811. ]
  812. };
  813. // 使用刚指定的配置项和数据显示图表。
  814. myChart.setOption(option);
  815. }
  816. });
  817. }