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