| 
1 | 1 | import { useState } from "react";  | 
2 | 2 | import { useNavigate } from "react-router-dom";  | 
3 |  | -import { Layout, Button, Tooltip, Dropdown, Avatar, theme } from "antd";  | 
 | 3 | +import { Layout, Button, Tooltip, Dropdown, Avatar, theme,Modal } from "antd";  | 
4 | 4 | import type { MenuProps } from "antd";  | 
5 | 5 | import { MenuUnfoldOutlined, SkinOutlined, MenuFoldOutlined, UserOutlined, FontSizeOutlined } from "@ant-design/icons";  | 
6 | 6 | 
 
  | 
@@ -37,7 +37,7 @@ function Head() {  | 
37 | 37 | 			key: "4",  | 
38 | 38 | 			label: <span>退出登录</span>,  | 
39 | 39 | 			onClick: () => {  | 
40 |  | -				navigate("/login",{replace: true});  | 
 | 40 | +				setIsModalOpen(true);  | 
41 | 41 | 			}  | 
42 | 42 | 		}  | 
43 | 43 | 	];  | 
@@ -96,60 +96,84 @@ function Head() {  | 
96 | 96 | 		dispatch(updateCollapsed(!isCollapsed));  | 
97 | 97 | 	};  | 
98 | 98 | 
 
  | 
 | 99 | +	const [isModalOpen, setIsModalOpen] = useState(false);  | 
 | 100 | + | 
 | 101 | +	// 弹框  | 
 | 102 | +	const handleOk = () => {  | 
 | 103 | +		navigate("/login", { replace: true });  | 
 | 104 | +	};  | 
 | 105 | + | 
 | 106 | +	const handleCancel = () => {  | 
 | 107 | +		setIsModalOpen(false);  | 
 | 108 | +	};  | 
 | 109 | + | 
