血透系统pad前端

tools.js 4.8KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. export function getFileExtension (filename) {
  2. var tempArr = filename.split(".");
  3. var ext;
  4. if (tempArr.length === 1 || (tempArr[0] === "" && tempArr.length === 2)) {
  5. ext = "";
  6. } else {
  7. ext = tempArr.pop().toLowerCase(); //get the extension and make it lower-case
  8. }
  9. return ext;
  10. }
  11. export function isCardNo(card)
  12. {
  13. // 身份证号码为15位或者18位,15位时全为数字,18位前17位为数字,最后一位是校验位,可能为数字或字符X
  14. var reg_18 = /^[1-9]\d{5}(18|19|([23]\d))\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
  15. var reg_15 = /^[1-9]\d{5}\d{2}((0[1-9])|(10|11|12))(([0-2][1-9])|10|20|30|31)\d{3}$/;
  16. return reg_18.test(card) || reg_15.test(card)
  17. }
  18. export function jsGetAge(strBirthday, splitstr) {
  19. var returnAge;
  20. var strBirthdayArr = strBirthday.split(splitstr);
  21. var birthYear = strBirthdayArr[0];
  22. var birthMonth = strBirthdayArr[1];
  23. var birthDay = strBirthdayArr[2];
  24. var d = new Date();
  25. var nowYear = d.getFullYear();
  26. var nowMonth = d.getMonth() + 1;
  27. var nowDay = d.getDate();
  28. if (nowYear == birthYear) {
  29. returnAge = 0;//同年 则为0岁
  30. }
  31. else {
  32. var ageDiff = nowYear - birthYear; //年之差
  33. if (ageDiff > 0) {
  34. if (nowMonth == birthMonth) {
  35. var dayDiff = nowDay - birthDay;//日之差
  36. if (dayDiff < 0) {
  37. returnAge = ageDiff - 1;
  38. }
  39. else {
  40. returnAge = ageDiff;
  41. }
  42. }
  43. else {
  44. var monthDiff = nowMonth - birthMonth;//月之差
  45. if (monthDiff < 0) {
  46. returnAge = ageDiff - 1;
  47. }
  48. else {
  49. returnAge = ageDiff;
  50. }
  51. }
  52. }
  53. else {
  54. returnAge = -1;//返回-1 表示出生日期输入错误 晚于今天
  55. }
  56. }
  57. return returnAge;//返回周岁年龄
  58. }
  59. export function isPositiveInteger(s){//是否为正整数
  60. var re = /^[0-9]+$/ ;
  61. return re.test(s)
  62. }
  63. export function isPositiveNumber(s) {
  64. var re = /^\d+(\.\d+)?$/ ;
  65. return re.test(s)
  66. }
  67. export function dialysisAge(firstDialysisDate) {
  68. var dialysisAge;
  69. var startDate = firstDialysisDate.split('-');
  70. var startYear = startDate[0];
  71. var startMonth = startDate[1];
  72. var startDay = startDate[2];
  73. var d = new Date();
  74. var nowYear = d.getFullYear();
  75. var nowMonth = d.getMonth() + 1;
  76. var nowDay = d.getDate();
  77. var diffYear = nowYear-startYear;
  78. var diffMonth = nowMonth-startMonth;
  79. var diffDay = nowDay-startDay;
  80. if (diffYear<0) {
  81. dialysisAge = "";
  82. }else if (diffYear==0) {
  83. if (diffMonth<0){
  84. dialysisAge = "";
  85. }else if (diffMonth==0 && diffDay<0){
  86. dialysisAge = "";
  87. } else {
  88. if (diffDay<0) {
  89. diffMonth -=1;
  90. }
  91. dialysisAge = diffMonth+"个月";
  92. }
  93. }else {
  94. if (diffDay<0) {
  95. diffMonth -=1;
  96. }
  97. if (diffMonth<0) {
  98. diffYear -=1;
  99. diffMonth += 12;
  100. }
  101. if (diffYear>0&&diffMonth>0) {
  102. dialysisAge = diffYear+"年零"+diffMonth+"个月";
  103. }else if (diffYear>0) {
  104. dialysisAge = diffYear+"年";
  105. }else {
  106. dialysisAge = diffMonth+"个月";
  107. }
  108. }
  109. return dialysisAge;//返回周岁年龄
  110. }
  111. export function uParseTime(time, cFormat) {
  112. if (arguments.length === 0) {
  113. return null
  114. }
  115. const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
  116. let date
  117. if (typeof time === 'object') {
  118. date = time
  119. } else {
  120. if (('' + time).length !== 13) time = parseInt(time) * 1000
  121. date = new Date(time)
  122. }
  123. const formatObj = {
  124. y: date.getFullYear(),
  125. m: date.getMonth() + 1,
  126. d: date.getDate(),
  127. h: date.getHours(),
  128. i: date.getMinutes(),
  129. s: date.getSeconds(),
  130. a: date.getDay()
  131. }
  132. const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
  133. let value = formatObj[key]
  134. if (key === 'a') return ['一', '二', '三', '四', '五', '六', '日'][value - 1]
  135. if (result.length > 0 && value < 10) {
  136. value = '0' + value
  137. }
  138. return value || 0
  139. })
  140. return time_str
  141. }
  142. export function calculateAnticoagulantZL(type, shouji, shichang, weichi) {
  143. var t = 0.5;
  144. if (type==1) {
  145. t = 0.5;
  146. }else if (type == 2){
  147. t = 1;
  148. }else {
  149. return 0;
  150. }
  151. shouji = parseFloat(shouji);
  152. shichang = parseFloat(shichang);
  153. weichi = parseFloat(weichi);
  154. if (isNaN(shouji) ||isNaN(shichang) ||isNaN(weichi)) {
  155. return 0
  156. }
  157. return (shouji + (shichang-t) * weichi).toFixed(1);
  158. }