vue3实现pc端企业财税申报管理系统ui原型图代码
代码语言:html
所属分类:布局界面
代码描述:vue3实现pc端企业财税申报管理系统ui原型图代码
代码标签: vue pc端 企业 财税 申报 管理 系统 ui 原型图 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>企业财税管理系统</title> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/vue3.2.22.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/echarts.5.5.0.js"></script> <style> * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif; background-color: #f5f7fa; color: #333; } .app-container { display: flex; height: 100vh; } /* 侧边栏样式 */ .sidebar { width: 240px; background: linear-gradient(180deg, #1e3a8a 0%, #1e40af 100%); color: white; padding: 20px 0; transition: all 0.3s ease; } .logo { text-align: center; padding: 0 20px 30px; border-bottom: 1px solid rgba(255,255,255,0.1); margin-bottom: 20px; } .logo h1 { font-size: 20px; font-weight: 600; } .nav-menu { list-style: none; } .nav-item { margin-bottom: 5px; } .nav-link { display: flex; align-items: center; padding: 12px 20px; color: rgba(255,255,255,0.8); text-decoration: none; transition: all 0.3s ease; cursor: pointer; } .nav-link:hover, .nav-link.active { background-color: rgba(255,255,255,0.1); color: white; } .nav-link svg { width: 20px; height: 20px; margin-right: 12px; } /* 主内容区域 */ .main-content { flex: 1; display: flex; flex-direction: column; } /* 顶部导航 */ .top-header { height: 60px; background: white; border-bottom: 1px solid #e5e7eb; display: flex; align-items: center; justify-content: space-between; padding: 0 24px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } .breadcrumb { color: #6b7280; font-size: 14px; } .user-info { display: flex; align-items: center; gap: 12px; } .user-avatar { width: 36px; height: 36px; border-radius: 50%; background: #e5e7eb; } /* 内容区域 */ .content-area { flex: 1; padding: 24px; overflow-y: auto; } .page-title { font-size: 24px; font-weight: 600; margin-bottom: 24px; color: #1f2937; } /* 卡片样式 */ .card { background: white; border-radius: 8px; padding: 24px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); margin-bottom: 24px; } .card-header { display: flex; justify-content: between; align-items: center; margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid #e5e7eb; } .card-title { font-size: 18px; font-weight: 600; color: #1f2937; } /* 统计卡片 */ .stats-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 20px; margin-bottom: 30px; } .stat-card { background: white; padding: 24px; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.1); border-left: 4px solid #3b82f6; } .stat-value { font-size: 28px; font-weight: 700; color: #1f2937; } .stat-label { color: #6b7280; font-size: 14px; margin-top: 4px; } .stat-change { font-size: 12px; margin-top: 8px; } .stat-change.positive { color: #10b981; } .stat-change.negative { color: #ef4444; } /* 表格样式 */ .table-container { background: white; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,0.1); } .table-header { padding: 20px 24px; border-bottom: 1px solid #e5e7eb; display: flex; justify-content: space-between; align-items: center; } .table { width: 100%; border-collapse: collapse; } .table th { background: #f9fafb; padding: 12px 16px; text-align: left; font-weight: 600; color: #374151; border-bottom: 1px solid #e5e7eb; } .table td { padding: 12px 16px; border-bottom: 1px solid #f3f4f6; } .table tr:hover { background: #f9fafb; } /* 按钮样式 */ .btn { padding: 8px 16px; border-radius: 6px; border: none; cursor: pointer; font-size: 14px; font-weight: 500; transition: all 0.2s ease; text-decoration: none; display: inline-flex; align-items: center; gap: 6px; } .btn-primary { background: #3b82f6; color: white; } .btn-primary:hover { background: #2563eb; } .btn-secondary { background: #e5e7eb; color: #374151; } .btn-secondary:hover { background: #d1d5db; } .btn-success { background: #10b981; color: white; } .btn-danger { background: #ef4444; color: white; } /* 表单样式 */ .form-group { margin-bottom: 20px; } .form-label { display: block; margin-bottom: 6px; font-weight: 500; color: #374151; } .form-input { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 14px; transition: border-color 0.2s ease; } .form-input:focus { outline: none; border-color: #3b82f6; box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1); } .form-select { width: 100%; padding: 10px 12px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 14px; background: white; } /* 模态框样式 */ .modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.5); display: flex; align-items: center; justify-content: center; z-index: 1000; } .modal { background: white; border-radius: 8px; width: 90%; max-width: 500px; max-height: 90vh; overflow-y: auto; } .modal-header { padding: 20px 24px; border-bottom: 1px solid #e5e7eb; display: flex; justify-content: space-between; align-items: center; } .modal-title { font-size: 18px; font-weight: 600; } .modal-body { padding: 24px; } .modal-footer { padding: 20px 24px; border-top: 1px solid #e5e7eb; display: flex; gap: 12px; justify-content: flex-end; } .close-btn { background: none; border: none; font-size: 24px; cursor: pointer; color: #6b7280; } /* 图表容器 */ .chart-container { height: 400px; width: 100%; } /* 响应式 */ @media (max-width: 768px) { .sidebar { transform: translateX(-100%); position: fixed; z-index: 999; height: 100vh; } .sidebar.mobile-open { transform: translateX(0); } .main-content { width: 100%; } .stats-grid { grid-template-columns: 1fr; } } /* 状态指示器 */ .status-badge { padding: 4px 8px; border-radius: 4px; font-size: 12px; font-weight: 500; } .status-active { background: #dcfce7; color: #166534; } .status-pending { background: #fef3c7; color: #92400e; } .status-inactive { background: #fee2e2; color: #991b1b; } /* 搜索框样式 */ .search-box { position: relative; margin-bottom: 20px; } .search-input { width: 100%; max-width: 300px; padding: 10px 12px 10px 40px; border: 1px solid #d1d5db; border-radius: 6px; font-size: 14px; } .search-icon { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: #6b7280; } </style> </head> <body> <div id="app"> <div class="app-container"> <!-- 侧边栏 --> <nav class="sidebar"> <div class="logo"> <h1>财税管理系统</h1> </div> <ul class="nav-menu"> <li class="nav-item"> <a class="nav-link" :class="{active: currentPage === 'dashboard'}" @click="navigateTo('dashboard')"> <svg fill="currentColor" viewBox="0 0 24 24"> <path d="M3 13h8V3H3v10zm0 8h8v-6H3v6zm10 0h8V11h-8v10zm0-18v6h8V3h-8z"/> </svg> 仪表板 </a> </li> <li class="nav-item"> <a class="nav-link" :class="{active: currentPage === 'finance'}" @click="navigateTo('finance')"> <svg fill="currentColor" viewBox="0 0 24 24"> <path d="M11.8 10.9c-2.27-.59-3-1.2-3-2.15 0-1.09 1.01-1.85 2.7-1.85 1.78 0 2.44.85 2.5 2.1h2.21c-.07-1.72-1.12-3.3-3.21-3.81V3h-3v2.16c-1.94.42-3.5 1.68-3.5 3.61 0 2.31 1.91 3.46 4.7 4.13 2.5.6 3 1.48 3 2.41 0 .69-.49 1.79-2.7 1.79-2.06 0-2.87-.92-2.98-2.1h-2.2c.12 2.19 1.76 3.42 3.68 3.83V21h3v-2.15c1.95-.37 3.5-1.5 3.5-3.55 0-2.84-2.43-3.81-4.7-4.4z"/> </svg> 财务管理 </a> </li> <li class="nav-item"> <a class="nav-link" :class="{active: currentPage === 'tax'}" @click="navigateTo('tax')"> <svg fill="currentColor" viewBox="0 0 24 24"> .........完整代码请登录后点击上方下载按钮下载查看
网友评论0