|
@@ -1,14 +1,29 @@
|
|
|
import React from 'react';
|
|
|
import { Row, Col, Form, Input, Button, Card, message, Image } from 'antd';
|
|
|
+import { useSelector } from 'react-redux';
|
|
|
+import { RootState } from '../../states/store';
|
|
|
+import { SystemMode } from '../../states/systemModeSlice';
|
|
|
import loginBrand from 'src/assets/imgs/login-brand.jpeg';
|
|
|
import { useDispatch } from 'react-redux';
|
|
|
import { login as loginApi } from '../../API/security/userActions';
|
|
|
import { setUserInfo, type UserInfoState } from '../../states/user_info'; // 同时导入 setUserInfo 和类型 UserInfoState
|
|
|
import handleEmergencyOperation from '../../domain/patient/handleEmergencyOperation';
|
|
|
+import { setSystemMode } from '../../states/systemModeSlice';
|
|
|
|
|
|
const Login: React.FC = () => {
|
|
|
const [form] = Form.useForm();
|
|
|
const dispatch = useDispatch();
|
|
|
+ const systemMode = useSelector((state: RootState) => state.systemMode.mode);
|
|
|
+ const userInfo = useSelector((state: RootState) => state.userInfo);
|
|
|
+ console.log(`========${systemMode}`);
|
|
|
+
|
|
|
+ if (systemMode === SystemMode.Emergency) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ //非急诊,但已经登录,不显示login
|
|
|
+ if (systemMode === SystemMode.Normal && !!userInfo && userInfo.uid !== 0) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
// 2. 登录请求函数
|
|
|
const loginRequest = async (values: {
|
|
@@ -37,6 +52,7 @@ const Login: React.FC = () => {
|
|
|
};
|
|
|
// 5. 分发 redux action
|
|
|
dispatch(setUserInfo(userInfo));
|
|
|
+ dispatch(setSystemMode(SystemMode.Normal));
|
|
|
message.success('登录成功'); //todo 更详细的提示与异步过程
|
|
|
} else {
|
|
|
message.error(result.description || '登录失败');
|