You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

493 lines
16 KiB

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>资金使用管理系统</title>
<link href="https://cdn.staticfile.org/bootstrap/5.3.0/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://cdn.staticfile.org/bootstrap-icons/1.11.0/font/bootstrap-icons.min.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Microsoft YaHei', sans-serif;
background-color: #f5f5f5;
overflow: hidden;
}
/* Header 样式 */
.main-header {
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
color: white;
padding: 15px 30px;
display: flex;
justify-content: space-between;
align-items: center;
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
z-index: 1000;
}
.header-left {
display: flex;
align-items: center;
gap: 20px;
}
.logo {
display: flex;
align-items: center;
gap: 10px;
font-size: 20px;
font-weight: 600;
}
.logo i {
font-size: 28px;
}
.header-right {
display: flex;
align-items: center;
gap: 20px;
}
.user-info {
display: flex;
align-items: center;
gap: 10px;
cursor: pointer;
padding: 5px 10px;
border-radius: 5px;
transition: background-color 0.3s;
}
.user-info:hover {
background-color: rgba(255, 255, 255, 0.1);
}
.user-avatar {
width: 35px;
height: 35px;
border-radius: 50%;
background-color: rgba(255, 255, 255, 0.2);
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
}
/* 主容器 */
.main-container {
display: flex;
height: calc(100vh - 60px);
}
/* 侧边导航 */
.sidebar {
width: 260px;
background: white;
box-shadow: 2px 0 10px rgba(0, 0, 0, 0.05);
overflow-y: auto;
z-index: 100;
}
.nav-menu {
list-style: none;
padding: 20px 0;
}
.nav-item {
margin-bottom: 5px;
}
.nav-link {
display: flex;
align-items: center;
padding: 12px 20px;
color: #333;
text-decoration: none;
transition: all 0.3s;
border-left: 3px solid transparent;
}
.nav-link:hover {
background-color: #f8f9fa;
color: #667eea;
border-left-color: #667eea;
}
.nav-link.active {
background-color: #f0f0ff;
color: #667eea;
border-left-color: #667eea;
font-weight: 600;
}
.nav-link i {
margin-right: 12px;
font-size: 18px;
width: 20px;
}
.nav-submenu {
list-style: none;
padding-left: 0;
background-color: #f8f9fa;
display: none;
}
.nav-submenu.show {
display: block;
}
.nav-submenu .nav-link {
padding-left: 50px;
font-size: 14px;
}
.nav-submenu .nav-submenu {
padding-left: 0;
background-color: #f0f0f0;
}
.nav-submenu .nav-submenu .nav-link {
padding-left: 70px;
font-size: 13px;
}
.nav-link .badge {
margin-left: 8px;
font-size: 10px;
padding: 2px 6px;
font-weight: 500;
}
.nav-toggle {
cursor: pointer;
user-select: none;
position: relative;
}
.nav-toggle .arrow-icon {
float: right;
transition: transform 0.3s ease;
font-size: 14px;
color: #999;
margin-left: auto;
}
.nav-toggle:not(.collapsed) .arrow-icon {
transform: rotate(90deg);
color: #667eea;
}
.nav-toggle.collapsed .arrow-icon {
transform: rotate(0deg);
}
/* 主内容区域 */
.main-content {
flex: 1;
display: flex;
flex-direction: column;
overflow: hidden;
}
.content-iframe {
width: 100%;
height: 100%;
border: none;
background: white;
}
/* Footer 样式 */
.main-footer {
background: white;
padding: 15px 30px;
border-top: 1px solid #e0e0e0;
display: flex;
justify-content: space-between;
align-items: center;
font-size: 14px;
color: #666;
z-index: 1000;
}
.footer-left {
display: flex;
gap: 20px;
}
.footer-link {
color: #667eea;
text-decoration: none;
}
.footer-link:hover {
text-decoration: underline;
}
/* 响应式 */
@media (max-width: 768px) {
.sidebar {
position: fixed;
left: -260px;
transition: left 0.3s;
z-index: 1000;
height: calc(100vh - 60px);
}
.sidebar.show {
left: 0;
}
.main-content {
width: 100%;
}
}
</style>
</head>
<body>
<!-- Header -->
<header class="main-header">
<div class="header-left">
<div class="logo">
<i class="bi bi-wallet2"></i>
<span>资金使用管理系统</span>
</div>
</div>
<div class="header-right">
<div class="user-info" onclick="showUserMenu()">
<div class="user-avatar">U</div>
<span id="userName">管理员</span>
<i class="bi bi-chevron-down"></i>
</div>
<button class="btn btn-sm btn-outline-light" onclick="logout()">
<i class="bi bi-box-arrow-right"></i> 退出
</button>
</div>
</header>
<!-- 主容器 -->
<div class="main-container">
<!-- 侧边导航 -->
<nav class="sidebar">
<ul class="nav-menu">
<li class="nav-item">
<a class="nav-link active" href="#" onclick="loadPage('pages/dashboard.html'); return false;">
<i class="bi bi-speedometer2"></i>
<span>首页</span>
</a>
</li>
<li class="nav-item">
<a class="nav-link nav-toggle" href="#" onclick="toggleSubmenu(this); return false;">
<i class="bi bi-file-earmark-check"></i>
<span>事前流程</span>
<i class="bi bi-chevron-right arrow-icon"></i>
</a>
<ul class="nav-submenu">
<li>
<a class="nav-link" href="#" onclick="loadPage('pages/pre-approval/start-process.html'); return false;">
<i class="bi bi-plus-circle"></i>
<span>发起流程</span>
</a>
</li>
<li>
<a class="nav-link" href="#" onclick="loadPage('pages/pre-approval/process-query.html'); return false;">
<i class="bi bi-search"></i>
<span>流程查询</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link nav-toggle" href="#" onclick="toggleSubmenu(this); return false;">
<i class="bi bi-cash-coin"></i>
<span>支付流程</span>
<i class="bi bi-chevron-right arrow-icon"></i>
</a>
<ul class="nav-submenu">
<li>
<a class="nav-link" href="#" onclick="loadPage('pages/payment/direct-payment.html'); return false;">
<i class="bi bi-lightning"></i>
<span>直接支付</span>
</a>
</li>
<li>
<a class="nav-link" href="#" onclick="loadPage('pages/payment/beijing-payment.html'); return false;">
<i class="bi bi-building"></i>
<span>非直接支付</span>
</a>
</li>
<!-- 暂时隐藏流程查询菜单项 -->
<!-- <li>
<a class="nav-link" href="#" onclick="loadPage('pages/payment/process-query.html'); return false;">
<i class="bi bi-search"></i>
<span>流程查询</span>
</a>
</li> -->
<li>
<a class="nav-link" href="#" onclick="loadPage('pages/payment/draft-query.html'); return false;">
<i class="bi bi-file-earmark-text"></i>
<span>暂存流程</span>
</a>
</li>
</ul>
</li>
<li class="nav-item" style="display: none;">
<a class="nav-link nav-toggle" href="#" onclick="toggleSubmenu(this); return false;">
<i class="bi bi-gear"></i>
<span>系统管理</span>
</a>
<ul class="nav-submenu">
<li>
<a class="nav-link" href="#" onclick="loadPage('pages/management/users.html'); return false;">
<i class="bi bi-people"></i>
<span>用户管理</span>
</a>
</li>
<li>
<a class="nav-link" href="#" onclick="loadPage('pages/management/permissions.html'); return false;">
<i class="bi bi-shield-check"></i>
<span>权限管理</span>
</a>
</li>
<li>
<a class="nav-link" href="#" onclick="loadPage('pages/management/reports.html'); return false;">
<i class="bi bi-graph-up"></i>
<span>报表统计</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link nav-toggle" href="#" onclick="toggleSubmenu(this); return false;">
<i class="bi bi-wallet"></i>
<span>资金管理</span>
<i class="bi bi-chevron-right arrow-icon"></i>
</a>
<ul class="nav-submenu">
<li>
<a class="nav-link" href="#" onclick="loadPage('pages/budget.html'); return false;">
<i class="bi bi-calculator"></i>
<span>预算查询</span>
</a>
</li>
</ul>
</li>
<li class="nav-item">
<a class="nav-link" href="#" onclick="loadPage('pages/flowcharts.html'); return false;">
<i class="bi bi-diagram-3"></i>
<span>业务流程图</span>
<span class="badge bg-info"></span>
</a>
</li>
<li class="nav-item">
<a class="nav-link nav-toggle" href="#" onclick="toggleSubmenu(this); return false;">
<i class="bi bi-gear"></i>
<span>系统设置</span>
<i class="bi bi-chevron-right arrow-icon"></i>
</a>
<ul class="nav-submenu">
<li>
<a class="nav-link" href="#" onclick="loadPage('/budget/custom-model-role-mappings'); return false;">
<i class="bi bi-diagram-2"></i>
<span>字段角色对照</span>
</a>
</li>
</ul>
</li>
</ul>
</nav>
<!-- 主内容区域 -->
<main class="main-content">
<iframe id="mainFrame" class="content-iframe" src="pages/dashboard.html"></iframe>
</main>
</div>
<!-- Footer -->
<footer class="main-footer">
<div class="footer-left">
<span>&copy; 2024 资金使用管理系统</span>
<a href="#" class="footer-link">帮助文档</a>
<a href="#" class="footer-link">联系我们</a>
</div>
<div class="footer-right">
<span>版本 v1.0.0</span>
</div>
</footer>
<script src="https://cdn.staticfile.org/bootstrap/5.3.0/js/bootstrap.bundle.min.js"></script>
<script>
// 加载页面到iframe
function loadPage(url) {
const iframe = document.getElementById('mainFrame');
iframe.src = url;
// 更新导航激活状态
document.querySelectorAll('.nav-link').forEach(link => {
link.classList.remove('active');
});
event.target.closest('.nav-link').classList.add('active');
}
// 切换子菜单
function toggleSubmenu(element) {
const submenu = element.nextElementSibling;
const isCollapsed = element.classList.contains('collapsed');
// 关闭所有其他子菜单
document.querySelectorAll('.nav-submenu').forEach(menu => {
if (menu !== submenu) {
menu.classList.remove('show');
menu.previousElementSibling.classList.add('collapsed');
}
});
// 切换当前子菜单
if (isCollapsed) {
element.classList.remove('collapsed');
submenu.classList.add('show');
} else {
element.classList.add('collapsed');
submenu.classList.remove('show');
}
}
// 显示用户菜单
function showUserMenu() {
// 这里可以添加用户菜单下拉功能
alert('用户菜单功能待开发');
}
// 退出登录
function logout() {
if (confirm('确定要退出登录吗?')) {
window.location.href = 'login.html';
}
}
// 初始化:默认展开第一个子菜单
window.addEventListener('DOMContentLoaded', function() {
const firstSubmenu = document.querySelector('.nav-submenu');
if (firstSubmenu) {
firstSubmenu.classList.add('show');
firstSubmenu.previousElementSibling.classList.remove('collapsed');
}
});
</script>
</body>
</html>