99 | 110 | 	return (  | 
100 |  | -		<Header className="header flx-justify-between">  | 
101 |  | -			<Button  | 
102 |  | -				type="text"  | 
103 |  | -				icon={isCollapsed ? <MenuUnfoldOutlined /> : <MenuFoldOutlined />}  | 
104 |  | -				onClick={collapsedFn}  | 
105 |  | -				style={{  | 
106 |  | -					fontSize: "16px",  | 
107 |  | -					width: 64,  | 
108 |  | -					height: 64  | 
109 |  | -				}}  | 
110 |  | -				size="large"  | 
111 |  | -			/>  | 
112 |  | -			<div className="func-box flx-center">  | 
113 |  | -				{/* <Tooltip placement="bottom" title="全屏"> */}  | 
114 |  | -				<FullScreen />  | 
115 |  | -				{/* </Tooltip> */}  | 
 | 111 | +		<>  | 
 | 112 | +			{/* 弹框 */}  | 
 | 113 | +			<Modal title="温馨提示" cancelText="取消" okText="确定" open={isModalOpen} onOk={handleOk} onCancel={handleCancel}>  | 
 | 114 | +				<p>您是否确认退出登录?</p>  | 
 | 115 | +			</Modal>  | 
116 | 116 | 
 
  | 
117 |  | -				{/* 国际化配置 */}  | 
118 |  | -				<Dropdown menu={{ items: languageItems }} trigger={["hover"]} placement="bottom" arrow>  | 
119 |  | -					{/* <Tooltip placement="left" title="国际化配置"> */}  | 
120 |  | -					<div className="flx-center">  | 
121 |  | -						<SvgIcon  | 
122 |  | -							name="language"  | 
123 |  | -							iconStyle={{ height: "22px", width: "22px", marginRight: "15px", cursor: "pointer", color: "var(--yz-svg-color)" }}  | 
124 |  | -						/>  | 
125 |  | -					</div>  | 
 | 117 | +			<Header className="header flx-justify-between">  | 
 | 118 | +				<Button  | 
 | 119 | +					type="text"  | 
 | 120 | +					icon={isCollapsed ? <MenuUnfoldOutlined /> : <MenuFoldOutlined />}  | 
 | 121 | +					onClick={collapsedFn}  | 
 | 122 | +					style={{  | 
 | 123 | +						fontSize: "16px",  | 
 | 124 | +						width: 64,  | 
 | 125 | +						height: 64  | 
 | 126 | +					}}  | 
 | 127 | +					size="large"  | 
 | 128 | +				/>  | 
 | 129 | +				<div className="func-box flx-center">  | 
 | 130 | +					{/* <Tooltip placement="bottom" title="全屏"> */}  | 
 | 131 | +					<FullScreen />  | 
126 | 132 | 					{/* </Tooltip> */}  | 
127 |  | -				</Dropdown>  | 
128 | 133 | 
 
  | 
129 |  | -				{/* 组件大小 */}  | 
130 |  | -				<Dropdown menu={{ items: compItems }} trigger={["hover"]} placement="bottom" arrow>  | 
131 |  | -					{/* <Tooltip placement="left" title="组件尺寸配置"> */}  | 
132 |  | -					<FontSizeOutlined className="icon" />  | 
133 |  | -					{/* </Tooltip> */}  | 
134 |  | -				</Dropdown>  | 
 | 134 | +					{/* 国际化配置 */}  | 
 | 135 | +					<Dropdown menu={{ items: languageItems }} trigger={["hover"]} placement="bottom" arrow>  | 
 | 136 | +						{/* <Tooltip placement="left" title="国际化配置"> */}  | 
 | 137 | +						<div className="flx-center">  | 
 | 138 | +							<SvgIcon  | 
 | 139 | +								name="language"  | 
 | 140 | +								iconStyle={{  | 
 | 141 | +									height: "22px",  | 
 | 142 | +									width: "22px",  | 
 | 143 | +									marginRight: "15px",  | 
 | 144 | +									cursor: "pointer",  | 
 | 145 | +									color: "var(--yz-svg-color)"  | 
 | 146 | +								}}  | 
 | 147 | +							/>  | 
 | 148 | +						</div>  | 
 | 149 | +						{/* </Tooltip> */}  | 
 | 150 | +					</Dropdown>  | 
135 | 151 | 
 
  | 
136 |  | -				{/* 主题配置 */}  | 
137 |  | -				<Tooltip placement="bottom" title="主题配置">  | 
138 |  | -					<SkinOutlined  | 
139 |  | -						className="icon"  | 
140 |  | -						onClick={() => {  | 
141 |  | -							setOpen(true);  | 
142 |  | -						}}  | 
143 |  | -					/>  | 
144 |  | -				</Tooltip>  | 
145 |  | -				{/* 个人信息 */}  | 
146 |  | -				<p className="username ellipsis">Yangzi</p>  | 
147 |  | -				<Dropdown menu={{ items }} trigger={["hover"]} placement="bottom" arrow>  | 
148 |  | -					<Avatar className="icon avatar" style={{ backgroundColor: token.colorPrimary }} icon={<UserOutlined />} />  | 
149 |  | -				</Dropdown>  | 
150 |  | -			</div>  | 
151 |  | -			<ThemeComp open={open} close={close}></ThemeComp>  | 
152 |  | -		</Header>  | 
 | 152 | +					{/* 组件大小 */}  | 
 | 153 | +					<Dropdown menu={{ items: compItems }} trigger={["hover"]} placement="bottom" arrow>  | 
 | 154 | +						{/* <Tooltip placement="left" title="组件尺寸配置"> */}  | 
 | 155 | +						<FontSizeOutlined className="icon" />  | 
 | 156 | +						{/* </Tooltip> */}  | 
 | 157 | +					</Dropdown>  | 
 | 158 | + | 
 | 159 | +					{/* 主题配置 */}  | 
 | 160 | +					<Tooltip placement="bottom" title="主题配置">  | 
 | 161 | +						<SkinOutlined  | 
 | 162 | +							className="icon"  | 
 | 163 | +							onClick={() => {  | 
 | 164 | +								setOpen(true);  | 
 | 165 | +							}}  | 
 | 166 | +						/>  | 
 | 167 | +					</Tooltip>  | 
 | 168 | +					{/* 个人信息 */}  | 
 | 169 | +					<p className="username ellipsis">Yangzi</p>  | 
 | 170 | +					<Dropdown menu={{ items }} trigger={["hover"]} placement="bottom" arrow>  | 
 | 171 | +						<Avatar className="icon avatar" style={{ backgroundColor: token.colorPrimary }} icon={<UserOutlined />} />  | 
 | 172 | +					</Dropdown>  | 
 | 173 | +				</div>  | 
 | 174 | +				<ThemeComp open={open} close={close}></ThemeComp>  | 
 | 175 | +			</Header>  | 
 | 176 | +		</>  | 
153 | 177 | 	);  | 
154 | 178 | }  | 
155 | 179 | 
 
  | 
 | 
0 commit comments