Add completion time to aftersales form
This commit is contained in:
@@ -61,7 +61,7 @@ function AftersalesConfirmPage() {
|
||||
return;
|
||||
}
|
||||
if (!responsibleSignatureData) {
|
||||
message.error('请先完成负责人签名');
|
||||
message.error('请先完成处理人签名');
|
||||
return;
|
||||
}
|
||||
setSubmitting(true);
|
||||
@@ -251,10 +251,10 @@ function AftersalesConfirmPage() {
|
||||
)}
|
||||
{order.responsibleSignature && (
|
||||
<div className="aftersales-signature-archived-item">
|
||||
<p className="aftersales-signature-tip">负责人签名</p>
|
||||
<p className="aftersales-signature-tip">处理人签名</p>
|
||||
<img
|
||||
src={order.responsibleSignature}
|
||||
alt="负责人签名"
|
||||
alt="处理人签名"
|
||||
className="aftersales-signature-archived-img"
|
||||
/>
|
||||
</div>
|
||||
@@ -300,7 +300,7 @@ function AftersalesConfirmPage() {
|
||||
</div>
|
||||
<div className="aftersales-signature-item">
|
||||
<div className="aftersales-signature-header">
|
||||
<p className="aftersales-signature-tip">负责人签名</p>
|
||||
<p className="aftersales-signature-tip">处理人签名</p>
|
||||
{responsibleSignatureData && (
|
||||
<Button
|
||||
size="small"
|
||||
@@ -317,7 +317,7 @@ function AftersalesConfirmPage() {
|
||||
className="aftersales-signature-preview"
|
||||
onClick={() => openSignatureOverlay('responsible')}
|
||||
>
|
||||
<img src={responsibleSignatureData} alt="负责人签名" />
|
||||
<img src={responsibleSignatureData} alt="处理人签名" />
|
||||
<span className="aftersales-signature-preview-hint">点击可重新签名</span>
|
||||
</button>
|
||||
) : (
|
||||
@@ -327,7 +327,7 @@ function AftersalesConfirmPage() {
|
||||
onClick={() => openSignatureOverlay('responsible')}
|
||||
>
|
||||
<EditOutlined />
|
||||
<span>负责人签名</span>
|
||||
<span>处理人签名</span>
|
||||
<small>将进入签名页</small>
|
||||
</button>
|
||||
)}
|
||||
@@ -360,7 +360,7 @@ function AftersalesConfirmPage() {
|
||||
|
||||
<SignatureOverlay
|
||||
open={activeSignatureRole !== null}
|
||||
title={activeSignatureRole === 'responsible' ? '负责人签名' : '客户签名'}
|
||||
title={activeSignatureRole === 'responsible' ? '处理人签名' : '客户签名'}
|
||||
onCancel={() => setActiveSignatureRole(null)}
|
||||
onConfirm={(url) => {
|
||||
if (activeSignatureRole === 'responsible') {
|
||||
|
||||
@@ -69,6 +69,11 @@ 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}`;
|
||||
}
|
||||
@@ -595,7 +600,9 @@ function AftersalesDetailPage() {
|
||||
</tr>
|
||||
<tr>
|
||||
<th>工单状态</th>
|
||||
<td colSpan={3}>{WORK_ORDER_STATUS_LABEL[order.workOrderStatus]}</td>
|
||||
<td>{WORK_ORDER_STATUS_LABEL[order.workOrderStatus]}</td>
|
||||
<th>完成时间</th>
|
||||
<td>{formatDateTime(order.confirmedAt)}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>问题描述反馈</th>
|
||||
@@ -613,12 +620,12 @@ function AftersalesDetailPage() {
|
||||
</table>
|
||||
<div className="electronic-form-signatures">
|
||||
<div className="electronic-form-signature-box">
|
||||
<p className="electronic-form-signature-title">负责人签名:</p>
|
||||
<p className="electronic-form-signature-title">处理人签名:</p>
|
||||
<div className="electronic-form-signature-stage">
|
||||
{order.responsibleSignature ? (
|
||||
<img
|
||||
src={order.responsibleSignature}
|
||||
alt="负责人签名"
|
||||
alt="处理人签名"
|
||||
className="electronic-form-signature-img"
|
||||
/>
|
||||
) : null}
|
||||
|
||||
Reference in New Issue
Block a user