- 利润卡片根据正负动态切换红/绿色背景,亏损时显示 ↓ 箭头 - 汇总卡片新增总支出行,销售额与支出对比一目了然 - 报价明细精简为销售价→成本→利润小计,删除冗长公式文字 - 退回按钮背景改为浅粉色,视觉区分更明显 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
208 lines
4.7 KiB
Plaintext
208 lines
4.7 KiB
Plaintext
.page {
|
|
padding-bottom: 140rpx;
|
|
}
|
|
|
|
.detail-page {
|
|
padding: 28rpx;
|
|
padding-bottom: 160rpx;
|
|
display: grid;
|
|
gap: 20rpx;
|
|
}
|
|
|
|
.custom-header {
|
|
padding: 20rpx 4rpx 0;
|
|
}
|
|
|
|
.header-title {
|
|
font-size: 44rpx;
|
|
font-weight: 800;
|
|
color: #0f172a;
|
|
}
|
|
|
|
.overview-card,
|
|
.opinion-card {
|
|
padding: 24rpx;
|
|
}
|
|
|
|
.overview-head {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: flex-start;
|
|
gap: 16rpx;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.overview-left {
|
|
flex: 1;
|
|
min-width: 0;
|
|
}
|
|
|
|
.order-no {
|
|
font-size: 32rpx;
|
|
font-weight: 700;
|
|
color: #0f172a;
|
|
}
|
|
|
|
.order-customer {
|
|
margin-top: 6rpx;
|
|
font-size: 24rpx;
|
|
color: #64748b;
|
|
}
|
|
|
|
.profit-highlight {
|
|
border: 1rpx solid transparent;
|
|
border-radius: 18rpx;
|
|
padding: 24rpx;
|
|
text-align: center;
|
|
margin-bottom: 20rpx;
|
|
}
|
|
|
|
.profit-positive .profit-label,
|
|
.profit-positive .profit-value,
|
|
.profit-positive .profit-rate { color: #059669; }
|
|
.profit-positive {
|
|
background: linear-gradient(135deg, rgba(16, 185, 129, 0.06) 0%, rgba(16, 185, 129, 0.12) 100%);
|
|
border-color: rgba(16, 185, 129, 0.2);
|
|
}
|
|
|
|
.profit-negative .profit-label,
|
|
.profit-negative .profit-value,
|
|
.profit-negative .profit-rate { color: #dc2626; }
|
|
.profit-negative {
|
|
background: linear-gradient(135deg, rgba(220, 38, 38, 0.06) 0%, rgba(220, 38, 38, 0.12) 100%);
|
|
border-color: rgba(220, 38, 38, 0.2);
|
|
}
|
|
|
|
.summary-grid {
|
|
display: grid;
|
|
grid-template-columns: repeat(2, 1fr);
|
|
gap: 14rpx;
|
|
}
|
|
|
|
.summary-item {
|
|
padding: 18rpx;
|
|
border-radius: 14rpx;
|
|
background: #f8fbff;
|
|
border: 1rpx solid #e5eaf1;
|
|
}
|
|
|
|
.summary-label {
|
|
font-size: 22rpx;
|
|
color: #94a3b8;
|
|
font-weight: 600;
|
|
}
|
|
|
|
.summary-value {
|
|
margin-top: 8rpx;
|
|
font-size: 28rpx;
|
|
font-weight: 700;
|
|
color: #0f172a;
|
|
}
|
|
|
|
.remark-row {
|
|
margin-top: 16rpx;
|
|
padding-top: 16rpx;
|
|
border-top: 1rpx solid #e5eaf1;
|
|
font-size: 24rpx;
|
|
}
|
|
|
|
.remark-label {
|
|
color: #94a3b8;
|
|
}
|
|
|
|
.remark-text {
|
|
color: #475569;
|
|
}
|
|
|
|
.total-row {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-top: 14rpx;
|
|
padding: 14rpx 18rpx;
|
|
background: #f1f5f9;
|
|
border-radius: 12rpx;
|
|
font-size: 26rpx;
|
|
}
|
|
.total-label { color: #475569; font-weight: 600; }
|
|
.total-value { font-weight: 700; color: #0f172a; }
|
|
|
|
.section-title {
|
|
font-size: 26rpx;
|
|
color: #64748b;
|
|
font-weight: 600;
|
|
margin-bottom: 12rpx;
|
|
}
|
|
|
|
.textarea {
|
|
min-height: 140rpx;
|
|
}
|
|
|
|
.message {
|
|
color: #047857;
|
|
padding: 20rpx 24rpx;
|
|
}
|
|
|
|
/* Sticky bottom action bar */
|
|
.action-bar {
|
|
position: fixed;
|
|
left: 0;
|
|
right: 0;
|
|
bottom: 0;
|
|
display: flex;
|
|
gap: 16rpx;
|
|
padding: 20rpx 28rpx;
|
|
padding-bottom: calc(20rpx + env(safe-area-inset-bottom));
|
|
background: #ffffff;
|
|
border-top: 1rpx solid #e5eaf1;
|
|
box-shadow: 0 -4rpx 16rpx rgba(0, 0, 0, 0.06);
|
|
z-index: 100;
|
|
}
|
|
|
|
.action-btn {
|
|
flex: 1;
|
|
height: 88rpx;
|
|
line-height: 88rpx;
|
|
font-size: 30rpx;
|
|
border-radius: 18rpx;
|
|
font-weight: 700;
|
|
}
|
|
|
|
.pass-btn {
|
|
background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);
|
|
color: #ffffff;
|
|
}
|
|
|
|
.reject-btn {
|
|
background: #fff1f2;
|
|
color: #be123c;
|
|
border: 2rpx solid #fecdd3;
|
|
}
|
|
|
|
/* 报价明细卡片 */
|
|
.pricing-card { padding: 24rpx; }
|
|
.pricing-item { margin-bottom: 20rpx; padding-bottom: 16rpx; border-bottom: 1rpx solid #e5eaf1; }
|
|
.pricing-item:last-child { border-bottom: none; margin-bottom: 0; padding-bottom: 0; }
|
|
.pricing-item-header { display: flex; align-items: center; gap: 12rpx; margin-bottom: 10rpx; }
|
|
.pricing-product { font-size: 28rpx; font-weight: 700; color: #0f172a; }
|
|
.pricing-type-badge { font-size: 20rpx; background: #eff6ff; color: #1d4ed8; padding: 4rpx 14rpx; border-radius: 999rpx; font-weight: 600; }
|
|
.pricing-dims { font-size: 24rpx; color: #475569; margin-bottom: 10rpx; }
|
|
.pricing-calc { background: #f0f9ff; border-radius: 14rpx; padding: 16rpx; margin: 8rpx 0; }
|
|
.calc-row { display: flex; justify-content: space-between; padding: 6rpx 0; font-size: 24rpx; }
|
|
.calc-row.calc-sub { color: #64748b; font-size: 22rpx; padding-left: 20rpx; }
|
|
.calc-row.calc-total { border-top: 1rpx solid #bfdbfe; padding-top: 10rpx; margin-top: 6rpx; font-weight: 700; }
|
|
.calc-row.calc-total.positive { color: #059669; border-top-color: #a7f3d0; }
|
|
.calc-row.calc-total.negative { color: #dc2626; border-top-color: #fecdd3; }
|
|
.calc-label { color: #374151; }
|
|
.calc-value { font-weight: 600; color: #0f172a; }
|
|
|
|
/* 订单附件 */
|
|
.attachment-card { padding: 24rpx; }
|
|
.attachment-grid { display: flex; flex-wrap: wrap; gap: 16rpx; }
|
|
.attachment-item {
|
|
display: flex; flex-direction: column; align-items: center; gap: 8rpx;
|
|
padding: 10rpx; border: 1rpx solid #e5e7eb; border-radius: 14rpx; background: #f9fafb;
|
|
}
|
|
.attachment-thumb { width: 140rpx; height: 140rpx; border-radius: 10rpx; }
|
|
.attachment-name { font-size: 20rpx; color: #6b7280; max-width: 140rpx; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|