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

350 lines
10 KiB
HTML
Raw Permalink 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: 60px;
}
.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 - 60px);
}
.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;
max-width: 60%;
}
.status-badge {
padding: 4px 10px;
border-radius: 4px;
font-size: 12px;
font-weight: 500;
}
.status-started {
background: #f0f5ff;
color: #2f54eb;
}
.status-bidding {
background: #fff7e6;
color: #d46b08;
}
.status-contract {
background: #f6ffed;
color: #52c41a;
}
.timeline {
margin-top: 16px;
}
.timeline-item {
padding: 12px 0;
border-left: 2px solid #e5e5e5;
padding-left: 16px;
margin-bottom: 16px;
position: relative;
}
.timeline-item::before {
content: '';
position: absolute;
left: -6px;
top: 16px;
width: 10px;
height: 10px;
border-radius: 50%;
background: #1890ff;
}
.timeline-time {
font-size: 12px;
color: #999;
margin-bottom: 4px;
}
.timeline-content {
font-size: 14px;
color: #333;
}
.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 {
display: flex;
gap: 12px;
margin-top: 16px;
}
.btn-action {
flex: 1;
padding: 12px;
border: none;
border-radius: 8px;
font-size: 14px;
font-weight: 500;
cursor: pointer;
}
.btn-primary {
background: #1890ff;
color: white;
}
.btn-secondary {
background: #f5f5f5;
color: #333;
}
.bottom-nav {
position: fixed;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 100%;
max-width: 414px;
background: white;
border-top: 1px solid #e5e5e5;
display: flex;
padding: 8px 0;
z-index: 100;
}
.nav-item {
flex: 1;
text-align: center;
padding: 8px;
color: #666;
font-size: 12px;
text-decoration: none;
}
.nav-item.active {
color: #1890ff;
}
.nav-icon {
font-size: 20px;
margin-bottom: 4px;
}
</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 class="status-badge status-started">已启动</span></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-10 09:00</span>
</div>
</div>
<div class="card">
<div class="card-title">项目描述</div>
<div style="color: #666; font-size: 14px; line-height: 1.6;">
本项目为XX公司的工程咨询项目预计金额50万元包含前期咨询、方案设计等内容。项目周期预计3个月。
</div>
</div>
<div class="card">
<div class="card-title">项目进度</div>
<div class="timeline">
<div class="timeline-item">
<div class="timeline-time">2025-01-10 09:00</div>
<div class="timeline-content">项目立项申请已通过</div>
</div>
<div class="timeline-item">
<div class="timeline-time">2025-01-12 14:30</div>
<div class="timeline-content">项目启动申请已通过</div>
</div>
<div class="timeline-item">
<div class="timeline-time">2025-01-15 10:00</div>
<div class="timeline-content">初稿成果已提交</div>
</div>
</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="action-buttons">
<button class="btn-action btn-secondary" onclick="editProject()">编辑项目</button>
<button class="btn-action btn-primary" onclick="viewProgress()">查看进度</button>
</div>
</div>
<div class="bottom-nav">
<a href="todo.html" class="nav-item">
<div class="nav-icon">📋</div>
<div>待办</div>
</a>
<a href="message.html" class="nav-item">
<div class="nav-icon">🔔</div>
<div>消息</div>
</a>
<a href="project.html" class="nav-item active">
<div class="nav-icon">📁</div>
<div>项目</div>
</a>
<a href="output.html" class="nav-item">
<div class="nav-icon">📝</div>
<div>成果</div>
</a>
<a href="profile.html" class="nav-item">
<div class="nav-icon">👤</div>
<div>我的</div>
</a>
</div>
<script>
function editProject() {
alert('编辑项目功能PC端操作');
}
function viewProgress() {
alert('查看项目进度');
}
</script>
</body>
</html>