Files
MediCompanions/public/PatientAPP/Nursing/index.css
T
2026-06-22 11:23:05 +08:00

224 lines
7.0 KiB
CSS

[v-cloak] { display: none; }
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #f5f7f9; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'PingFang SC', 'Microsoft YaHei', sans-serif; min-height: 100vh; }
/* 头部区域 */
.header-section {
background: #fff !important;
border-radius: 0 !important;
position: sticky;
top: 0;
z-index: 100;
padding-top: 10px;
}
.header-section::before,
.header-section::after { display: none; }
/* 搜索栏 */
.header-search {
display: flex !important;
align-items: center !important;
gap: 8px !important;
background: #f5f5f5 !important;
border-radius: 6px !important;
padding: 10px 14px !important;
margin: 0 12px !important;
cursor: pointer;
}
.header-search span {
font-size: 14px !important;
color: #bbb !important;
}
/* 筛选标签栏 */
.filter-bar {
display: flex !important;
padding: 12px 14px;
gap: 8px;
}
.filter-tag {
flex: 1;
text-align: center;
font-size: 13px;
color: #666;
background: #f5f5f5;
border-radius: 16px;
padding: 7px 4px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
cursor: pointer;
transition: all 0.2s;
}
.filter-tag.active {
background: #e8f4fd;
color: #1989fa;
font-weight: 500;
}
/* 筛选面板(内联展开) */
.filter-panel {
background: #fafafa;
border-top: 1px solid #eee;
padding: 12px 14px;
}
.filter-panel-list {
display: flex; flex-wrap: wrap; gap: 10px;
}
.filter-panel-item {
font-size: 13px; color: #555; background: #fff;
border-radius: 4px; padding: 6px 14px;
cursor: pointer; border: 1px solid #e0e0e0;
transition: all 0.15s;
}
.filter-panel-item.selected {
background: #1989fa; color: #fff; border-color: #1989fa;
}
/* 面板展开动画 */
.slide-enter-active { animation: slideDown 0.2s ease; }
.slide-leave-active { animation: slideUp 0.15s ease; }
@keyframes slideDown { from { opacity: 0; max-height: 0; } to { opacity: 1; max-height: 200px; } }
@keyframes slideUp { from { opacity: 1; max-height: 200px; } to { opacity: 0; max-height: 0; } }
border-radius: 18px; padding: 8px 20px;
cursor: pointer; transition: all 0.2s;
}
.popup-item.selected { background: #1989fa; color: #fff; }
/* 统计信息条 */
.stats-bar {
display: flex;
align-items: center;
justify-content: center;
padding: 12px 20px;
background: linear-gradient(90deg, #eaf7fb 0%, #f0fafb 50%, #eaf7fb 100%);
gap: 24px;
}
.stats-item { display: flex; align-items: baseline; gap: 4px; }
.stats-num { font-size: 17px; font-weight: 700; color: #018fa5; }
.stats-label { font-size: 12px; color: #888; }
.stats-divider { width: 1px; height: 18px; background: #ddd; }
/* 护工列表 */
.nurse-list-wrapper { padding: 12px 14px; }
.nurse-card-wrap {
background: #fff; border-radius: 14px; margin-bottom: 10px;
box-shadow: 0 2px 10px rgba(1,143,165,0.06); overflow: hidden;
transition: all 0.22s ease; border: 1px solid rgba(1,143,165,0.05);
cursor: pointer;
}
.nurse-card-wrap:active {
transform: translateY(-1px); box-shadow: 0 4px 18px rgba(1,143,165,0.13);
}
/* 卡片主体 */
.nurse-card-main {
display: flex; align-items: center; padding: 14px; gap: 12px;
}
/* 头像区域 */
.nurse-avatar-box {
position: relative; flex-shrink: 0;
}
.nurse-avatar-inner {
width: 56px; height: 56px; border-radius: 14px;
background: linear-gradient(135deg, #018fa5 0%, #0a7a8c 100%);
display: flex; align-items: center; justify-content: center;
}
.nurse-avatar-inner.avatar-online {
animation: pulse-ring 2s ease-out infinite;
}
.online-dot {
position: absolute; bottom: 1px; right: 1px;
width: 12px; height: 12px; border-radius: 50%;
background: #07c160; border: 2px solid #fff;
}
/* 详情信息区 */
.nurse-detail { flex: 1; min-width: 0; }
.nurse-name-row {
display: flex; align-items: center; gap: 6px; margin-bottom: 6px;
}
.nurse-name { font-size: 15px; font-weight: 700; color: #333; }
.nurse-meta-row {
display: flex; align-items: center; gap: 4px; margin-bottom: 8px;
flex-wrap: wrap;
}
.nurse-score { font-size: 13px; color: #e08c28; font-weight: 600; }
.nurse-sep { font-size: 11px; color: #ccc; margin: 0 2px; }
.nurse-exp-text,
.nurse-orders-text { font-size: 11px; color: #999; font-weight: 500; }
.nurse-skill-tags { display: flex; gap: 5px; flex-wrap: wrap; }
.nurse-skill-tags :deep(.van-tag) {
font-size: 10px !important; padding: 1px 7px !important;
border-radius: 4px !important; font-weight: 500;
}
.nurse-skill-tags :deep(.van-tag--primary) {
background: linear-gradient(135deg, #e6f5f8 0%, #d0ebe8 100%) !important;
color: #018fa5 !important; border-color: transparent !important;
}
/* 价格列 */
.nurse-price-col {
flex-shrink: 0; text-align: center;
min-width: 68px;
}
.nurse-price-row { display: flex; align-items: baseline; justify-content: center; }
.price-symbol { font-size: 12px; color: #dc3545; font-weight: 700; }
.price-num { font-size: 20px; color: #dc3545; font-weight: 800; line-height: 1; }
.price-unit { font-size: 10px; color: #dc3545; font-weight: 500; }
.book-btn {
margin-top: 6px; padding: 0 12px !important; font-size: 12px !important;
background: linear-gradient(135deg, #018fa5 0%, #0a7a8c 100%) !important;
border-color: transparent !important;
}
/* 认证行 */
.nurse-cert-row {
display: flex; align-items: center; gap: 6px;
padding: 8px 14px; border-top: 1px solid #f3f3f3;
background: #fafcfc;
}
.cert-text { font-size: 11px; color: #666; }
/* 搜索弹窗 */
:deep(.van-popup--top) { border-radius: 0 0 16px 16px; overflow: hidden; }
:deep(.van-search__content) {
background: #f5f7f9 !important;
border-radius: 10px !important;
}
/* 底部安全距离 */
.bottom-safe { height: 72px; }
/* 动画效果 */
@keyframes fadeInUp {
from { opacity: 0; transform: translateY(12px); }
to { opacity: 1; transform: translateY(0); }
}
@keyframes pulse-ring {
0% { box-shadow: 0 0 0 0 rgba(7,193,96,0.35); }
70% { box-shadow: 0 0 0 6px rgba(7,193,96,0); }
100% { box-shadow: 0 0 0 0 rgba(7,193,96,0); }
}
.nurse-card-wrap:nth-child(1) { animation: fadeInUp 0.32s ease-out 0.02s both; }
.nurse-card-wrap:nth-child(2) { animation: fadeInUp 0.32s ease-out 0.06s both; }
.nurse-card-wrap:nth-child(3) { animation: fadeInUp 0.32s ease-out 0.1s both; }
.nurse-card-wrap:nth-child(4) { animation: fadeInUp 0.32s ease-out 0.14s both; }
.nurse-card-wrap:nth-child(5) { animation: fadeInUp 0.32s ease-out 0.18s both; }
.nurse-card-wrap:nth-child(n+6) { animation: fadeInUp 0.32s ease-out 0.22s both; }
/* 下拉刷新 */
:deep(.van-pull-refresh-head) { color: #018fa5; }
:deep(.van-list__finished-text) { color: #bbb; font-size: 12px; }
/* 底部导航 */
:root { --van-tabbar-z-index: 999; }
.van-tabbar { z-index: 999 !important; }
:deep(.van-tabbar) { box-shadow: 0 -2px 14px rgba(0,0,0,0.05); z-index: 999 !important; }
:deep(.van-tabbar-item--active) { color: #018fa5 !important; }