index.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. import { message } from 'antd';
  2. //统一处理请求成功、失败
  3. export function handleResponse(res, callback, error) {
  4. if (res.data.code === 200) {
  5. callback()
  6. } else {
  7. message.warning('操作失败' || res.data.message);
  8. error();
  9. }
  10. }
  11. export function pickCheckedTreeIds(data, menuIds = [], resourceIds = []) {
  12. let arr = data.children;
  13. if (data.relation === '1') {
  14. data.softwareMenuId && menuIds.push(data.softwareMenuId);
  15. data.softwareResourceId && resourceIds.push(data.softwareResourceId);
  16. }
  17. if (arr) {
  18. arr.map((it) => {
  19. pickCheckedTreeIds(it, menuIds, resourceIds);
  20. });
  21. }
  22. return {
  23. id: data.softwareId,
  24. name: data.softwareName,
  25. softwareMenuIds: menuIds,
  26. softwareResourceIds: resourceIds
  27. }
  28. }
  29. // 处理组织结构数据
  30. export function organizationData(arr) {
  31. arr.forEach(item => {
  32. item.value = item.hospitalId
  33. item.title = item.hospitalName
  34. if (!item.children && item.depts) {
  35. item.depts.forEach(it => {
  36. it.value = item.parentId + '-' + it.deptId
  37. })
  38. item.children = JSON.parse(JSON.stringify(item.depts).replace(/deptName/g, 'title').replace(/deptId/g, 'value'))
  39. return
  40. }
  41. if (item.children) {
  42. organizationData(item.children)
  43. }
  44. })
  45. return arr
  46. }
  47. // 去重
  48. export function unique(arr) {
  49. return arr.filter(function (item, index, arr) {
  50. return arr.indexOf(item, 0) === index;
  51. });
  52. }
  53. //时间获取
  54. export function getTimeDetail() {
  55. const d = new Date();
  56. const days = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
  57. let sec = d.getSeconds()
  58. let min = d.getMinutes()
  59. let hour = d.getHours()
  60. let str = `${d.getFullYear()}年${d.getMonth() + 1}月${d.getDate()}日 / ${days[d.getDay()]} / ${hour > 9 ? hour : '0' + hour}:${min > 9 ? min : '0' + min}:${sec > 9 ? sec : '0' + sec}`
  61. return str;
  62. }
  63. export function getValueFromEvent(e) {
  64. return e.target.value.replace(/(^\s*)|(\s*$)/g, '');
  65. }
  66. //存取cookie
  67. export function setCookie(cname, cvalue) {
  68. if (!cname) { //删除cookie
  69. document.cookie = 'userId=;expires=Thu, 01 Jan 1970 00:00:00 GMT;';
  70. return;
  71. }
  72. const text = cname + "=" + cvalue;
  73. document.cookie = text;
  74. }
  75. export function getCookie(cname) {
  76. var name = cname + "=";
  77. var ca = document.cookie.split(';');
  78. for (var i = 0; i < ca.length; i++) {
  79. var c = ca[i].trim();
  80. if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); }
  81. }
  82. return "";
  83. }
  84. //从对象数组中遍历出id
  85. export function filterIds(arr, str) { //arr需遍历的数组;str需拼接的字段数组
  86. let tempStr = '', temp = '';
  87. return arr.map((it) => {
  88. if (str) {
  89. str.map((t, i) => {
  90. temp = it[t] || '';
  91. tempStr = i === 0 ? temp : (tempStr + (tempStr ? "-" + temp : temp));
  92. });
  93. return tempStr;
  94. }
  95. return it.id + ''
  96. })
  97. }
  98. export function calcMinus(num1, num2) {
  99. num1 = Number(num1);
  100. num2 = Number(num2);
  101. if (isNaN(num1) || isNaN(num2)) return 0;
  102. const num1Digits = (num1.toString().split(".")[1] || "").length;
  103. const num2Digits = (num2.toString().split(".")[1] || "").length;
  104. const baseNum = Math.pow(10, Math.max(num1Digits, num2Digits));
  105. return (calcMulti(num1, baseNum) - calcMulti(num2, baseNum)) / baseNum;
  106. };
  107. export function calcAdd(num1, num2) {
  108. num1 = Number(num1);
  109. num2 = Number(num2);
  110. if (isNaN(num1) || isNaN(num2)) return 0;
  111. const num1Digits = (num1.toString().split(".")[1] || "").length;
  112. const num2Digits = (num2.toString().split(".")[1] || "").length;
  113. const baseNum = Math.pow(10, Math.max(num1Digits, num2Digits));
  114. return (calcMulti(num1, baseNum) + calcMulti(num2, baseNum)) / baseNum;
  115. }
  116. /* 两个浮点数相乘 */
  117. export function calcMulti(num1, num2) {
  118. num1 = Number(num1);
  119. num2 = Number(num2);
  120. if (isNaN(num1) || isNaN(num2)) return 0;
  121. const num1String = num1.toString();
  122. const num2String = num2.toString();
  123. const num1Digits = (num1String.split(".")[1] || "").length;
  124. const num2Digits = (num2String.split(".")[1] || "").length;
  125. const baseNum = Math.pow(10, num1Digits + num2Digits);
  126. return (
  127. (Number(num1String.replace(".", "")) *
  128. Number(num2String.replace(".", ""))) /
  129. baseNum
  130. );
  131. };