Files
Neo-ZQYY/apps/miniprogram/miniprogram/pages/reviewing/reviewing.wxss
Neo 6f8f12314f feat: 累积功能变更 — 聊天集成、租户管理、小程序更新、ETL 增强、迁移脚本
包含多个会话的累积代码变更:
- backend: AI 聊天服务、触发器调度、认证增强、WebSocket、调度器最小间隔
- admin-web: ETL 状态页、任务管理、调度配置、登录优化
- miniprogram: 看板页面、聊天集成、UI 组件、导航更新
- etl: DWS 新任务(finance_area_daily/board_cache)、连接器增强
- tenant-admin: 项目初始化
- db: 19 个迁移脚本(etl_feiqiu 11 + zqyy_app 8)
- packages/shared: 枚举和工具函数更新
- tools: 数据库工具、报表生成、健康检查
- docs: PRD/架构/部署/合约文档更新

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 00:03:48 +08:00

452 lines
9.1 KiB
Plaintext
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.
/* pages/reviewing/reviewing.wxss — 按 H5 原型精确转换 */
/* 一屏页面height + box-sizing 确保 padding 不增加总高度 */
.page {
height: 100vh;
box-sizing: border-box;
display: flex;
flex-direction: column;
background-color: #f8fafc;
position: relative;
}
/* H5: bg-pattern 十字纹背景 — 用 WXML view + repeating-linear-gradient 模拟 */
/* 背景纹理间距不缩放,保持原值 */
.bg-pattern {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-image:
repeating-linear-gradient(0deg, transparent, transparent 58rpx, rgba(0,82,217,0.03) 58rpx, rgba(0,82,217,0.03) 62rpx, transparent 62rpx, transparent 120rpx),
repeating-linear-gradient(90deg, transparent, transparent 58rpx, rgba(0,82,217,0.03) 58rpx, rgba(0,82,217,0.03) 62rpx, transparent 62rpx, transparent 120rpx);
z-index: 0;
pointer-events: none;
}
/* ---- 顶部渐变装饰 ---- */
.top-gradient {
position: absolute;
top: 0;
left: 0;
right: 0;
height: 448rpx;
z-index: 0;
}
/* H5: from-warning/10 = rgba(237,123,47,0.10) */
.top-gradient--pending {
background: linear-gradient(to bottom, rgba(237, 123, 47, 0.10), transparent);
}
.top-gradient--rejected {
background: linear-gradient(to bottom, rgba(227, 77, 89, 0.1), transparent);
}
/* ---- 主体内容 ---- */
.content {
flex: 1;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
padding: 0 56rpx;
position: relative;
z-index: 1;
box-sizing: border-box;
}
.content--loading {
justify-content: flex-start;
padding-top: 350rpx;
}
/* ---- 加载中 ---- */
.loading-box {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
/* ---- 图标区域 ---- */
.icon-area {
position: relative;
margin-bottom: 56rpx;
}
/* H5: w-32 h-32 bg-warning/20 rounded-full blur-xl — 小程序不支持 filter:blur用更大尺寸 + radial-gradient 模拟 */
.icon-glow {
position: absolute;
width: 280rpx;
height: 280rpx;
border-radius: 50%;
top: -42rpx;
left: -42rpx;
}
.icon-glow--pending {
background: radial-gradient(circle, rgba(237, 123, 47, 0.18) 0%, rgba(237, 123, 47, 0.06) 50%, transparent 75%);
}
.icon-glow--rejected {
background: radial-gradient(circle, rgba(227, 77, 89, 0.18) 0%, rgba(227, 77, 89, 0.06) 50%, transparent 75%);
}
/* H5: w-28 h-28 = 112px = 224rpx, rounded-3xl = 48rpx */
.icon-box {
position: relative;
width: 196rpx;
height: 196rpx;
border-radius: 42rpx;
display: flex;
align-items: center;
justify-content: center;
}
/* H5: bg-gradient-to-br from-amber-400 to-orange-500, shadow-xl shadow-warning/30 */
.icon-box--pending {
background: linear-gradient(135deg, #f59e0b, #f97316);
box-shadow: 0 14rpx 42rpx rgba(237, 123, 47, 0.3);
}
.icon-box--rejected {
background: linear-gradient(135deg, #f87171, #e34d59);
box-shadow: 0 14rpx 42rpx rgba(227, 77, 89, 0.3);
}
/* 主图标图片 — H5: w-14 h-14 = 56px = 112rpx */
.icon-main-img {
width: 98rpx;
height: 98rpx;
}
.icon-dot {
position: absolute;
border-radius: 50%;
}
/* dot-1: bg-warning = #ed7b2f; dot-2: bg-amber-300 = #fcd34d */
.icon-dot--pending.dot-1 { background: #ed7b2f; }
.icon-dot--pending.dot-2 { background: #fcd34d; }
.icon-dot--rejected { background: #e34d59; }
/* H5: -top-2 -right-2 w-4 h-4 = 32rpx */
.dot-1 {
width: 28rpx;
height: 28rpx;
top: -14rpx;
right: -14rpx;
}
/* H5: -bottom-1 -left-3 w-3 h-3 = 24rpx, opacity 0.7, animation-delay 0.5s */
.dot-2 {
width: 22rpx;
height: 22rpx;
bottom: -8rpx;
left: -22rpx;
opacity: 0.7;
animation-delay: 0.5s;
}
/* ---- 标题区域 ---- */
/* H5: text-center mb-8 = 64rpx */
.title-area {
text-align: center;
margin-bottom: 56rpx;
}
/* H5: text-2xl = 48rpx, font-bold = 700, text-gray-10 = #4b4b4b, mb-3 = 24rpx */
.main-title {
display: block;
font-size: 42rpx;
font-weight: 700;
color: #4b4b4b;
margin-bottom: 22rpx;
}
/* H5: text-sm = 28rpx, text-gray-7 = #8b8b8b, leading-relaxed = 1.625, max-w-xs ≈ 640rpx */
.sub-title {
display: block;
font-size: 24rpx;
color: #8b8b8b;
line-height: 1.625;
max-width: 560rpx;
margin: 0 auto;
}
/* ---- 进度提示卡片 ---- */
/* H5: w-full max-w-sm bg-white rounded-2xl p-5 shadow-lg shadow-gray-200/50 mb-6 */
.progress-card {
width: 100%;
max-width: 482rpx;
background: #ffffff;
border-radius: 28rpx;
padding: 36rpx;
margin-bottom: 42rpx;
box-shadow: 0 8rpx 28rpx rgba(0, 0, 0, 0.06);
}
/* H5: flex items-center gap-4 = 32rpx mb-4 = 32rpx */
.progress-header {
display: flex;
flex-direction: row;
align-items: center;
gap: 28rpx;
margin-bottom: 28rpx;
}
/* H5: w-10 h-10 = 80rpx, bg-warning/10, rounded-xl = 24rpx */
.progress-icon-box {
width: 70rpx;
height: 70rpx;
min-width: 70rpx;
background: rgba(237, 123, 47, 0.1);
border-radius: 22rpx;
display: flex;
align-items: center;
justify-content: center;
}
.progress-header-text {
display: flex;
flex-direction: column;
}
/* H5: text-sm = 28rpx, font-medium = 500, text-gray-13 = #242424 */
.progress-title {
font-size: 24rpx;
font-weight: 500;
color: #242424;
margin-bottom: 4rpx;
}
/* H5: text-xs = 24rpx, text-gray-6 = #a6a6a6 */
.progress-desc {
font-size: 22rpx;
color: #a6a6a6;
}
/* ---- 进度步骤 ---- */
/* H5: flex items-center gap-3 = 24rpx */
.progress-steps {
display: flex;
flex-direction: row;
align-items: center;
gap: 22rpx;
}
.step-group {
display: flex;
flex-direction: row;
align-items: center;
gap: 14rpx;
flex-shrink: 0;
}
/* H5: w-6 h-6 = 48rpx */
.step-dot {
width: 42rpx;
height: 42rpx;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.step-dot--done { background: #00a870; }
.step-dot--active { background: rgba(237, 123, 47, 0.2); }
.step-dot--pending { background: #f3f3f3; }
/* H5: w-2 h-2 = 16rpx */
.step-dot-inner {
width: 14rpx;
height: 14rpx;
background: #ed7b2f;
border-radius: 50%;
}
/* H5: text-xs = 24rpx */
.step-label {
font-size: 22rpx;
color: #c5c5c5;
white-space: nowrap;
}
.step-label--done { color: #5e5e5e; }
.step-label--active { color: #a6a6a6; }
.step-label--pending { color: #c5c5c5; }
/* H5: flex-1 h-0.5 = 4rpx, bg-gray-200 = #eeeeee, gap-3 = 24rpx 两侧 */
.step-line {
flex: 1;
height: 4rpx;
background: #eeeeee;
border-radius: 2rpx;
overflow: hidden;
}
/* H5: w-1/2 bg-warning */
.step-line-fill {
width: 50%;
height: 100%;
background: #ed7b2f;
border-radius: 2rpx;
}
/* ---- 提交信息区域(进度卡片内) ---- */
.submit-info {
margin-top: 28rpx;
padding-top: 24rpx;
border-top: 2rpx solid #f5f5f5;
}
.submit-info-row {
display: flex;
justify-content: space-between;
align-items: center;
padding: 10rpx 0;
}
.submit-info-label {
font-size: 22rpx;
color: #a6a6a6;
flex-shrink: 0;
}
.submit-info-value {
font-size: 22rpx;
color: #5e5e5e;
font-weight: 500;
text-align: right;
}
.submit-info-value--time {
font-size: 20rpx;
color: #a6a6a6;
font-weight: 400;
}
/* ---- 拒绝原因卡片 ---- */
.reject-card {
width: 100%;
background: #fff5f5;
border: 2rpx solid rgba(227, 77, 89, 0.15);
border-radius: 28rpx;
padding: 28rpx;
margin-bottom: 22rpx;
}
.reject-header {
display: flex;
align-items: center;
gap: 10rpx;
margin-bottom: 14rpx;
}
.reject-title {
font-size: 24rpx;
font-weight: 500;
color: #e34d59;
}
.reject-reason {
font-size: 22rpx;
color: #5e5e5e;
line-height: 1.625;
}
/* ---- 联系提示 ---- */
/* H5: flex items-center gap-2 text-gray-6 mb-8 */
.contact-hint {
display: flex;
align-items: center;
gap: 14rpx;
margin-bottom: 56rpx;
}
/* H5: text-xs = 24rpx */
.contact-text {
font-size: 22rpx;
color: #a6a6a6;
}
/* ---- 底部按钮区域 ---- */
/* H5: px-8 = 64rpx, pb-12 = 96rpx */
.bottom-area {
padding: 0 56rpx 84rpx;
position: relative;
z-index: 1;
}
/* 双按钮横排布局 */
.btn-row {
display: flex;
flex-direction: row;
gap: 20rpx;
}
/* 原生按钮替代 TDesign — H5: w-full py-3.5=56rpx bg-white border border-gray-200 rounded-xl */
.switch-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 10rpx;
flex: 1;
padding: 24rpx 0;
background: #ffffff;
border: 2rpx solid #eeeeee;
border-radius: 22rpx;
box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.03);
}
.switch-btn-text {
font-size: 22rpx;
font-weight: 500;
color: #5e5e5e;
}
/* 重新申请按钮(主色调) */
.reapply-btn {
display: flex;
align-items: center;
justify-content: center;
gap: 10rpx;
flex: 1;
padding: 24rpx 0;
background: linear-gradient(135deg, #f59e0b, #f97316);
border-radius: 22rpx;
box-shadow: 0 4rpx 14rpx rgba(237, 123, 47, 0.25);
}
.reapply-btn--disabled {
opacity: 0.6;
}
.reapply-btn-text {
font-size: 22rpx;
font-weight: 500;
color: #ffffff;
}
/* ---- 动画 ---- */
@keyframes float {
0%, 100% { transform: translateY(0); }
50% { transform: translateY(-18rpx); }
}
.float-animation {
animation: float 3s ease-in-out infinite;
}
@keyframes pulse-soft {
0%, 100% { opacity: 0.6; }
50% { opacity: 1; }
}
.pulse-soft {
animation: pulse-soft 2s ease-in-out infinite;
}