This commit is contained in:
qsc
2026-08-03 21:53:16 +08:00
parent 2241d6ebf1
commit 6c26486f49
8 changed files with 775 additions and 235 deletions
+393
View File
@@ -0,0 +1,393 @@
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>副本奖励记录</title>
<style>
* {
box-sizing: border-box;
}
body {
font-family: 'Microsoft YaHei', Arial, sans-serif;
background: #f1f2f6;
margin: 0;
padding: 20px;
color: #333;
}
.container {
max-width: 1200px;
margin: 0 auto;
text-align: center;
}
h1 {
font-size: 32px;
margin: 0 0 12px 0;
color: #222;
font-weight: 800;
text-align: center;
}
.description {
margin-bottom: 24px;
color: #7a7f8c;
font-size: 15px;
}
.legend {
display: flex;
justify-content: center;
align-items: center;
gap: 24px;
margin-bottom: 20px;
font-size: 14px;
color: #666;
}
.legend-item {
display: flex;
align-items: center;
gap: 7px;
}
.legend-color {
width: 15px;
height: 15px;
border-radius: 4px;
}
.legend-color.finished {
background: #c9cdd3;
}
.legend-color.unfinished {
background: #2dbd78;
}
table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
background: white;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
margin-top: 10px;
text-align: left;
}
thead {
background: #3b82f6;
color: white;
font-size: 18px;
}
th,
td {
padding: 16px 14px;
border-bottom: 1px solid #eee;
font-size: 16px;
vertical-align: middle;
}
th:first-child,
td:first-child {
width: 250px;
}
tbody tr:last-child td {
border-bottom: none;
}
tbody tr:hover {
background: #f7f9fc;
}
.map-info {
text-align: center;
}
.map-name {
color: #252a34;
font-size: 18px;
font-weight: 700;
line-height: 1.5;
}
.map-progress {
margin-top: 7px;
color: #8a909c;
font-size: 13px;
font-weight: 500;
}
.boss-list {
display: flex;
flex-wrap: wrap;
gap: 10px;
}
.boss-item {
position: relative;
min-width: 145px;
flex: 1 1 145px;
max-width: 210px;
min-height: 64px;
padding: 11px 13px;
border-radius: 9px;
transition:
transform 0.2s ease,
box-shadow 0.2s ease;
}
.boss-item:hover {
transform: translateY(-2px);
}
/*
* finished 为 true
* 奖励已经获取,显示灰色
*/
.boss-item.finished {
color: #747b85;
background: #e1e4e8;
border: 1px solid #d1d5db;
}
.boss-item.finished:hover {
box-shadow: 0 4px 12px rgba(75, 85, 99, 0.15);
}
/*
* finished 为 false
* 奖励尚未获取,显示绿色
*/
.boss-item.unfinished {
color: white;
background: #2dbd78;
border: 1px solid #24a96a;
}
.boss-item.unfinished:hover {
box-shadow: 0 4px 12px rgba(45, 189, 120, 0.25);
}
.boss-index {
position: absolute;
top: 6px;
right: 8px;
font-size: 11px;
font-weight: 700;
opacity: 0.65;
}
.boss-name {
padding-right: 18px;
overflow: hidden;
font-size: 15px;
font-weight: 700;
line-height: 1.4;
text-overflow: ellipsis;
white-space: nowrap;
}
.boss-status {
display: flex;
align-items: center;
gap: 5px;
margin-top: 6px;
font-size: 12px;
font-weight: 500;
}
.status-icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 16px;
height: 16px;
border-radius: 50%;
font-size: 11px;
font-weight: 800;
}
.boss-item.finished .status-icon {
color: #777e88;
background: rgba(255, 255, 255, 0.75);
}
.boss-item.unfinished .status-icon {
color: #22a566;
background: white;
}
.empty-data {
padding: 50px 20px;
color: #8a909c;
text-align: center;
background: white;
border-radius: 12px;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}
@media (max-width: 800px) {
body {
padding: 12px;
}
h1 {
font-size: 26px;
}
table,
thead,
tbody,
tr,
th,
td {
display: block;
}
thead {
display: none;
}
table {
background: transparent;
box-shadow: none;
}
tbody tr {
margin-bottom: 14px;
overflow: hidden;
background: white;
border-radius: 12px;
box-shadow: 0 4px 14px rgba(0, 0, 0, 0.07);
}
th:first-child,
td:first-child {
width: 100%;
}
td {
border-bottom: none;
}
.map-info {
padding: 17px;
background: #fafbfc;
border-bottom: 1px solid #eee;
}
.boss-list {
padding: 2px;
}
.boss-item {
max-width: none;
}
}
@media (max-width: 500px) {
.legend {
gap: 14px;
font-size: 13px;
}
.boss-item {
flex-basis: 100%;
max-width: 100%;
}
}
</style>
</head>
<body>
<div class="container">
<h1>副本奖励记录</h1>
<div class="description">
灰色表示奖励已经获取,绿色表示奖励尚未获取
</div>
<div class="legend">
<div class="legend-item">
<span class="legend-color finished"></span>
<span>奖励已获取</span>
</div>
<div class="legend-item">
<span class="legend-color unfinished"></span>
<span>奖励未获取</span>
</div>
</div>
{% if list %}
<table>
<thead>
<tr>
<th>副本名称</th>
<th>Boss 奖励状态</th>
</tr>
</thead>
<tbody>
{% for m in list %}
<tr>
<td class="map-info">
<div class="map-name">
{{ m.mapName }}
</div>
<div class="map-progress">
已获取 {{ m.bossFinished }} / {{ m.bossCount }}
</div>
</td>
<td>
<div class="boss-list">
{% for boss in m.bossProgress %}
<div
class="boss-item {% if boss.finished %}finished{% else %}unfinished{% endif %}"
title="{{ boss.name }} - {% if boss.finished %}奖励已获取{% else %}奖励未获取{% endif %}"
>
<span class="boss-index">
#{{ boss.progressId }}
</span>
<div class="boss-name">
{{ boss.name }}
</div>
<div class="boss-status">
{% if boss.finished %}
<span class="status-icon"></span>
<span>奖励已获取</span>
{% else %}
<span class="status-icon">!</span>
<span>奖励未获取</span>
{% endif %}
</div>
</div>
{% endfor %}
</div>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<div class="empty-data">
暂无副本奖励记录
</div>
{% endif %}
</div>
</body>
</html>