+ ) : items.map(it => {
+ const shots = parseScreenshots(it.screenshots);
+ const statusOpt = STATUS_OPTIONS.find(o => o.key === it.status);
+ return (
+
open(it)}
+ >
+
+ {TYPE_LABEL[it.type] || it.type}
+ {it.module && {MODULE_LABELS[it.module] || it.module}}
+
+ {statusOpt?.label || it.status}
+
+
+ {(it.user_name || it.user_id || '匿名')} · {(it.created_at || '').replace('T', ' ').slice(0, 16)}
+
+
+
{it.content}
+ {(shots.length > 0 || it.contact) && (
+
+ {shots.length > 0 && {shots.length} 张}
+ {it.contact && 📞 {it.contact}}
+
+ )}
+ {it.reply_content && (
+
+ 回复: {it.reply_content}
+
+ )}
+ {it.status === 'open' && (
+
e.stopPropagation()}>
+
+
+
+ )}
+