import { Layout, Dropdown, Menu, Modal, Input, Form, Space, Button } from 'antd';
import { withRouter } from 'react-router'
import { useState, useEffect } from 'react';
import { useSelector, useDispatch } from 'react-redux';
import { RedoOutlined } from '@ant-design/icons';
import MyMessage from "../MyMessage";
import { panesNow } from '@reducers/tabPanes.js';
import { getTimeDetail } from '@utils/index';
import logo from '@images/logo.png';
import msg from '@images/msg.png';
import me from '@images/me.png';
import down from '@images/down.png';
import './index.less'
import { message } from "antd/lib/index";
import { add, active } from '@reducers/tabPanes'
import { setUnReadNum, setRegularNum, setRulerNum, setProblemNum, setLossNum, setDiagNum, setDocNum, setDrugNum, setDutyNum, setSurgeryNum } from '@reducers/userInfo.js';
import apiObj from '@api/index';
const { post, api, xPost } = apiObj;
const propTypes = {
}
const defaultProps = {};
const { Header } = Layout;
function AHeader({ history, hideName }) {
const dispatch = useDispatch();//当前选中的菜单
const { panes, activeTab } = useSelector(state => {
return state.tabPanes;
});
const [form] = Form.useForm();
const [dateTime, setDateTime] = useState('');
const [visible, setVisible] = useState(false);
//const [unReadNum,setUnReadNum] = useState(0);
const [systemName, setSystemName] = useState("");
//const [userName,setUserName] = useState("");
const userName = localStorage.getItem("userName");
const hospitalId = localStorage.getItem("hospitalId");
const softwareArr = JSON.parse(localStorage.getItem("software"));
const { user, unReadNum, regularNum, rulerNum, problemNum, lossNum, diagNum, docNum, drugNum, dutyNum, surgeryNum } = useSelector((state) => {
return state.userInfo;
});
//退出
function loginOut() {
localStorage.removeItem("token");
localStorage.removeItem("systemId");
localStorage.removeItem("hospitalId");
localStorage.removeItem("software")
dispatch(panesNow([]));
history.push('/login');
}
function getRefresh() {
console.log(activeTab);
let count
if (activeTab.split('&')[0] == "SJZL-ZZSWH") {
count = regularNum
count++
dispatch(setRegularNum(count));
} else if (activeTab.split('&')[0] == "SJZL-ZDJYGZWH") {
count = rulerNum
count++
dispatch(setRulerNum(count));
} else if (activeTab.split('&')[0] == "SJZL-ZDJYWTMX") {
count = problemNum
count++
dispatch(setProblemNum(count));
} else if (activeTab.split('&')[0] == "SJZL-BLSJDSMX") {
count = lossNum
count++
dispatch(setLossNum(count));
} else if (activeTab.split('&')[0] == "JCSJ-ZDXXWH") {
count = diagNum
count++
dispatch(setDiagNum(count));
} else if (activeTab.split('&')[0] == "JCSJ-WSMBWH") {
count = docNum
count++
dispatch(setDocNum(count));
} else if (activeTab.split('&')[0] == "JCSJ-YPXXWH") {
count = drugNum
count++
dispatch(setDrugNum(count));
} else if (activeTab.split('&')[0] == "JCSJ-ZWZCBGJL") {
count = dutyNum
count++
dispatch(setDutyNum(count));
} else if (activeTab.split('&')[0] == "JCSJ-SSXXWH") {
count = surgeryNum
count++
dispatch(setSurgeryNum(count));
}
}
//获取未读消息数量
function getNotNoticeCount() {
xPost(api.getNotNoticeCount).then((res) => {
if (res.data.code === 200) {
const data = res.data.data || {};
let count = data.count;
count = count > 99 ? '99+' : count;
dispatch(setUnReadNum(count));
initWebsocket(count);
} else {
//message.warning(res.data.msg || '请求失败');
}
})
}
//未读消息页面显示并带入未读筛选条件
function showMyMsgPage() {
const pageKey = 'ZNTZ-WDTZ&我的通知';
const item = panes.find((it) => it.key === pageKey);
if (item) { //已存在当前tab,则定位即可不增加
dispatch(active({ idName: pageKey, isUnRead: true }));
return;
}
dispatch(
add({ title: '我的通知', content: