Files
Neo-ZQYY/docs/h5_ui/pages/customer-detail.html

436 lines
25 KiB
HTML
Raw 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">
<title>客户详情 - 球房运营助手</title>
<script src="https://cdn.tailwindcss.com"></script>
<link href="https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;600;700&display=swap" rel="stylesheet">
<link href="../css/banner.css" rel="stylesheet">
<script>
tailwind.config = {
theme: {
extend: {
colors: {
primary: '#0052d9',
'primary-light': '#ecf2fe',
success: '#00a870',
warning: '#ed7b2f',
error: '#e34d59',
'gray-1': '#f3f3f3',
'gray-2': '#eeeeee',
'gray-3': '#e7e7e7',
'gray-4': '#dcdcdc',
'gray-5': '#c5c5c5',
'gray-6': '#a6a6a6',
'gray-7': '#8b8b8b',
'gray-8': '#777777',
'gray-9': '#5e5e5e',
'gray-10': '#4b4b4b',
'gray-11': '#393939',
'gray-12': '#2c2c2c',
'gray-13': '#242424',
},
fontFamily: {
sans: ['Noto Sans SC', 'sans-serif'],
}
}
}
}
</script>
<style>
body {
font-family: 'Noto Sans SC', -apple-system, BlinkMacSystemFont, sans-serif;
padding-bottom: 80px;
}
.section-title {
position: relative;
padding-left: 12px;
}
.section-title::before {
content: '';
position: absolute;
left: 0;
top: 50%;
transform: translateY(-50%);
width: 4px;
height: 16px;
border-radius: 2px;
}
.section-title.blue::before { background: linear-gradient(180deg, #0052d9, #5b9cf8); }
.section-title.green::before { background: linear-gradient(180deg, #00a870, #4cd964); }
.section-title.orange::before { background: linear-gradient(180deg, #ed7b2f, #ffc107); }
.section-title.pink::before { background: linear-gradient(180deg, #e851a4, #f5a0c0); }
</style>
</head>
<body class="bg-gray-1 min-h-screen">
<!-- 通栏 Banner - 客户信息 -->
<div class="banner-bg theme-dark-gold texture-aurora relative text-white">
<!-- 导航栏 -->
<div class="h-11 flex items-center relative px-4">
<button onclick="history.back()" class="absolute left-4 p-1">
<svg class="w-5 h-5 text-white" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<polyline points="15 18 9 12 15 6"/>
</svg>
</button>
<h1 class="flex-1 text-center text-base font-medium">客户详情</h1>
</div>
<!-- 客户信息 -->
<div class="px-5 pt-2 pb-6">
<div class="flex items-center gap-4 mb-4">
<div class="w-16 h-16 rounded-2xl bg-white/20 backdrop-blur-sm flex items-center justify-center shadow-lg">
<span class="text-2xl font-bold text-white"></span>
</div>
<div class="flex-1">
<div class="flex items-center gap-2 mb-2">
<span class="text-xl font-semibold">王先生</span>
<span class="px-2 py-0.5 bg-gradient-to-r from-amber-500 to-yellow-400 text-black font-medium rounded-full text-xs">VIP</span>
</div>
<div class="flex items-center gap-4 text-white/70 text-sm">
<span>138****5678</span>
<span>VIP20231215</span>
</div>
</div>
</div>
<div class="bg-white/10 rounded-xl backdrop-blur-sm">
<div class="grid grid-cols-3">
<div class="text-center py-3 border-r border-white/10">
<p class="font-medium text-emerald-300 text-sm">¥8,600</p>
<p class="text-white/60 text-xs mt-1">储值余额</p>
</div>
<div class="text-center py-3 border-r border-white/10">
<p class="font-medium text-sm">¥2,800</p>
<p class="text-white/60 text-xs mt-1">60天累计消费</p>
</div>
<div class="text-center py-3">
<p class="font-medium text-sm">广州朗朗桌球</p>
<p class="text-white/60 text-xs mt-1">门店</p>
</div>
</div>
</div>
</div>
</div>
<!-- 主体内容 -->
<div class="p-4 space-y-4">
<!-- 消费习惯 -->
<div class="bg-white rounded-2xl p-5 shadow-sm">
<h2 class="section-title green text-sm font-semibold text-gray-13 mb-4">消费习惯</h2>
<div class="flex flex-wrap gap-2 mb-3">
<span class="px-3 py-1.5 bg-gradient-to-r from-blue-50 to-indigo-50 text-primary text-xs rounded-full border border-blue-100">🌙 常来夜场</span>
<span class="px-3 py-1.5 bg-gradient-to-r from-green-50 to-emerald-50 text-success text-xs rounded-full border border-green-100">🎱 偏爱中式</span>
<span class="px-3 py-1.5 bg-gradient-to-r from-orange-50 to-amber-50 text-warning text-xs rounded-full border border-orange-100">💰 高客单价</span>
<span class="px-3 py-1.5 bg-gradient-to-r from-pink-50 to-rose-50 text-error text-xs rounded-full border border-pink-100">🍷 爱点酒水</span>
</div>
<p class="text-sm text-gray-7 leading-relaxed">
偏好晚间 21:00 后到店,喜欢中式台球和斯诺克。平均消费 350 元/次,月均到店 4-5 次。经常点套餐和饮品,倾向于包厢消费。近 60 天到店 8 次,消费金额 2,800 元。
</p>
</div>
<!-- 消费记录 -->
<div class="bg-white rounded-2xl p-5 shadow-sm">
<h2 class="section-title orange text-sm font-semibold text-gray-13 mb-4">消费记录</h2>
<div class="space-y-4">
<!-- Record 1: 台桌详情 - 有食品酒水2位助教 -->
<div class="rounded-xl border border-gray-200 overflow-hidden">
<div class="bg-gradient-to-r from-blue-50 to-indigo-50 px-4 py-2.5 flex items-center justify-between border-b border-blue-100/50">
<div class="flex items-center gap-2">
<span class="w-1.5 h-1.5 bg-primary rounded-full"></span>
<span class="text-xs font-semibold text-primary">台桌详情</span>
</div>
<span class="text-xs text-gray-6">2026-02-05</span>
</div>
<!-- 时间轴 -->
<div class="px-4 py-3.5 border-b border-gray-100">
<div class="flex items-center">
<div class="flex flex-col items-center">
<div class="w-2.5 h-2.5 rounded-full bg-primary ring-4 ring-primary/10"></div>
<span class="text-[10px] text-gray-5 mt-1">开台</span>
<span class="text-sm font-bold text-gray-13">21:30</span>
</div>
<div class="flex-1 flex items-center mx-2 -mt-4">
<div class="h-0.5 bg-gradient-to-r from-primary/40 to-primary/20 flex-1"></div>
<div class="px-3 py-1 bg-primary/10 rounded-full mx-1">
<span class="text-[11px] font-semibold text-primary">3h 20min</span>
</div>
<div class="h-0.5 bg-gradient-to-r from-primary/20 to-primary/40 flex-1"></div>
</div>
<div class="flex flex-col items-center">
<div class="w-2.5 h-2.5 rounded-full bg-gray-400 ring-4 ring-gray-200"></div>
<span class="text-[10px] text-gray-5 mt-1">结束</span>
<span class="text-sm font-bold text-gray-13">00:50</span>
</div>
</div>
</div>
<!-- 助教 & 明细 -->
<div class="px-4 py-3 space-y-3">
<div class="flex items-start justify-between">
<div>
<div class="flex items-center gap-1.5 mb-1">
<span class="text-sm font-medium text-gray-13">小燕</span>
<span class="px-1.5 py-0.5 bg-pink-50 text-pink-600 text-[10px] rounded font-medium">高级</span>
<span class="px-1.5 py-0.5 bg-blue-50 text-primary text-[10px] rounded font-medium">基础课</span>
</div>
<span class="text-xs text-gray-6">服务 2.5h</span>
</div>
</div>
<div class="flex items-start justify-between border-t border-dashed border-gray-100 pt-3">
<div>
<div class="flex items-center gap-1.5 mb-1">
<span class="text-sm font-medium text-gray-13">Amy</span>
<span class="px-1.5 py-0.5 bg-green-50 text-green-600 text-[10px] rounded font-medium">初级</span>
<span class="px-1.5 py-0.5 bg-orange-50 text-warning text-[10px] rounded font-medium">激励课</span>
</div>
<div class="flex items-center gap-2">
<span class="text-xs text-gray-6">服务 0.5h</span>
<span class="text-xs text-orange-500 font-medium">定档绩效1小时</span>
</div>
</div>
</div>
<div class="flex items-center justify-between border-t border-gray-100 pt-3">
<span class="text-xs text-gray-6">🍷 食品酒水</span>
<span class="text-sm font-medium text-warning">¥260</span>
</div>
<div class="flex items-center justify-between border-t border-gray-200 pt-3">
<span class="text-xs font-semibold text-gray-9">总金额</span>
<span class="text-base font-bold text-error">¥640</span>
</div>
</div>
</div>
<!-- Record 2: 台桌详情 - 无食品酒水,有定档绩效 -->
<div class="rounded-xl border border-gray-200 overflow-hidden">
<div class="bg-gradient-to-r from-blue-50 to-indigo-50 px-4 py-2.5 flex items-center justify-between border-b border-blue-100/50">
<div class="flex items-center gap-2">
<span class="w-1.5 h-1.5 bg-primary rounded-full"></span>
<span class="text-xs font-semibold text-primary">台桌详情</span>
</div>
<span class="text-xs text-gray-6">2026-02-01</span>
</div>
<div class="px-4 py-3.5 border-b border-gray-100">
<div class="flex items-center">
<div class="flex flex-col items-center">
<div class="w-2.5 h-2.5 rounded-full bg-primary ring-4 ring-primary/10"></div>
<span class="text-[10px] text-gray-5 mt-1">开台</span>
<span class="text-sm font-bold text-gray-13">14:00</span>
</div>
<div class="flex-1 flex items-center mx-2 -mt-4">
<div class="h-0.5 bg-gradient-to-r from-primary/40 to-primary/20 flex-1"></div>
<div class="px-3 py-1 bg-primary/10 rounded-full mx-1">
<span class="text-[11px] font-semibold text-primary">2h 00min</span>
</div>
<div class="h-0.5 bg-gradient-to-r from-primary/20 to-primary/40 flex-1"></div>
</div>
<div class="flex flex-col items-center">
<div class="w-2.5 h-2.5 rounded-full bg-gray-400 ring-4 ring-gray-200"></div>
<span class="text-[10px] text-gray-5 mt-1">结束</span>
<span class="text-sm font-bold text-gray-13">16:00</span>
</div>
</div>
</div>
<div class="px-4 py-3 space-y-3">
<div class="flex items-start justify-between">
<div>
<div class="flex items-center gap-1.5 mb-1">
<span class="text-sm font-medium text-gray-13">泡芙</span>
<span class="px-1.5 py-0.5 bg-purple-50 text-purple-600 text-[10px] rounded font-medium">中级</span>
<span class="px-1.5 py-0.5 bg-orange-50 text-warning text-[10px] rounded font-medium">激励课</span>
</div>
<div class="flex items-center gap-2">
<span class="text-xs text-gray-6">服务 1.5h</span>
<span class="text-xs text-orange-500 font-medium">定档绩效2小时</span>
</div>
</div>
</div>
<div class="flex items-center justify-between border-t border-gray-200 pt-3">
<span class="text-xs font-semibold text-gray-9">总金额</span>
<span class="text-base font-bold text-error">¥220</span>
</div>
</div>
</div>
<!-- Record 3: 商城订单 - 有食品酒水 -->
<div class="rounded-xl border border-gray-200 overflow-hidden">
<div class="bg-gradient-to-r from-emerald-50 to-green-50 px-4 py-2.5 flex items-center justify-between border-b border-green-100/50">
<div class="flex items-center gap-2">
<span class="w-1.5 h-1.5 bg-success rounded-full"></span>
<span class="text-xs font-semibold text-success">商城订单</span>
</div>
<span class="text-xs text-gray-6">2026-01-28</span>
</div>
<div class="px-4 py-3 space-y-3">
<div class="flex items-start justify-between">
<div>
<div class="flex items-center gap-1.5 mb-1">
<span class="text-sm font-medium text-gray-13">小燕</span>
<span class="px-1.5 py-0.5 bg-pink-50 text-pink-600 text-[10px] rounded font-medium">高级</span>
<span class="px-1.5 py-0.5 bg-blue-50 text-primary text-[10px] rounded font-medium">基础课</span>
</div>
<span class="text-xs text-gray-6">服务 1h</span>
</div>
</div>
<div class="flex items-center justify-between border-t border-gray-100 pt-3">
<span class="text-xs text-gray-6">🍷 食品酒水</span>
<span class="text-sm font-medium text-warning">¥180</span>
</div>
</div>
</div>
</div>
</div>
<!-- 最喜欢的助教 -->
<div class="bg-white rounded-2xl p-5 shadow-sm">
<h2 class="section-title pink text-sm font-semibold text-gray-13 mb-4">最喜欢的助教</h2>
<div class="space-y-3">
<!-- 小燕 -->
<div class="p-4 bg-gradient-to-br from-pink-50/80 to-rose-50/60 rounded-xl border border-pink-100/60">
<div class="flex items-center justify-between mb-2.5">
<div class="flex items-center gap-2.5">
<span class="text-lg">❤️</span>
<span class="text-sm font-semibold text-gray-13">小燕</span>
</div>
<div class="flex items-center gap-1.5">
<span class="text-[10px] text-gray-5">关系指数</span>
<span class="text-lg font-bold text-success">0.92</span>
</div>
</div>
<p class="text-[10px] text-gray-5 mb-1.5 pl-0.5">近60天</p>
<div class="grid grid-cols-4 gap-2">
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">基础</p>
<p class="text-sm font-bold text-primary">12h</p>
</div>
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">激励</p>
<p class="text-sm font-bold text-warning">5h</p>
</div>
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">上课</p>
<p class="text-sm font-bold text-gray-13">18次</p>
</div>
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">充值</p>
<p class="text-sm font-bold text-success">¥5,000</p>
</div>
</div>
</div>
<!-- 泡芙 -->
<div class="p-4 bg-gradient-to-br from-amber-50/80 to-yellow-50/60 rounded-xl border border-amber-100/60">
<div class="flex items-center justify-between mb-2.5">
<div class="flex items-center gap-2.5">
<span class="text-lg">💛</span>
<span class="text-sm font-semibold text-gray-13">泡芙</span>
</div>
<div class="flex items-center gap-1.5">
<span class="text-[10px] text-gray-5">关系指数</span>
<span class="text-lg font-bold text-warning">0.78</span>
</div>
</div>
<p class="text-[10px] text-gray-5 mb-1.5 pl-0.5">近60天</p>
<div class="grid grid-cols-4 gap-2">
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">基础</p>
<p class="text-sm font-bold text-primary">8h</p>
</div>
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">激励</p>
<p class="text-sm font-bold text-warning">3h</p>
</div>
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">上课</p>
<p class="text-sm font-bold text-gray-13">12次</p>
</div>
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">充值</p>
<p class="text-sm font-bold text-success">¥3,000</p>
</div>
</div>
</div>
<!-- Amy -->
<div class="p-4 bg-gradient-to-br from-slate-50/80 to-gray-50/60 rounded-xl border border-gray-200/60">
<div class="flex items-center justify-between mb-2.5">
<div class="flex items-center gap-2.5">
<span class="text-lg">💛</span>
<span class="text-sm font-semibold text-gray-13">Amy</span>
</div>
<div class="flex items-center gap-1.5">
<span class="text-[10px] text-gray-5">关系指数</span>
<span class="text-lg font-bold text-gray-7">0.65</span>
</div>
</div>
<p class="text-[10px] text-gray-5 mb-1.5 pl-0.5">近60天</p>
<div class="grid grid-cols-4 gap-2">
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">基础</p>
<p class="text-sm font-bold text-primary">5h</p>
</div>
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">激励</p>
<p class="text-sm font-bold text-warning">2h</p>
</div>
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">上课</p>
<p class="text-sm font-bold text-gray-13">8次</p>
</div>
<div class="bg-white/80 rounded-lg py-2 text-center">
<p class="text-[10px] text-gray-5 mb-0.5">充值</p>
<p class="text-sm font-bold text-success">¥2,000</p>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- 底部操作栏 -->
<div class="fixed bottom-0 left-0 right-0 h-16 bg-white/95 backdrop-blur-lg border-t border-gray-2 flex items-center gap-3 px-4">
<button onclick="window.location.href='chat.html'" class="flex-1 h-11 bg-gradient-to-r from-primary to-blue-500 text-white font-medium rounded-xl flex items-center justify-center gap-2 shadow-lg shadow-primary/30">
<svg class="w-5 h-5" viewBox="0 0 24 24" fill="currentColor">
<path d="M20 2H4c-1.1 0-2 .9-2 2v18l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zm0 14H6l-2 2V4h16v12z"/>
</svg>
问问助手
</button>
<button onclick="showNoteModal()" class="flex-1 h-11 bg-gray-100 text-gray-13 font-medium rounded-xl flex items-center justify-center gap-2">
<svg class="w-5 h-5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<path d="M11 4H4a2 2 0 00-2 2v14a2 2 0 002 2h14a2 2 0 002-2v-7"/>
<path d="M18.5 2.5a2.121 2.121 0 013 3L12 15l-4 1 1-4 9.5-9.5z"/>
</svg>
备注
</button>
</div>
<!-- 备注弹窗 -->
<div id="noteModal" class="fixed inset-0 bg-black/50 z-50 hidden items-end">
<div class="w-full bg-white rounded-t-3xl p-5 pb-8">
<div class="flex items-center justify-between mb-4">
<span class="text-base font-semibold text-gray-13">添加备注</span>
<button onclick="hideNoteModal()" class="w-8 h-8 flex items-center justify-center rounded-full bg-gray-100">
<svg class="w-4 h-4 text-gray-6" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
<line x1="18" y1="6" x2="6" y2="18"/>
<line x1="6" y1="6" x2="18" y2="18"/>
</svg>
</button>
</div>
<textarea class="w-full h-32 p-4 bg-gray-50 rounded-xl resize-none text-sm text-gray-13 placeholder-gray-5 focus:outline-none focus:ring-2 focus:ring-primary/20 border border-gray-100" placeholder="请输入备注内容..."></textarea>
<button class="w-full h-12 bg-gradient-to-r from-primary to-blue-500 text-white font-medium rounded-xl mt-4 shadow-lg shadow-primary/30">保存</button>
</div>
</div>
<script>
function showNoteModal() {
document.getElementById('noteModal').classList.remove('hidden');
document.getElementById('noteModal').classList.add('flex');
}
function hideNoteModal() {
document.getElementById('noteModal').classList.add('hidden');
document.getElementById('noteModal').classList.remove('flex');
}
</script>
</body>
</html>