123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- /*
- * @Author: your name
- * @Date: 2021-09-26 17:59:56
- * @LastEditTime: 2021-11-12 10:55:08
- * @LastEditors: Please set LastEditors
- * @Description: In User Settings Edit
- * @FilePath: /MedicalWisdomCheckSys/src/pages/utils.js
- */
- /*
- * @Author: your name
- * @Date: 2021-07-26 13:50:44
- * @LastEditTime: 2021-08-27 14:31:46
- * @LastEditors: Please set LastEditors
- * @Description: In User Settings Edit
- * @FilePath: /TracerMethodology_PC/src/utils.js
- */
- //获取url参数
- /**
- *
- * @param {*} name 需要获取的query名
- * @returns
- */
- import { useRequest,request,history } from 'umi';
- import { stringify } from 'querystring';
- const getQueryString = (name)=>{
- let reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
- let r = window.location.search.substr(1).match(reg);
-
- if (r != null) {
- return decodeURIComponent(r[2]);
- };
- return null;
- }
- /**
- * 退出登录,并且将当前的 url 保存
- */
- const loginOut = async () => {
- const { query = {}, pathname } = history.location;
- const { redirect } = query;
- const hospSign = localStorage.getItem('hospSign');
-
- if (window.location.pathname !== '/user/login' && !redirect) {
- history.replace({
- pathname: '/user/login',
- search: stringify({
- redirect:pathname,
- hospSign:hospSign
- }),
- });
- localStorage.removeItem('hospSign');
- }
- };
- /**
- *
- * @param {Function} requestFunc request函数
- */
- const CARequest = (url)=>{
- const { data, error, loading } = useRequest(() => {
- return request(url);
- });
- console.log({data, error, loading});
-
- }
- //递归获取所有层级某一属性
- const deepGetVal = (dataToDeep,key,subArr)=>{
- // console.log({dataToDeep,key,subArr});
- let resultArr = [];
-
- function looper(dataToDeep,key,subArr){
- dataToDeep.forEach(item=>{
- if(item[subArr]&&item[subArr].length>0){
- resultArr.push(item[key]);
- looper(item[subArr],key,subArr);
- }else {
- resultArr.push(item[key]);
- }
- });
- }
- looper(dataToDeep,key,subArr);
- return resultArr
- }
- //递归获取所有有树子集的节点
- const deepGetAllParents = (dataToDeep,subArr)=>{
- let resultArr = [];
- function looper(dataToDeep,subArr){
- dataToDeep.forEach(item=>{
- if(item[subArr]&&item[subArr].length>0){
- resultArr.push(item);
- // console.log({resultArr});
- looper(item[subArr],subArr);
- }
- });
- };
- looper(dataToDeep,subArr);
- return resultArr
-
- }
- //数组去重
- function unique(arr) {
- if (!Array.isArray(arr)) {
- console.log('type error!')
- return
- }
- var array = [];
- for (var i = 0; i < arr.length; i++) {
- if (array .indexOf(arr[i]) === -1) {
- array .push(arr[i])
- }
- }
- return array;
- }
- export {
- getQueryString,
- CARequest,
- deepGetVal,
- deepGetAllParents,
- unique,
- loginOut
- }
|