someone-oa/mobile/approval-detail.html
2025-12-11 15:21:16 +08:00

346 lines
10 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<title>审核详情 - OA系统</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
background: #f5f5f5;
max-width: 414px;
margin: 0 auto;
min-height: 100vh;
padding-bottom: 80px;
}
.header {
background: #1890ff;
color: white;
padding: 12px 16px;
display: flex;
align-items: center;
justify-content: space-between;
position: sticky;
top: 0;
z-index: 100;
}
.header-left {
display: flex;
align-items: center;
gap: 12px;
}
.back-btn {
background: none;
border: none;
color: white;
font-size: 18px;
cursor: pointer;
}
.header-title {
font-size: 18px;
font-weight: bold;
}
.content {
padding: 16px;
background: #ffffff;
min-height: calc(100vh - 44px - 80px);
}
.card {
background: white;
border-radius: 8px;
padding: 16px;
margin-bottom: 12px;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.card-title {
font-size: 16px;
font-weight: 500;
color: #333;
margin-bottom: 12px;
padding-bottom: 12px;
border-bottom: 1px solid #f0f0f0;
}
.info-row {
display: flex;
justify-content: space-between;
padding: 12px 0;
border-bottom: 1px solid #f5f5f5;
}
.info-row:last-child {
border-bottom: none;
}
.info-label {
color: #999;
font-size: 14px;
}
.info-value {
color: #333;
font-size: 14px;
font-weight: 500;
text-align: right;
}
.status-badge {
padding: 4px 10px;
border-radius: 4px;
font-size: 12px;
font-weight: 500;
}
.status-pending {
background: #fff7e6;
color: #d46b08;
}
.form-item {
margin-bottom: 16px;
}
.form-label {
display: block;
margin-bottom: 8px;
color: #333;
font-size: 14px;
font-weight: 500;
}
.form-textarea {
width: 100%;
padding: 12px;
border: 1px solid #e5e5e5;
border-radius: 8px;
font-size: 14px;
min-height: 100px;
font-family: inherit;
resize: vertical;
}
.form-textarea:focus {
outline: none;
border-color: #1890ff;
}
.attachment-list {
display: flex;
flex-direction: column;
gap: 8px;
}
.attachment-item {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px;
background: #f5f5f5;
border-radius: 4px;
}
.attachment-name {
flex: 1;
color: #333;
font-size: 14px;
}
.attachment-size {
color: #999;
font-size: 12px;
margin-left: 8px;
}
.btn-download {
padding: 4px 12px;
background: #1890ff;
color: white;
border: none;
border-radius: 4px;
font-size: 12px;
cursor: pointer;
}
.action-buttons {
position: fixed;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 100%;
max-width: 414px;
padding: 12px 16px;
background: white;
border-top: 1px solid #e5e5e5;
display: flex;
gap: 12px;
z-index: 100;
}
.btn-action {
flex: 1;
padding: 14px;
border: none;
border-radius: 8px;
font-size: 16px;
font-weight: 500;
cursor: pointer;
}
.btn-approve {
background: #52c41a;
color: white;
}
.btn-reject {
background: #ff4d4f;
color: white;
}
.approval-history {
margin-top: 16px;
}
.history-item {
padding: 12px;
border-left: 2px solid #e5e5e5;
margin-bottom: 12px;
padding-left: 16px;
}
.history-header {
display: flex;
justify-content: space-between;
margin-bottom: 8px;
}
.history-user {
font-weight: 500;
color: #333;
}
.history-time {
font-size: 12px;
color: #999;
}
.history-action {
font-size: 14px;
color: #666;
margin-bottom: 4px;
}
.history-comment {
font-size: 14px;
color: #999;
font-style: italic;
}
</style>
</head>
<body>
<div class="header">
<div class="header-left">
<button class="back-btn" onclick="history.back()"></button>
<div class="header-title">审核详情</div>
</div>
</div>
<div class="content">
<div class="card">
<div class="card-title">项目信息</div>
<div class="info-row">
<span class="info-label">项目编号</span>
<span class="info-value">25-1</span>
</div>
<div class="info-row">
<span class="info-label">项目名称</span>
<span class="info-value">XX工程项目</span>
</div>
<div class="info-row">
<span class="info-label">客户名称</span>
<span class="info-value">XX公司</span>
</div>
<div class="info-row">
<span class="info-label">服务内容</span>
<span class="info-value">工程咨询</span>
</div>
<div class="info-row">
<span class="info-label">预计金额</span>
<span class="info-value">¥500,000</span>
</div>
<div class="info-row">
<span class="info-label">申请人</span>
<span class="info-value">张三</span>
</div>
<div class="info-row">
<span class="info-label">申请时间</span>
<span class="info-value">2025-01-15 14:30</span>
</div>
<div class="info-row">
<span class="info-label">当前状态</span>
<span class="info-value"><span class="status-badge status-pending">待审核</span></span>
</div>
</div>
<div class="card">
<div class="card-title">项目描述</div>
<div style="color: #666; font-size: 14px; line-height: 1.6;">
本项目为XX公司的工程咨询项目预计金额50万元包含前期咨询、方案设计等内容。
</div>
</div>
<div class="card">
<div class="card-title">附件</div>
<div class="attachment-list">
<div class="attachment-item">
<div>
<div class="attachment-name">项目立项申请表.pdf</div>
<div class="attachment-size">2.5MB</div>
</div>
<button class="btn-download">下载</button>
</div>
<div class="attachment-item">
<div>
<div class="attachment-name">项目需求文档.doc</div>
<div class="attachment-size">1.2MB</div>
</div>
<button class="btn-download">下载</button>
</div>
</div>
</div>
<div class="card">
<div class="card-title">审核历史</div>
<div class="approval-history">
<div class="history-item">
<div class="history-header">
<span class="history-user">张三</span>
<span class="history-time">2025-01-15 14:30</span>
</div>
<div class="history-action">提交申请</div>
<div class="history-comment">已提交立项申请,请审核</div>
</div>
</div>
</div>
<div class="card">
<div class="card-title">审核意见</div>
<div class="form-item">
<textarea class="form-textarea" placeholder="请输入审核意见(可选)" id="approvalComment"></textarea>
</div>
</div>
</div>
<div class="action-buttons">
<button class="btn-action btn-approve" onclick="approve()">通过</button>
<button class="btn-action btn-reject" onclick="reject()">驳回</button>
</div>
<script>
function approve() {
const comment = document.getElementById('approvalComment').value;
if (confirm('确认通过审核?')) {
alert('审核通过!');
setTimeout(() => {
window.location.href = 'todo.html';
}, 1000);
}
}
function reject() {
const comment = document.getElementById('approvalComment').value;
if (!comment.trim()) {
alert('驳回时请输入驳回原因');
document.getElementById('approvalComment').focus();
return;
}
if (confirm('确认驳回申请?')) {
alert('已驳回:' + comment);
setTimeout(() => {
window.location.href = 'todo.html';
}, 1000);
}
}
</script>
</body>
</html>