<!DOCTYPE html>
|
<html lang="zh-CN">
|
<head>
|
<meta charset="UTF-8">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<title>材料审核 - 广州市社会治安综合治理应用平台</title>
|
<style>
|
* {
|
margin: 0;
|
padding: 0;
|
box-sizing: border-box;
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
|
}
|
|
body {
|
background-color: #f5f7fa;
|
color: #333;
|
line-height: 1.6;
|
padding: 20px;
|
font-size: 14px;
|
}
|
|
.container {
|
max-width: 1000px;
|
margin: 0 auto;
|
background-color: white;
|
border-radius: 10px;
|
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
|
overflow: hidden;
|
}
|
|
.header {
|
background: linear-gradient(135deg, #1A6FB8 0%, #0d4a8a 100%);
|
color: white;
|
padding: 20px 30px;
|
}
|
|
.header h1 {
|
font-size: 20px;
|
margin-bottom: 8px;
|
font-weight: 600;
|
}
|
|
.header .subtitle {
|
font-size: 14px;
|
opacity: 0.9;
|
}
|
|
.main-content {
|
padding: 20px 30px;
|
}
|
|
.section-title {
|
color: #1A6FB8;
|
font-size: 16px;
|
font-weight: 600;
|
margin-bottom: 16px;
|
display: flex;
|
align-items: center;
|
}
|
|
.section-title::before {
|
content: '';
|
display: inline-block;
|
width: 4px;
|
height: 16px;
|
background-color: #1A6FB8;
|
margin-right: 10px;
|
border-radius: 2px;
|
}
|
|
/* 提示信息样式 */
|
.tip-box {
|
background-color: #f0f8ff;
|
border-radius: 8px;
|
padding: 16px;
|
margin-bottom: 24px;
|
border: 1px solid #d9eafb;
|
}
|
|
.tip-box h3 {
|
color: #1A6FB8;
|
margin-bottom: 8px;
|
font-size: 15px;
|
font-weight: 600;
|
}
|
|
.tip-box p {
|
color: #555;
|
font-size: 14px;
|
}
|
|
/* 材料信息样式 */
|
.material-info {
|
margin-bottom: 24px;
|
}
|
|
.info-grid {
|
display: grid;
|
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
|
gap: 16px;
|
margin-top: 12px;
|
}
|
|
.info-item {
|
display: flex;
|
margin-bottom: 12px;
|
align-items: flex-start;
|
}
|
|
.info-label {
|
font-weight: 500;
|
color: #666;
|
min-width: 80px;
|
flex-shrink: 0;
|
}
|
|
.info-value {
|
color: #222;
|
flex: 1;
|
font-weight: 500;
|
}
|
|
/* 材料说明样式 */
|
.material-description {
|
margin-bottom: 24px;
|
}
|
|
.description-box {
|
border: 1px solid #e8e8e8;
|
border-radius: 6px;
|
padding: 16px;
|
background-color: #fafafa;
|
min-height: 100px;
|
font-size: 14px;
|
line-height: 1.7;
|
}
|
|
.description-box p {
|
margin-bottom: 8px;
|
}
|
|
.description-box p:last-child {
|
margin-bottom: 0;
|
}
|
|
/* 材料清单样式 */
|
.material-list {
|
margin-bottom: 24px;
|
}
|
|
.list-table {
|
width: 100%;
|
border-collapse: collapse;
|
margin-top: 12px;
|
border-radius: 6px;
|
overflow: hidden;
|
box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.03);
|
border: 1px solid #f0f0f0;
|
}
|
|
.list-table th {
|
background-color: #fafafa;
|
color: #333;
|
font-weight: 600;
|
text-align: left;
|
padding: 16px;
|
border-bottom: 1px solid #f0f0f0;
|
font-size: 14px;
|
}
|
|
.list-table td {
|
padding: 16px;
|
border-bottom: 1px solid #f5f5f5;
|
vertical-align: top;
|
font-size: 14px;
|
}
|
|
.list-table tr:last-child td {
|
border-bottom: none;
|
}
|
|
.material-name {
|
font-weight: 600;
|
color: #333;
|
margin-bottom: 6px;
|
}
|
|
.material-meta {
|
font-size: 13px;
|
color: #666;
|
margin-bottom: 4px;
|
}
|
|
.material-preview {
|
display: flex;
|
gap: 12px;
|
margin-top: 12px;
|
flex-wrap: wrap;
|
}
|
|
.preview-item {
|
width: 100px;
|
height: 80px;
|
border-radius: 4px;
|
overflow: hidden;
|
border: 1px solid #e8e8e8;
|
cursor: pointer;
|
transition: all 0.2s;
|
background-color: #fafafa;
|
}
|
|
.preview-item:hover {
|
transform: translateY(-2px);
|
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
border-color: #1A6FB8;
|
}
|
|
.preview-img {
|
width: 100%;
|
height: 100%;
|
object-fit: cover;
|
background-color: #f8f9fa;
|
}
|
|
.img-placeholder {
|
width: 100%;
|
height: 100%;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
background: linear-gradient(135deg, #f5f5f5 0%, #e8e8e8 100%);
|
color: #999;
|
font-size: 13px;
|
font-weight: 500;
|
}
|
|
.view-btn {
|
background-color: transparent;
|
color: #1A6FB8;
|
border: 1px solid #1A6FB8;
|
border-radius: 4px;
|
padding: 6px 16px;
|
font-size: 13px;
|
cursor: pointer;
|
margin-top: 8px;
|
transition: all 0.2s;
|
font-weight: 500;
|
}
|
|
.view-btn:hover {
|
background-color: rgba(26, 111, 184, 0.05);
|
border-color: #0d4a8a;
|
}
|
|
/* 审核按钮样式 */
|
.action-buttons {
|
display: flex;
|
justify-content: center;
|
gap: 16px;
|
margin-top: 32px;
|
padding-top: 24px;
|
border-top: 1px solid #f0f0f0;
|
}
|
|
.btn {
|
padding: 10px 32px;
|
border-radius: 6px;
|
font-weight: 500;
|
cursor: pointer;
|
font-size: 14px;
|
border: 1px solid transparent;
|
transition: all 0.2s;
|
min-width: 120px;
|
display: inline-flex;
|
align-items: center;
|
justify-content: center;
|
}
|
|
.btn-pass {
|
background-color: #1A6FB8;
|
color: white;
|
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.045);
|
}
|
|
.btn-pass:hover {
|
background-color: #155a9c;
|
border-color: #155a9c;
|
}
|
|
.btn-return {
|
background-color: white;
|
color: #1A6FB8;
|
border: 1px solid #1A6FB8;
|
box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015);
|
}
|
|
.btn-return:hover {
|
background-color: rgba(26, 111, 184, 0.05);
|
border-color: #0d4a8a;
|
color: #0d4a8a;
|
}
|
|
/* 模态弹窗样式 */
|
.modal {
|
display: none;
|
position: fixed;
|
top: 0;
|
left: 0;
|
width: 100%;
|
height: 100%;
|
background-color: rgba(0, 0, 0, 0.45);
|
z-index: 1000;
|
align-items: center;
|
justify-content: center;
|
}
|
|
.modal-content {
|
background-color: white;
|
border-radius: 8px;
|
width: 480px;
|
max-width: 90%;
|
box-shadow: 0 3px 6px -4px rgba(0, 0, 0, 0.12), 0 6px 16px 0 rgba(0, 0, 0, 0.08), 0 9px 28px 8px rgba(0, 0, 0, 0.05);
|
overflow: hidden;
|
}
|
|
.modal-header {
|
background-color: #1A6FB8;
|
color: white;
|
padding: 16px 24px;
|
}
|
|
.modal-header h3 {
|
font-size: 16px;
|
font-weight: 600;
|
}
|
|
.modal-body {
|
padding: 24px;
|
}
|
|
.form-group {
|
margin-bottom: 20px;
|
}
|
|
.form-group label {
|
display: block;
|
font-weight: 500;
|
color: #333;
|
margin-bottom: 8px;
|
font-size: 14px;
|
}
|
|
.form-control {
|
width: 100%;
|
padding: 8px 12px;
|
border: 1px solid #d9d9d9;
|
border-radius: 4px;
|
font-size: 14px;
|
min-height: 100px;
|
resize: vertical;
|
transition: all 0.3s;
|
line-height: 1.6;
|
}
|
|
.form-control:focus {
|
outline: none;
|
border-color: #1A6FB8;
|
box-shadow: 0 0 0 2px rgba(26, 111, 184, 0.1);
|
}
|
|
.modal-footer {
|
padding: 16px 24px;
|
background-color: #fafafa;
|
display: flex;
|
justify-content: flex-end;
|
gap: 12px;
|
}
|
|
.btn-cancel {
|
background-color: white;
|
color: #666;
|
border: 1px solid #d9d9d9;
|
padding: 6px 16px;
|
border-radius: 4px;
|
font-size: 14px;
|
cursor: pointer;
|
transition: all 0.2s;
|
}
|
|
.btn-cancel:hover {
|
background-color: #f5f5f5;
|
border-color: #999;
|
color: #333;
|
}
|
|
.btn-submit {
|
background-color: #1A6FB8;
|
color: white;
|
border: 1px solid #1A6FB8;
|
padding: 6px 16px;
|
border-radius: 4px;
|
font-size: 14px;
|
cursor: pointer;
|
transition: all 0.2s;
|
}
|
|
.btn-submit:hover {
|
background-color: #155a9c;
|
border-color: #155a9c;
|
}
|
|
/* 图片预览模态框样式 */
|
.image-modal {
|
display: none;
|
position: fixed;
|
top: 0;
|
left: 0;
|
width: 100%;
|
height: 100%;
|
background-color: rgba(0, 0, 0, 0.75);
|
z-index: 1100;
|
align-items: center;
|
justify-content: center;
|
}
|
|
.image-modal-content {
|
max-width: 90%;
|
max-height: 90%;
|
position: relative;
|
}
|
|
.image-modal-img {
|
max-width: 100%;
|
max-height: 80vh;
|
object-fit: contain;
|
border-radius: 4px;
|
}
|
|
.close-btn {
|
position: absolute;
|
top: -44px;
|
right: 0;
|
background: none;
|
border: none;
|
color: white;
|
font-size: 28px;
|
cursor: pointer;
|
width: 40px;
|
height: 40px;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
opacity: 0.8;
|
transition: opacity 0.2s;
|
}
|
|
.close-btn:hover {
|
opacity: 1;
|
}
|
|
/* 响应式设计 */
|
@media (max-width: 768px) {
|
body {
|
padding: 12px;
|
}
|
|
.header, .main-content {
|
padding: 16px;
|
}
|
|
.info-grid {
|
grid-template-columns: 1fr;
|
}
|
|
.list-table {
|
display: block;
|
overflow-x: auto;
|
}
|
|
.preview-item {
|
width: 90px;
|
height: 70px;
|
}
|
|
.action-buttons {
|
flex-direction: column;
|
gap: 12px;
|
}
|
|
.btn {
|
width: 100%;
|
padding: 12px 16px;
|
}
|
|
.modal-footer {
|
flex-direction: column;
|
}
|
|
.modal-footer .btn {
|
width: 100%;
|
}
|
|
.image-modal-content {
|
max-width: 95%;
|
max-height: 95%;
|
}
|
}
|
</style>
|
</head>
|
<body>
|
<div class="container">
|
|
|
<div class="main-content">
|
<div class="tip-box">
|
<h3>审核说明</h3>
|
<p>请仔细核对申请人提交的材料,确保材料真实、完整、有效。如有疑问或需要补充材料,请使用"退回补充"功能。</p>
|
</div>
|
|
<div class="material-info">
|
<h3 class="section-title">材料基本信息</h3>
|
<div class="info-grid">
|
<div class="info-item">
|
<span class="info-label">提交人:</span>
|
<span class="info-value">申请方-李晓明</span>
|
</div>
|
<div class="info-item">
|
<span class="info-label">材料类型:</span>
|
<span class="info-value">工资、考勤</span>
|
</div>
|
<div class="info-item">
|
<span class="info-label">材料数量:</span>
|
<span class="info-value">2份</span>
|
</div>
|
<div class="info-item">
|
<span class="info-label">提交时间:</span>
|
<span class="info-value">2025-1-10 10:00</span>
|
</div>
|
</div>
|
</div>
|
|
<div class="material-description">
|
<h3 class="section-title">材料说明</h3>
|
<div class="description-box">
|
<p>1. 工资单:包含2024年1月至12月的工资发放记录,显示申请人月平均工资为8500元,与劳动合同约定一致。</p>
|
<p>2. 考勤记录:提供2024年全年的考勤打卡记录,显示申请人正常出勤,无长期缺勤情况。</p>
|
<p>以上材料已由申请人签字确认,请审核人员核对材料的真实性、完整性和有效性。</p>
|
</div>
|
</div>
|
|
<div class="material-list">
|
<h3 class="section-title">材料清单</h3>
|
<table class="list-table">
|
<thead>
|
<tr>
|
<th style="width: 40%;">材料信息</th>
|
<th style="width: 60%;">材料预览</th>
|
</tr>
|
</thead>
|
<tbody>
|
<tr>
|
<td>
|
<div class="material-name">工资单</div>
|
<div class="material-meta">材料类型:工资证明</div>
|
<div class="material-meta">文件格式:PDF/图片</div>
|
<div class="material-meta">上传时间:2025-1-10 09:45</div>
|
<div class="material-meta">文件大小:2.3MB</div>
|
<button class="view-btn" onclick="viewMaterial('工资单')">查看详情</button>
|
</td>
|
<td>
|
<div class="material-preview">
|
<div class="preview-item" onclick="previewImage('工资单-1')">
|
<div class="img-placeholder">工资单封面</div>
|
</div>
|
<div class="preview-item" onclick="previewImage('工资单-2')">
|
<div class="img-placeholder">工资明细页</div>
|
</div>
|
<div class="preview-item" onclick="previewImage('工资单-3')">
|
<div class="img-placeholder">银行流水</div>
|
</div>
|
</div>
|
<div class="material-meta">共3个文件</div>
|
</td>
|
</tr>
|
<tr>
|
<td>
|
<div class="material-name">考勤记录</div>
|
<div class="material-meta">材料类型:考勤证明</div>
|
<div class="material-meta">文件格式:PDF/Excel</div>
|
<div class="material-meta">上传时间:2025-1-10 09:50</div>
|
<div class="material-meta">文件大小:1.8MB</div>
|
<button class="view-btn" onclick="viewMaterial('考勤记录')">查看详情</button>
|
</td>
|
<td>
|
<div class="material-preview">
|
<div class="preview-item" onclick="previewImage('考勤记录-1')">
|
<div class="img-placeholder">1-6月考勤表</div>
|
</div>
|
<div class="preview-item" onclick="previewImage('考勤记录-2')">
|
<div class="img-placeholder">7-12月考勤表</div>
|
</div>
|
<div class="preview-item" onclick="previewImage('考勤记录-3')">
|
<div class="img-placeholder">考勤统计汇总</div>
|
</div>
|
</div>
|
<div class="material-meta">共3个文件</div>
|
</td>
|
</tr>
|
</tbody>
|
</table>
|
</div>
|
|
<div class="action-buttons">
|
<button class="btn btn-pass" onclick="approveMaterial()">审核通过</button>
|
<button class="btn btn-return" onclick="openReturnModal()">退回补充</button>
|
</div>
|
</div>
|
</div>
|
|
<!-- 退回补充模态弹窗 -->
|
<div class="modal" id="returnModal">
|
<div class="modal-content">
|
<div class="modal-header">
|
<h3>退回补充材料</h3>
|
</div>
|
<div class="modal-body">
|
<div class="form-group">
|
<label for="returnReason">退回意见:</label>
|
<textarea class="form-control" id="returnReason" placeholder="请详细说明需要补充的材料内容及原因..."></textarea>
|
</div>
|
</div>
|
<div class="modal-footer">
|
<button class="btn btn-cancel" onclick="closeReturnModal()">取消</button>
|
<button class="btn btn-submit" onclick="submitReturn()">确认退回</button>
|
</div>
|
</div>
|
</div>
|
|
<!-- 图片预览模态框 -->
|
<div class="image-modal" id="imageModal">
|
<div class="image-modal-content">
|
<button class="close-btn" onclick="closeImageModal()">×</button>
|
<img id="modalImage" class="image-modal-img" src="" alt="材料预览">
|
<div id="imageTitle" style="color: white; text-align: center; margin-top: 10px;"></div>
|
</div>
|
</div>
|
|
<script>
|
// 打开退回补充模态弹窗
|
function openReturnModal() {
|
document.getElementById('returnModal').style.display = 'flex';
|
}
|
|
// 关闭退回补充模态弹窗
|
function closeReturnModal() {
|
document.getElementById('returnModal').style.display = 'none';
|
document.getElementById('returnReason').value = '';
|
}
|
|
// 提交退回申请
|
function submitReturn() {
|
const returnReason = document.getElementById('returnReason').value.trim();
|
|
if (!returnReason) {
|
alert('请填写退回意见');
|
return;
|
}
|
|
if (confirm('确认要将材料退回补充吗?')) {
|
// 在实际应用中,这里应该发送到服务器处理
|
alert('材料已退回,等待申请人补充提交。');
|
console.log('退回意见:', returnReason);
|
|
// 关闭模态框
|
closeReturnModal();
|
}
|
}
|
|
// 审核通过
|
function approveMaterial() {
|
if (confirm('确认审核通过此材料吗?')) {
|
// 在实际应用中,这里应该发送到服务器处理
|
alert('材料审核通过!');
|
console.log('材料审核通过');
|
}
|
}
|
|
// 查看材料详情
|
function viewMaterial(materialName) {
|
alert('查看' + materialName + '的详细信息。在实际应用中,这里会打开一个新页面或弹窗展示完整材料。');
|
}
|
|
// 预览图片
|
function previewImage(imageName) {
|
document.getElementById('imageTitle').textContent = imageName;
|
// 在实际应用中,这里会设置真实的图片URL
|
document.getElementById('modalImage').src = 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAwIiBoZWlnaHQ9IjMwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cmVjdCB3aWR0aD0iNDAwIiBoZWlnaHQ9IjMwMCIgZmlsbD0iI2Y4ZjlmYSIvPjx0ZXh0IHg9IjIwMCIgeT0iMTUwIiBmb250LWZhbWlseT0iQXJpYWwiIGZvbnQtc2l6ZT0iMTYiIHRleHQtYW5jaG9yPSJtaWRkbGUiIGZpbGw9IiM5OTkiPkltYWdlIFByZXZpZXc8L3RleHQ+PHRleHQgeD0iMjAwIiB5PSIxODAiIGZvbnQtZmFtaWx5PSJBcmlhbCIgZm9udC1zaXplPSIxNCIgdGV4dC1hbmNob3I9Im1pZGRsZSIgZmlsbD0iIzY2NiI+JywgKyBpbWFnZU5hbWUgKyAnPC90ZXh0Pjwvc3ZnPg==';
|
document.getElementById('imageModal').style.display = 'flex';
|
}
|
|
// 关闭图片预览
|
function closeImageModal() {
|
document.getElementById('imageModal').style.display = 'none';
|
}
|
|
// 点击模态框外部关闭弹窗
|
document.getElementById('returnModal').addEventListener('click', function(e) {
|
if (e.target === this) {
|
closeReturnModal();
|
}
|
});
|
|
document.getElementById('imageModal').addEventListener('click', function(e) {
|
if (e.target === this) {
|
closeImageModal();
|
}
|
});
|
|
// ESC键关闭弹窗
|
document.addEventListener('keydown', function(e) {
|
if (e.key === 'Escape') {
|
if (document.getElementById('returnModal').style.display === 'flex') {
|
closeReturnModal();
|
}
|
if (document.getElementById('imageModal').style.display === 'flex') {
|
closeImageModal();
|
}
|
}
|
});
|
</script>
|
</body>
|
</html>
|