diff --git a/config/VERSION b/config/VERSION
index e1f6aea..8bdea5f 100644
--- a/config/VERSION
+++ b/config/VERSION
@@ -1,5 +1,4 @@
-# 甲辰藏品管理系统 - 版本配置
-VERSION=1.2.1
-VERSION_CODENAME="阶段性稳定版本"
+VERSION=1.2.2
+VERSION_CODENAME="列表优化版本"
RELEASE_DATE=2026-03-20
-VERSION_NOTES="密码强度验证 - 至少8位需包含大写+小写+数字"
+VERSION_NOTES="藏品列表布局优化 - 3行显示,颜色配置完善"
diff --git a/frontend/src/pages/List.jsx b/frontend/src/pages/List.jsx
index 8168df9..12bb114 100644
--- a/frontend/src/pages/List.jsx
+++ b/frontend/src/pages/List.jsx
@@ -317,6 +317,16 @@ export default function List() {
return colors[category] || '#64748b'
}
+ const getRarityColor = (rarity) => {
+ const colors = { '通货': '#22c55e', '特色': '#06b6d4', '少见': '#3b82f6', '稀有': '#ec4899', '珍品': '#ef4444', '孤品': '#8b5cf6' }
+ return colors[rarity] || '#64748b'
+ }
+
+ const getPackagingColor = (packaging) => {
+ const colors = { '裸钞': '#22c55e', '单张': '#3b82f6', '标十': '#fbbf24', '标百': '#8b5cf6' }
+ return colors[packaging] || '#64748b'
+ }
+
const getStatusColor = (status) => {
const colors = {
'in_collection': '#22c55e',
@@ -350,37 +360,43 @@ export default function List() {
}
const ListItem = ({ item }) => (
-
goDetail(item.id)} style={{ background: 'rgba(255,255,255,0.03)', border: '1px solid rgba(255,255,255,0.05)', borderRadius: '12px', padding: '14px', marginBottom: '10px', cursor: 'pointer' }}>
-
-
-
-
{item.code || '-'}
- {isAdmin && item.owner_name &&
👤 {item.owner_name}
}
-
-
{item.prefixSerial || '-'}
+
goDetail(item.id)} style={{ background: 'rgba(255,255,255,0.03)', border: '1px solid rgba(255,255,255,0.05)', borderRadius: '12px', padding: '10px', marginBottom: '8px', cursor: 'pointer' }}>
+ {/* 第1行:编号 + 冠字号 + 包装(蓝色) | 状态 + 持仓类型 + 珍惜度(紫色) */}
+
+
+ {item.code || '-'}
+ {item.prefixSerial || '-'}
+ {item.packaging && {item.packaging}}
-
- {item.category &&
{getCategoryText(item.category)}
}
- {item.rarity &&
{item.rarity}
}
-
{getStatusText(item.status)}
- {item.gradingScore &&
{item.gradingScore}
}
+
+ {item.status && {getStatusText(item.status)}}
+ {item.category && {getCategoryText(item.category)}}
+ {item.rarity && {item.rarity}}
-
- {item.version &&
{item.version}}
- {item.packaging &&
{item.packaging}}
- {item.isGraded ?
已评级 :
未评级}
- {item.gradingCompany &&
{item.gradingCompany}}
- {item.threeStar &&
三星}
- {item.specialMark &&
{item.specialMark}}
- {item.remark &&
{item.remark}}
+ {/* 第2行:版本(彩色) + 已评级 + 评级公司 + 评级分数 + 三星 + 特殊标识 | 备注 */}
+
+
+ {item.version && {item.version}}
+ {item.isGraded && 已评级}
+ {item.gradingCompany && {item.gradingCompany.substring(0,4)}}
+ {item.gradingScore && {item.gradingScore}}
+ {item.threeStar && 三星}
+ {item.specialMark && {item.specialMark}}
+
+ {item.remark &&
{item.remark}}
-
- {item.costPrice &&
成本: ¥{item.costPrice}}
- {item.targetPrice &&
目标: ¥{item.targetPrice}}
- {item.goalPrice &&
出售: ¥{item.goalPrice}}
- {item.repairFee &&
修复: ¥{item.repairFee}}
- {item.gradingFee &&
评级: ¥{item.gradingFee}}
+ {/* 第3行:成本 + 修复 + 评级 | 目标 + 出售 */}
+
+
+ {item.costPrice && 成本: ¥{item.costPrice}}
+ {item.repairFee && 修复: ¥{item.repairFee}}
+ {item.gradingFee && 评级: ¥{item.gradingFee}}
+
+
+ {item.targetPrice && 目标: ¥{item.targetPrice}}
+ {item.goalPrice && 出售: ¥{item.goalPrice}}
+
)