123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- import { message } from 'antd';
- //统一处理请求成功、失败
- export function handleResponse(res, callback, error) {
- if (res.data.code === 200) {
- callback()
- } else {
- message.warning('操作失败' || res.data.message);
- error();
- }
- }
- export function pickCheckedTreeIds(data, menuIds = [], resourceIds = []) {
- let arr = data.children;
- if (data.relation === '1') {
- data.softwareMenuId && menuIds.push(data.softwareMenuId);
- data.softwareResourceId && resourceIds.push(data.softwareResourceId);
- }
- if (arr) {
- arr.map((it) => {
- pickCheckedTreeIds(it, menuIds, resourceIds);
- });
- }
- return {
- id: data.softwareId,
- name: data.softwareName,
- softwareMenuIds: menuIds,
- softwareResourceIds: resourceIds
- }
- }
- // 处理组织结构数据
- export function organizationData(arr) {
- arr.forEach(item => {
- item.value = item.hospitalId
- item.title = item.hospitalName
- if (!item.children && item.depts) {
- item.depts.forEach(it => {
- it.value = item.parentId + '-' + it.deptId
- })
- item.children = JSON.parse(JSON.stringify(item.depts).replace(/deptName/g, 'title').replace(/deptId/g, 'value'))
- return
- }
- if (item.children) {
- organizationData(item.children)
- }
- })
- return arr
- }
- // 去重
- export function unique(arr) {
- return arr.filter(function (item, index, arr) {
- return arr.indexOf(item, 0) === index;
- });
- }
- //时间获取
- export function getTimeDetail() {
- const d = new Date();
- const days = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
- let sec = d.getSeconds()
- let min = d.getMinutes()
- let hour = d.getHours()
- 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}`
- return str;
- }
- export function getValueFromEvent(e) {
- return e.target.value.replace(/(^\s*)|(\s*$)/g, '');
- }
- //存取cookie
- export function setCookie(cname, cvalue) {
- if (!cname) { //删除cookie
- document.cookie = 'userId=;expires=Thu, 01 Jan 1970 00:00:00 GMT;';
- return;
- }
- const text = cname + "=" + cvalue;
- document.cookie = text;
- }
- export function getCookie(cname) {
- var name = cname + "=";
- var ca = document.cookie.split(';');
- for (var i = 0; i < ca.length; i++) {
- var c = ca[i].trim();
- if (c.indexOf(name) == 0) { return c.substring(name.length, c.length); }
- }
- return "";
- }
- //从对象数组中遍历出id
- export function filterIds(arr, str) { //arr需遍历的数组;str需拼接的字段数组
- let tempStr = '', temp = '';
- return arr.map((it) => {
- if (str) {
- str.map((t, i) => {
- temp = it[t] || '';
- tempStr = i === 0 ? temp : (tempStr + (tempStr ? "-" + temp : temp));
- });
- return tempStr;
- }
- return it.id + ''
- })
- }
- export function calcMinus(num1, num2) {
- num1 = Number(num1);
- num2 = Number(num2);
- if (isNaN(num1) || isNaN(num2)) return 0;
- const num1Digits = (num1.toString().split(".")[1] || "").length;
- const num2Digits = (num2.toString().split(".")[1] || "").length;
- const baseNum = Math.pow(10, Math.max(num1Digits, num2Digits));
- return (calcMulti(num1, baseNum) - calcMulti(num2, baseNum)) / baseNum;
- };
- export function calcAdd(num1, num2) {
- num1 = Number(num1);
- num2 = Number(num2);
- if (isNaN(num1) || isNaN(num2)) return 0;
- const num1Digits = (num1.toString().split(".")[1] || "").length;
- const num2Digits = (num2.toString().split(".")[1] || "").length;
- const baseNum = Math.pow(10, Math.max(num1Digits, num2Digits));
- return (calcMulti(num1, baseNum) + calcMulti(num2, baseNum)) / baseNum;
- }
- /* 两个浮点数相乘 */
- export function calcMulti(num1, num2) {
- num1 = Number(num1);
- num2 = Number(num2);
- if (isNaN(num1) || isNaN(num2)) return 0;
- const num1String = num1.toString();
- const num2String = num2.toString();
- const num1Digits = (num1String.split(".")[1] || "").length;
- const num2Digits = (num2String.split(".")[1] || "").length;
- const baseNum = Math.pow(10, num1Digits + num2Digits);
- return (
- (Number(num1String.replace(".", "")) *
- Number(num2String.replace(".", ""))) /
- baseNum
- );
- };
|