import React, { useState, useReducer } from 'react'; import { Form, Input, Popover, Badge, Row, Col, Drawer, Empty, Button, Tag, Space, Typography, Image, Divider, Card } from 'antd'; import './index.less'; import { createFromIconfontCN, SearchOutlined, MenuUnfoldOutlined, AppstoreOutlined, RightOutlined, } from '@ant-design/icons'; const IconFont = createFromIconfontCN({ scriptUrl: '//at.alicdn.com/t/font_1978197_pquh3rpy9n.js', }); declare type getContainerFunc = () => HTMLElement; export interface CheckboxOptionType { productlogo: React.ReactNode | string; productcode: string; productname: string; } export interface SearchOptionType { attribution: string; url: string; title: string; } interface TitleEventEntity { key: string; domEvent: Event; } interface pageOptionsTypes { title: string | React.ReactNode; num: Number | String; linkUrl: String; } export interface IProps { logoUrl: React.ReactNode | string; onSearch: ( value: any, event?: | React.ChangeEvent | React.MouseEvent | React.KeyboardEvent, ) => void; getContainer?: string | HTMLElement | getContainerFunc | false; drawervisible?: boolean; onChangeVisible: (visible: boolean) => void; personals?: any; onChangeClient: ( item: Object, event: React.MouseEvent, ) => void | undefined; authservicelist?: Array; onTitleClick?: (e: TitleEventEntity) => void; authoptions?: any; searchlist?: Array; exiturl?: string; pageOptions: Array; onChangePage: (linkUrl: string) => void; } const Navigation: React.FC = (props: IProps) => { const { Title, Text, Paragraph } = Typography; const [popoverVisible, setPopoverVisible] = useState(false); const [visible2, setVisible2] = useState(false); const [value, setValue] = useState(''); const [searchs, setSearchs] = useState(false); const errorUrl = 'data:image/png;base64,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'; const { logoUrl, onSearch, drawervisible, onChangeVisible, personals, onChangeClient, authservicelist, onTitleClick, authoptions, searchlist, exiturl, pageOptions, onChangePage, } = props; const setVisible = async () => { if (drawervisible === true) setVisible2(false); onChangeVisible(!drawervisible); }; const goToPage = async (item: any) => { onChangePage(item.linkUrl); if (drawervisible) await setVisible(); setPopoverVisible(false); }; return (
{logoUrl ?
{logoUrl}
: null}
onSearch(e)} // onFocus={() => setSearchs(true)} // onBlur={() => setSearchs(false)} style={{ width: '200px' }} suffix={} value={value} onChange={e => setValue(e.target.value)} />
{(personals?.urllist ?? []).map((item: any, index?: number) => { return ( onChangePage(item?.url)} className="nav-btn" > {item.title} ); })} setPopoverVisible(open)} content={ personals ? ( {personals?.username ?? ''} 【{personals?.nowclient?.clientname ?? ''}】 {`${ personals.isauth === '0' ? '未' : '已' }实名认证`} {personals?.nowclient?.dblist[0]?.dbaccountname ?? ''} { onChangeClient(personals.nowclient, e); if (drawervisible) setVisible(); setPopoverVisible(false); }} style={{ userSelect: 'none' }} > 切换 {pageOptions.length > 0 && ( <> {pageOptions.map((item: any, index: any) => { return ( ); })} )}
上次登录时间:{personals?.lastlogintime ?? ''}
{exiturl && ( )}
) : null } placement="bottomRight" >
产品与服务
{ (authservicelist ?? []).length > 0 ? (
    { (authservicelist ?? []).map((item: any) => { return (
  • {item.productname}
  • ); }) }
) : null }
{
{authoptions.length === 0 ? (
) : ( authoptions.map((item: any, index: any) => { return (
{item.title}} bordered={false} size="small" type="inner" style={{ display: 'flex', flexDirection: 'column', gap: 10 }} headStyle={{ border: 'none' }} bodyStyle={{ padding: 0 }} > {item.children.map((subs: any, sub_index: any) => { let isUse: Boolean = false; if (subs?.isopen == '1' && subs?.isauthorization == '1')isUse = true; return ( {subs.title} ); })}
); }) )}
}
); }; export default Navigation;