someone-oa/pc/project-approval.html
2025-12-11 19:04:46 +08:00

178 lines
7.8 KiB
HTML

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>审核管理 - OA系统</title>
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
<!-- 统一布局样式 -->
<link rel="stylesheet" href="unified-layout.css">
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
font-family: "Helvetica Neue", Helvetica, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Arial, sans-serif;
background: #f0f2f5;
overflow: hidden;
}
.layout-container {
height: 100vh;
display: flex;
flex-direction: column;
}
.main-container {
flex: 1;
display: flex;
overflow: hidden;
}
.app-main {
flex: 1;
overflow: hidden;
display: flex;
flex-direction: column;
background: #f0f2f5;
}
.sidebar {
width: 210px;
background: #fff;
border-right: 1px solid #e6e6e6;
overflow-y: auto;
}
.el-menu {
border-right: none;
}
.menu-item { padding: 12px 24px; cursor: pointer; }
.menu-item.active {
background: #409EFF;
color: #fff;
}
.content {
flex: 1;
padding: 20px;
overflow-y: auto;
background: #fff;
margin: 10px;
border-radius: 4px;
}
.page-header { margin-bottom: 24px; padding-bottom: 16px; border-bottom: 1px solid #f0f0f0; }
.page-title { font-size: 20px; font-weight: 500; }
.tab-nav { display: flex; gap: 8px; margin-bottom: 16px; border-bottom: 1px solid #f0f0f0; }
.tab-item { padding: 12px 24px; cursor: pointer; border-bottom: 2px solid transparent; }
.tab-item.active { color: #409EFF; border-bottom-color: #409EFF; }
.search-form { background: #fafafa; padding: 16px; border-radius: 4px; margin-bottom: 16px; }
.form-row { display: flex; gap: 16px; margin-bottom: 12px; }
.form-item { flex: 1; }
.form-input, .form-select { width: 100%; padding: 6px 12px; border: 1px solid #d9d9d9; border-radius: 4px; }
.btn { padding: 6px 16px; border: none; border-radius: 4px; cursor: pointer; }
.btn-primary { background: #409EFF; color: white; }
.btn-default { background: white; color: #333; border: 1px solid #d9d9d9; }
table { width: 100%; border-collapse: collapse; }
th, td { padding: 12px; text-align: left; border-bottom: 1px solid #f0f0f0; }
th { background: #fafafa; font-weight: 500; }
.status-badge { padding: 2px 8px; border-radius: 4px; font-size: 12px; }
.status-pending { background: #fff7e6; color: #d46b08; }
.action-link { color: #409EFF; cursor: pointer; margin-right: 12px; }
</style>
<!-- Vue.js -->
<script src="https://unpkg.com/vue@2/dist/vue.js"></script>
<!-- Element UI JS -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
</head>
<body>
<div id="app">
<div class="layout-container">
<div class="main-container">
<div class="sidebar">
<div class="menu-item" onclick="window.location.href='project-initiation.html'">立项申请</div>
<div class="menu-item" onclick="window.location.href='project-list.html'">项目查询</div>
<div class="menu-item active">审核管理</div>
<div class="menu-item" onclick="window.location.href='project-bidding.html'">投标管理</div>
<div class="menu-item" onclick="window.location.href='project-contract.html'">合同管理</div>
</div>
<div class="content">
<div class="page-header">
<div class="page-title">审核管理</div>
</div>
<div class="tab-nav">
<div class="tab-item active" onclick="switchTab('all')">全部</div>
<div class="tab-item" onclick="switchTab('pending')">待审核</div>
<div class="tab-item" onclick="switchTab('approved')">已通过</div>
<div class="tab-item" onclick="switchTab('rejected')">已驳回</div>
</div>
<div class="search-form">
<div class="form-row">
<div class="form-item">
<input type="text" class="form-input" placeholder="项目编号/名称">
</div>
<div class="form-item">
<select class="form-select">
<option>全部审核类型</option>
<option>立项申请</option>
<option>启动申请</option>
<option>成果提交</option>
</select>
</div>
<div class="form-item" style="display: flex; gap: 8px;">
<button class="btn btn-primary">查询</button>
<button class="btn btn-default">重置</button>
</div>
</div>
</div>
<table>
<thead>
<tr>
<th>审核类型</th>
<th>项目编号</th>
<th>项目名称</th>
<th>申请人</th>
<th>申请时间</th>
<th>审核状态</th>
<th>操作</th>
</tr>
</thead>
<tbody>
<tr>
<td>立项申请</td>
<td>25-1</td>
<td>XX工程项目</td>
<td>张三</td>
<td>2025-01-10 14:30</td>
<td><span class="status-badge status-pending">待审核</span></td>
<td>
<span class="action-link" onclick="viewDetail('1')">查看</span>
<span class="action-link" onclick="approve('1')">审核</span>
</td>
</tr>
<tr>
<td>启动申请</td>
<td>25-2</td>
<td>YY工程项目</td>
<td>李四</td>
<td>2025-01-12 16:20</td>
<td><span class="status-badge status-pending">待审核</span></td>
<td>
<span class="action-link" onclick="viewDetail('2')">查看</span>
<span class="action-link" onclick="approve('2')">审核</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<script src="common.js"></script>
<script src="unified-layout.js"></script>
<script>
initUnifiedLayout('project');
function switchTab(tab) {
document.querySelectorAll('.tab-item').forEach(item => item.classList.remove('active'));
event.target.classList.add('active');
}
function viewDetail(id) { window.location.href = 'approval-detail.html?id=' + id; }
function approve(id) { window.location.href = 'approval-detail.html?id=' + id; }
</script>
</div>
</body>
</html>