Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
cb88f18166
|
|||
|
31df505735
|
@@ -155,7 +155,7 @@ function AftersalesPage() {
|
||||
render: (type: AftersalesServiceType) => SERVICE_TYPE_LABEL[type] || type,
|
||||
},
|
||||
{
|
||||
title: '负责技术员',
|
||||
title: '处理人',
|
||||
key: 'technician',
|
||||
width: 120,
|
||||
render: (_: any, record: AftersalesOrder) => record.technician?.name || '-',
|
||||
|
||||
@@ -175,7 +175,7 @@ function AftersalesConfirmPage() {
|
||||
<Card className="query-card aftersales-confirm-card" bordered={false}>
|
||||
<div className="query-header">
|
||||
<PublicLogo />
|
||||
<h1 className="aftersales-title">售后工单确认</h1>
|
||||
<h1 className="aftersales-title">售后服务确认</h1>
|
||||
<p className="aftersales-serial">{order.serialNumber}</p>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -57,12 +57,6 @@ const WORK_ORDER_STATUS_COLOR: Record<AftersalesWorkOrderStatus, string> = {
|
||||
rejected: 'warning',
|
||||
};
|
||||
|
||||
const AUTHORIZATION_STATUS_LABEL = {
|
||||
pending: '待确认',
|
||||
authorized: '已授权',
|
||||
unauthorized: '未授权',
|
||||
} as const;
|
||||
|
||||
function statusStepIndex(status: AftersalesWorkOrderStatus): number {
|
||||
switch (status) {
|
||||
case 'created':
|
||||
@@ -75,11 +69,6 @@ function statusStepIndex(status: AftersalesWorkOrderStatus): number {
|
||||
}
|
||||
}
|
||||
|
||||
function formatDateTime(value?: string) {
|
||||
if (!value) return '-';
|
||||
return new Date(value).toLocaleString('zh-CN');
|
||||
}
|
||||
|
||||
function getAftersalesPublicUrl(serialNumber: string) {
|
||||
return `${window.location.origin}/aftersales/${serialNumber}`;
|
||||
}
|
||||
@@ -243,11 +232,13 @@ function AftersalesDetailPage() {
|
||||
.electronic-form-brand { justify-self: start; }
|
||||
.electronic-form-logo { height: 34px; object-fit: contain; }
|
||||
.electronic-form-title { justify-self: center; text-align: center; font-size: 20px; font-weight: 700; }
|
||||
.electronic-form-meta { justify-self: end; }
|
||||
.electronic-form-meta { justify-self: end; text-align: center; }
|
||||
.electronic-form-qr { width: 82px; height: 82px; object-fit: contain; }
|
||||
.electronic-form-hotline { margin: 6px 0 0; font-size: 12px; font-weight: 600; white-space: nowrap; }
|
||||
.electronic-form-table { width: 100%; border-collapse: collapse; table-layout: fixed; font-size: 13px; }
|
||||
.electronic-form-table th, .electronic-form-table td { border: 1px solid #1f2937; padding: 9px 10px; vertical-align: top; word-break: break-word; }
|
||||
.electronic-form-table th { width: 120px; background: #f3f4f6; text-align: left; font-weight: 600; }
|
||||
.electronic-form-section { background: #e5e7eb; font-weight: 700; text-align: center; }
|
||||
.electronic-form-table td { min-height: 24px; }
|
||||
.electronic-form-table .electronic-form-code { color: #165dff; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 16px; font-weight: 700; }
|
||||
.electronic-form-text { min-height: 72px; white-space: pre-wrap; }
|
||||
@@ -388,7 +379,7 @@ function AftersalesDetailPage() {
|
||||
|
||||
<Descriptions column={2} size="small" bordered style={{ marginBottom: 24 }}>
|
||||
<Descriptions.Item label="客户公司">{order.companyName}</Descriptions.Item>
|
||||
<Descriptions.Item label="负责技术员">
|
||||
<Descriptions.Item label="处理人">
|
||||
{order.technician?.name || '-'}
|
||||
</Descriptions.Item>
|
||||
<Descriptions.Item label="创建人">{order.creator?.name || '-'}</Descriptions.Item>
|
||||
@@ -569,22 +560,27 @@ function AftersalesDetailPage() {
|
||||
className="electronic-form-qr"
|
||||
/>
|
||||
)}
|
||||
<p className="electronic-form-hotline">全国售后服务热线:400-998-5710</p>
|
||||
</div>
|
||||
</div>
|
||||
<table className="electronic-form-table">
|
||||
<tbody>
|
||||
<tr>
|
||||
<th>售后码</th>
|
||||
<td className="electronic-form-code">{order.serialNumber}</td>
|
||||
<th>工单状态</th>
|
||||
<td>{WORK_ORDER_STATUS_LABEL[order.workOrderStatus]}</td>
|
||||
<td colSpan={4} className="electronic-form-section">
|
||||
工单信息
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>授权状态</th>
|
||||
<td>{AUTHORIZATION_STATUS_LABEL[order.authorizationStatus]}</td>
|
||||
<th>售后码</th>
|
||||
<td className="electronic-form-code">{order.serialNumber}</td>
|
||||
<th>服务类型</th>
|
||||
<td>{SERVICE_TYPE_LABEL[order.serviceType]}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colSpan={4} className="electronic-form-section">
|
||||
客户信息
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>客户公司</th>
|
||||
<td>{order.companyName}</td>
|
||||
@@ -598,28 +594,19 @@ function AftersalesDetailPage() {
|
||||
<td>{order.contactPhone}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>负责技术员</th>
|
||||
<td colSpan={4} className="electronic-form-section">
|
||||
处理信息
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>处理人</th>
|
||||
<td>{order.technician?.name || '-'}</td>
|
||||
<th>创建人</th>
|
||||
<td>{order.creator?.name || '-'}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>创建时间</th>
|
||||
<td>{formatDateTime(order.createdAt)}</td>
|
||||
<th>更新时间</th>
|
||||
<td>{formatDateTime(order.updatedAt)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>客户扫码时间</th>
|
||||
<td>{formatDateTime(order.scannedAt)}</td>
|
||||
<th>客户确认时间</th>
|
||||
<td>{formatDateTime(order.confirmedAt)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>退回次数</th>
|
||||
<td>{order.rejectCount}</td>
|
||||
<th>表单生成时间</th>
|
||||
<td>{formatDateTime(new Date().toISOString())}</td>
|
||||
<th>工单状态</th>
|
||||
<td colSpan={3}>{WORK_ORDER_STATUS_LABEL[order.workOrderStatus]}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>问题描述反馈</th>
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
|
||||
.electronic-form-meta {
|
||||
justify-self: end;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.electronic-form-qr {
|
||||
@@ -36,6 +37,13 @@
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.electronic-form-hotline {
|
||||
margin: 6px 0 0;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.electronic-form-table {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
@@ -58,6 +66,12 @@
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.electronic-form-section {
|
||||
background: #e5e7eb;
|
||||
font-weight: 700;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.electronic-form-code {
|
||||
color: #165dff;
|
||||
font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
|
||||
|
||||
Reference in New Issue
Block a user