import {useEffect,useState} from 'react'; import { useDispatch } from 'react-redux' import { setSys,setUser } from '@reducers/userInfo.js'; import { Radio, Row, Col,Steps, Select, Button } from 'antd'; import AHeader from '../AHeader' import './index.less' import iconLb from '@images/lb.png'; import iconHis from '@images/his.png'; import rightIcon from '@images/right.png'; import {message} from "antd/lib/index"; import { getCookie,setCookie } from "@utils/index"; import apiObj from '@api/index'; const {api,xPost,interceptors} = apiObj; const { Step } = Steps; const {Option} = Select; function SysChoose({history}) { //const [current, setCurrent] = useState(1); const [sysId, setSysId] = useState(null); //选中的系统id const [sysName, setSysName] = useState(''); //选中的系统名称 const [subHisId, setSubHisId] = useState(''); //选中的子医院id const [showId, setShowId] = useState(''); //要显示子医院列表的医院id const [orgList, setOrgList] = useState([]); //系统列表 const [hisList, setHisList] = useState([]); //当前选中系统下的医院列表 const dispatch = useDispatch(); const steps = [ { title: '选择系统', content: 'First-content', }, { title: '选择组织', content: 'Second-content', }, ]; //系统单选 function onChange(e){ const id = e.target.value; const checkOrg = orgList.find((it)=>it.id===id); const his =checkOrg.hospitals; setSysId(id); setHisList(his); } //获取组织列表 function getOrgList(){ xPost(api.getUserHospitals).then((res)=>{ if(res.data.code===200){ const data = res.data.data; const { software,userInfo } = data; setOrgList(software); setSysName(software[0].name) setSysId(software[0].id); setCookie('userId',userInfo.id); setCookie('userName',userInfo.name); dispatch(setUser(userInfo)); localStorage.setItem('software', JSON.stringify(software)); //默认显示第一个系统的组织 setHisList(software[0]?software[0].hospitals:[]); setTimeout(()=>{ if (data.jump) { getIn(software[0].hospitals[0].hospitalId, software[0].hospitals[0].type, software[0].id) } },500) }else{ message.warning(res.data.msg||'获取医院列表失败'); } }) } //点击进入 function getIn(id, type, sysid){ dispatch(setSys({sysId,sysName,hisId:id})); setCookie('systemId', sysId || sysid); setCookie('hospitalId',id); setCookie('hosType', type); interceptors(); history.push("/manage"); } //显示子医院列表,传空为隐藏,传id为显示 function showSubPop(id){ setShowId(id); } function onSelect(id){ setSubHisId(id); } useEffect(()=>{ getOrgList(); },[]); return ( <>

欢迎登录AI病案质控平台!

平台检测到您的账号关联以下系统及组织,请先选择您想要进入的系统再选择要进入的组织。
{steps.map(item => ( ))}
选择系统(单选)
{orgList.map((it)=>{ return {it.name} })}
选择组织(单选)
{ hisList.map((it)=>{ return (
icon
{it.hospitalName}
{it.children?(<>showSubPop(it.hospitalId)}>点击选择 箭头 {showId===it.hospitalId?

选择子组织 showSubPop('')}>收起

: ''}) : ( getIn(it.hospitalId,it.type)}>点击进入 箭头)}
) }) }
) } export default SysChoose;