微信小程序页面迁移校验之前 P5任务处理之前
This commit is contained in:
@@ -0,0 +1,459 @@
|
||||
/* 加载态 & 空态 */
|
||||
.page-loading,
|
||||
.page-empty {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
min-height: 60vh;
|
||||
gap: 24rpx;
|
||||
}
|
||||
.empty-text {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
color: var(--color-gray-6, #a6a6a6);
|
||||
}
|
||||
|
||||
/* Banner - 橙色 */
|
||||
.banner-area {
|
||||
position: relative;
|
||||
color: #ffffff;
|
||||
padding-bottom: 48rpx;
|
||||
}
|
||||
.banner-orange {
|
||||
background: linear-gradient(135deg, #f97316 0%, #f59e0b 100%);
|
||||
}
|
||||
.banner-nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 88rpx;
|
||||
padding: 0 32rpx;
|
||||
}
|
||||
.nav-back { padding: 8rpx; }
|
||||
.nav-title {
|
||||
font-size: var(--font-base, 32rpx);
|
||||
font-weight: 500;
|
||||
}
|
||||
.nav-placeholder { width: 48rpx; }
|
||||
|
||||
.customer-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 32rpx;
|
||||
padding: 16rpx 40rpx 0;
|
||||
}
|
||||
.avatar-box {
|
||||
width: 128rpx;
|
||||
height: 128rpx;
|
||||
border-radius: 32rpx;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
.avatar-text {
|
||||
font-size: 48rpx;
|
||||
font-weight: 700;
|
||||
color: #ffffff;
|
||||
}
|
||||
.info-right { flex: 1; }
|
||||
.name-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16rpx;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
.customer-name {
|
||||
font-size: var(--font-xl, 40rpx);
|
||||
font-weight: 600;
|
||||
}
|
||||
.task-type-tag {
|
||||
font-size: var(--font-xs, 24rpx);
|
||||
padding: 4rpx 16rpx;
|
||||
background: rgba(255, 255, 255, 0.25);
|
||||
border-radius: 100rpx;
|
||||
}
|
||||
.sub-info {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 32rpx;
|
||||
}
|
||||
.phone {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
.absent-info {
|
||||
font-size: var(--font-xs, 24rpx);
|
||||
color: rgba(255, 255, 255, 0.9);
|
||||
}
|
||||
|
||||
/* 主体 */
|
||||
.main-content {
|
||||
padding: 32rpx;
|
||||
padding-bottom: 200rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 32rpx;
|
||||
}
|
||||
|
||||
/* 卡片 */
|
||||
.card {
|
||||
background: #ffffff;
|
||||
border-radius: var(--radius-xl, 32rpx);
|
||||
padding: 40rpx;
|
||||
box-shadow: var(--shadow-lg, 0 8rpx 32rpx rgba(0,0,0,0.06));
|
||||
}
|
||||
.card-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
.section-title {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
font-weight: 600;
|
||||
color: var(--color-gray-13, #242424);
|
||||
}
|
||||
.title-green { border-left: 6rpx solid #00a870; padding-left: 16rpx; }
|
||||
.title-blue { border-left: 6rpx solid #0052d9; padding-left: 16rpx; }
|
||||
.title-orange { border-left: 6rpx solid #ed7b2f; padding-left: 16rpx; margin-bottom: 32rpx; }
|
||||
|
||||
.ai-badge {
|
||||
font-size: 22rpx;
|
||||
color: var(--color-primary, #0052d9);
|
||||
background: var(--color-primary-light, #ecf2fe);
|
||||
padding: 4rpx 16rpx;
|
||||
border-radius: 100rpx;
|
||||
}
|
||||
|
||||
/* 维客线索 */
|
||||
.clue-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 20rpx;
|
||||
}
|
||||
.clue-item {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 24rpx;
|
||||
padding: 24rpx;
|
||||
background: var(--color-gray-1, #f3f3f3);
|
||||
border-radius: var(--radius-lg, 24rpx);
|
||||
border: 1rpx solid var(--color-gray-3, #e7e7e7);
|
||||
}
|
||||
.clue-item-detail { flex-wrap: wrap; }
|
||||
.clue-tag {
|
||||
flex-shrink: 0;
|
||||
width: 80rpx;
|
||||
height: 80rpx;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 22rpx;
|
||||
font-weight: 500;
|
||||
border-radius: 8rpx;
|
||||
text-align: center;
|
||||
line-height: 1.2;
|
||||
}
|
||||
.clue-tag-primary { background: rgba(0, 82, 217, 0.1); color: #0052d9; }
|
||||
.clue-tag-success { background: rgba(0, 168, 112, 0.1); color: #00a870; }
|
||||
.clue-tag-purple { background: rgba(124, 58, 237, 0.1); color: #7c3aed; }
|
||||
.clue-tag-error { background: rgba(227, 77, 89, 0.1); color: #e34d59; }
|
||||
.clue-body {
|
||||
flex: 1;
|
||||
min-height: 80rpx;
|
||||
position: relative;
|
||||
}
|
||||
.clue-text {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
color: var(--color-gray-13, #242424);
|
||||
line-height: 1.5;
|
||||
}
|
||||
.clue-source {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
font-size: 22rpx;
|
||||
color: var(--color-gray-6, #a6a6a6);
|
||||
background: var(--color-gray-1, #f3f3f3);
|
||||
padding-left: 8rpx;
|
||||
}
|
||||
.clue-detail {
|
||||
width: 100%;
|
||||
font-size: var(--font-xs, 24rpx);
|
||||
color: var(--color-gray-8, #777777);
|
||||
line-height: 1.6;
|
||||
margin-top: 8rpx;
|
||||
padding-left: 104rpx;
|
||||
}
|
||||
|
||||
/* 关系区域 - 琥珀色变体 */
|
||||
.relationship-row {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 16rpx;
|
||||
margin-bottom: 16rpx;
|
||||
}
|
||||
.rel-tag {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8rpx;
|
||||
padding: 8rpx 24rpx;
|
||||
border-radius: 24rpx;
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
font-weight: 600;
|
||||
color: #ffffff;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.rel-tag-amber { background: linear-gradient(135deg, #f59e0b, #eab308); }
|
||||
.rel-bar {
|
||||
flex: 1;
|
||||
height: 12rpx;
|
||||
background: var(--color-gray-1, #f3f3f3);
|
||||
border-radius: 100rpx;
|
||||
overflow: hidden;
|
||||
}
|
||||
.rel-bar-fill {
|
||||
height: 100%;
|
||||
border-radius: 100rpx;
|
||||
}
|
||||
.rel-bar-amber { background: linear-gradient(90deg, #fcd34d, #eab308); }
|
||||
.rel-score {
|
||||
font-size: var(--font-lg, 36rpx);
|
||||
font-weight: 700;
|
||||
}
|
||||
.rel-score-amber { color: #f59e0b; }
|
||||
.card-desc {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
color: var(--color-gray-8, #777777);
|
||||
line-height: 1.6;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
|
||||
/* 近期服务记录 */
|
||||
.svc-section {
|
||||
background: var(--color-gray-1, #f3f3f3);
|
||||
border-radius: var(--radius-lg, 24rpx);
|
||||
padding: 24rpx;
|
||||
margin-top: 8rpx;
|
||||
}
|
||||
.svc-title {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
font-weight: 600;
|
||||
color: var(--color-gray-13, #242424);
|
||||
margin-bottom: 24rpx;
|
||||
display: block;
|
||||
}
|
||||
.svc-record {
|
||||
padding: 16rpx 0;
|
||||
border-bottom: 1rpx solid var(--color-gray-3, #e7e7e7);
|
||||
}
|
||||
.svc-record:last-of-type { border-bottom: none; }
|
||||
.svc-row-top, .svc-row-bottom {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.svc-row-top { margin-bottom: 8rpx; }
|
||||
.svc-tags {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 12rpx;
|
||||
}
|
||||
.svc-table {
|
||||
font-size: var(--font-xs, 24rpx);
|
||||
color: var(--color-gray-9, #5e5e5e);
|
||||
background: #ffffff;
|
||||
padding: 4rpx 12rpx;
|
||||
border-radius: 8rpx;
|
||||
}
|
||||
.svc-type {
|
||||
font-size: 22rpx;
|
||||
padding: 2rpx 12rpx;
|
||||
border-radius: 8rpx;
|
||||
color: #ffffff;
|
||||
}
|
||||
.svc-type-basic { background: #0052d9; }
|
||||
.svc-type-incentive { background: #ed7b2f; }
|
||||
.svc-duration {
|
||||
font-size: var(--font-xs, 24rpx);
|
||||
color: var(--color-gray-6, #a6a6a6);
|
||||
}
|
||||
.svc-income {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
font-weight: 600;
|
||||
color: var(--color-gray-13, #242424);
|
||||
}
|
||||
.svc-drinks {
|
||||
font-size: 22rpx;
|
||||
color: var(--color-gray-6, #a6a6a6);
|
||||
}
|
||||
.svc-date {
|
||||
font-size: 22rpx;
|
||||
color: var(--color-gray-6, #a6a6a6);
|
||||
}
|
||||
.svc-more {
|
||||
text-align: center;
|
||||
margin-top: 24rpx;
|
||||
}
|
||||
.svc-more text {
|
||||
font-size: var(--font-xs, 24rpx);
|
||||
color: var(--color-primary, #0052d9);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* 任务建议 - 橙色 */
|
||||
.suggestion-box {
|
||||
border-radius: var(--radius-lg, 24rpx);
|
||||
padding: 32rpx;
|
||||
border: 1rpx solid;
|
||||
margin-bottom: 32rpx;
|
||||
}
|
||||
.suggestion-orange {
|
||||
background: linear-gradient(135deg, #fff7ed, #fffbeb);
|
||||
border-color: #fed7aa;
|
||||
}
|
||||
.suggestion-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
.suggestion-icon {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
font-weight: 500;
|
||||
color: #ed7b2f;
|
||||
}
|
||||
.suggestion-desc {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
color: var(--color-gray-9, #5e5e5e);
|
||||
line-height: 1.6;
|
||||
margin-bottom: 16rpx;
|
||||
display: block;
|
||||
}
|
||||
.suggestion-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 12rpx;
|
||||
}
|
||||
.suggestion-item {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
color: var(--color-gray-9, #5e5e5e);
|
||||
line-height: 1.6;
|
||||
}
|
||||
|
||||
/* 话术参考(竖线样式) */
|
||||
.talking-section {
|
||||
background: var(--color-gray-1, #f3f3f3);
|
||||
border-radius: var(--radius-lg, 24rpx);
|
||||
padding: 32rpx;
|
||||
border: 1rpx solid var(--color-gray-3, #e7e7e7);
|
||||
}
|
||||
.talking-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
.talking-title {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
font-weight: 500;
|
||||
color: var(--color-gray-13, #242424);
|
||||
}
|
||||
.talking-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 24rpx;
|
||||
}
|
||||
.talking-item {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
color: var(--color-gray-9, #5e5e5e);
|
||||
line-height: 1.6;
|
||||
padding-left: 24rpx;
|
||||
border-left: 4rpx solid rgba(0, 82, 217, 0.3);
|
||||
}
|
||||
|
||||
/* 备注 */
|
||||
.note-count {
|
||||
font-size: var(--font-xs, 24rpx);
|
||||
color: var(--color-gray-6, #a6a6a6);
|
||||
}
|
||||
.note-item {
|
||||
padding: 28rpx;
|
||||
background: var(--color-gray-1, #f3f3f3);
|
||||
border-radius: var(--radius-lg, 24rpx);
|
||||
border: 1rpx solid var(--color-gray-3, #e7e7e7);
|
||||
margin-bottom: 24rpx;
|
||||
}
|
||||
.note-top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
margin-bottom: 12rpx;
|
||||
}
|
||||
.note-date {
|
||||
font-size: var(--font-xs, 24rpx);
|
||||
color: var(--color-gray-6, #a6a6a6);
|
||||
}
|
||||
.note-content {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
color: var(--color-gray-9, #5e5e5e);
|
||||
line-height: 1.6;
|
||||
}
|
||||
.note-empty {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
padding: 48rpx 0;
|
||||
gap: 16rpx;
|
||||
}
|
||||
.empty-hint {
|
||||
font-size: var(--font-sm, 28rpx);
|
||||
color: var(--color-gray-5, #c5c5c5);
|
||||
}
|
||||
|
||||
/* 底部操作栏 */
|
||||
.bottom-bar {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 128rpx;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
backdrop-filter: blur(20px);
|
||||
border-top: 1rpx solid var(--color-gray-2, #eeeeee);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 24rpx;
|
||||
padding: 0 32rpx;
|
||||
z-index: 100;
|
||||
}
|
||||
.btn-ask {
|
||||
flex: 1;
|
||||
height: 88rpx;
|
||||
color: #ffffff;
|
||||
font-weight: 500;
|
||||
border-radius: var(--radius-lg, 24rpx);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 12rpx;
|
||||
font-size: var(--font-base, 32rpx);
|
||||
}
|
||||
.btn-ask-orange {
|
||||
background: linear-gradient(135deg, #f97316, #f59e0b);
|
||||
box-shadow: 0 8rpx 24rpx rgba(249, 115, 22, 0.3);
|
||||
}
|
||||
.btn-note {
|
||||
flex: 1;
|
||||
height: 88rpx;
|
||||
background: var(--color-gray-1, #f3f3f3);
|
||||
color: var(--color-gray-13, #242424);
|
||||
font-weight: 500;
|
||||
border-radius: var(--radius-lg, 24rpx);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 12rpx;
|
||||
font-size: var(--font-base, 32rpx);
|
||||
}
|
||||
Reference in New Issue
Block a user