Add aftersales work order frontend pages
- Public scan-to-confirm page (/aftersales/:sn) with phone last-4 verification - Admin list + detail pages with state machine, QR generation, reassign, force-close - PublicLayout extracted from PublicQuery so both pages share logo + 备案 chrome - PublicQuery auto-redirects scanned zjbf-sh-* serials to the aftersales page - AdminLayout: new 售后工单 menu entry Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
.aftersales-confirm-card {
|
||||
max-width: 560px;
|
||||
}
|
||||
|
||||
.aftersales-title {
|
||||
font-size: clamp(1.4rem, 4vw, 1.75rem);
|
||||
font-weight: bold;
|
||||
color: #165DFF;
|
||||
text-align: center;
|
||||
margin: 12px 0 4px;
|
||||
}
|
||||
|
||||
.aftersales-serial {
|
||||
text-align: center;
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
||||
color: #4B5563;
|
||||
margin: 0 0 16px;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
|
||||
.aftersales-details .detail-item-block {
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.aftersales-details .value-block {
|
||||
white-space: pre-wrap;
|
||||
word-break: break-word;
|
||||
text-align: left;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.aftersales-phone-verify {
|
||||
margin-top: 24px;
|
||||
padding-top: 24px;
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.06);
|
||||
}
|
||||
|
||||
.aftersales-phone-tip {
|
||||
color: #4B5563;
|
||||
margin: 0 0 12px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.aftersales-actions {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.aftersales-actions > button {
|
||||
flex: 1;
|
||||
}
|
||||
Reference in New Issue
Block a user