Refine aftersales form labels and signature

This commit is contained in:
Frudrax Cheng
2026-06-02 10:29:45 +08:00
parent cb88f18166
commit d216a25364
5 changed files with 61 additions and 37 deletions
+8 -8
View File
@@ -137,12 +137,12 @@ function AftersalesPage() {
),
},
{
title: '客户公司',
title: '公司名称',
dataIndex: 'companyName',
key: 'companyName',
},
{
title: '联系人',
title: '企业联系人',
dataIndex: 'contactName',
key: 'contactName',
width: 100,
@@ -236,7 +236,7 @@ function AftersalesPage() {
>
<Space style={{ marginBottom: 16, flexWrap: 'wrap' }}>
<Input.Search
placeholder="搜索工单号/公司/联系人"
placeholder="搜索工单号/公司/企业联系人"
allowClear
style={{ width: 260 }}
onSearch={(v) => {
@@ -325,8 +325,8 @@ function AftersalesPage() {
<Form form={createForm} layout="vertical" onFinish={handleCreate}>
<Form.Item
name="companyName"
label="客户公司"
rules={[{ required: true, message: '请输入客户公司' }]}
label="公司名称"
rules={[{ required: true, message: '请输入公司名称' }]}
>
<Input placeholder="例如:浙江北凡科技" />
</Form.Item>
@@ -339,10 +339,10 @@ function AftersalesPage() {
</Form.Item>
<Form.Item
name="contactName"
label="联系人"
rules={[{ required: true, message: '请输入联系人' }]}
label="企业联系人"
rules={[{ required: true, message: '请输入企业联系人' }]}
>
<Input placeholder="联系人姓名" />
<Input placeholder="企业联系人姓名" />
</Form.Item>
<Form.Item
name="contactPhone"
+1 -1
View File
@@ -191,7 +191,7 @@ function AftersalesConfirmPage() {
<span className="value">{order.companyAddress}</span>
</div>
<div className="detail-item">
<span className="label"></span>
<span className="label"></span>
<span className="value">{order.contactName}</span>
</div>
<div className="detail-item">
+24 -21
View File
@@ -238,10 +238,14 @@ function AftersalesDetailPage() {
.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; }
.electronic-form-signature { display: flex; justify-content: flex-end; margin-top: 18px; }
.electronic-form-signature-box { width: 240px; text-align: center; }
.electronic-form-signature-title { margin: 0 0 8px; font-weight: 600; }
.electronic-form-signature-img { max-width: 220px; max-height: 90px; object-fit: contain; }
.electronic-form-signature-line { height: 64px; border-bottom: 1px solid #1f2937; }
</style>
</head>
<body>${formNode.outerHTML}</body>
@@ -378,7 +382,7 @@ function AftersalesDetailPage() {
<Divider />
<Descriptions column={2} size="small" bordered style={{ marginBottom: 24 }}>
<Descriptions.Item label="客户公司">{order.companyName}</Descriptions.Item>
<Descriptions.Item label="公司名称">{order.companyName}</Descriptions.Item>
<Descriptions.Item label="处理人">
{order.technician?.name || '-'}
</Descriptions.Item>
@@ -430,8 +434,8 @@ function AftersalesDetailPage() {
<Space style={{ display: 'flex' }} size={16}>
<Form.Item
name="contactName"
label="联系人"
rules={[{ required: true, message: '请输入联系人' }]}
label="企业联系人"
rules={[{ required: true, message: '请输入企业联系人' }]}
style={{ flex: 1 }}
>
<Input />
@@ -565,11 +569,6 @@ function AftersalesDetailPage() {
</div>
<table className="electronic-form-table">
<tbody>
<tr>
<td colSpan={4} className="electronic-form-section">
</td>
</tr>
<tr>
<th></th>
<td className="electronic-form-code">{order.serialNumber}</td>
@@ -577,27 +576,17 @@ function AftersalesDetailPage() {
<td>{SERVICE_TYPE_LABEL[order.serviceType]}</td>
</tr>
<tr>
<td colSpan={4} className="electronic-form-section">
</td>
</tr>
<tr>
<th></th>
<th></th>
<td>{order.companyName}</td>
<th></th>
<td>{order.companyAddress}</td>
</tr>
<tr>
<th></th>
<th></th>
<td>{order.contactName}</td>
<th></th>
<td>{order.contactPhone}</td>
</tr>
<tr>
<td colSpan={4} className="electronic-form-section">
</td>
</tr>
<tr>
<th></th>
<td>{order.technician?.name || '-'}</td>
@@ -622,6 +611,20 @@ function AftersalesDetailPage() {
</tr>
</tbody>
</table>
<div className="electronic-form-signature">
<div className="electronic-form-signature-box">
<p className="electronic-form-signature-title"></p>
{order.signature ? (
<img
src={order.signature}
alt="客户签名"
className="electronic-form-signature-img"
/>
) : (
<div className="electronic-form-signature-line" />
)}
</div>
</div>
</div>
</Modal>
+1 -1
View File
@@ -215,7 +215,7 @@ function DashboardPage() {
</a>
),
},
{ title: '客户公司', dataIndex: 'companyName', key: 'companyName' },
{ title: '公司名称', dataIndex: 'companyName', key: 'companyName' },
{
title: '服务类型',
dataIndex: 'serviceType',
+27 -6
View File
@@ -66,12 +66,6 @@
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;
@@ -84,6 +78,33 @@
white-space: pre-wrap;
}
.electronic-form-signature {
display: flex;
justify-content: flex-end;
margin-top: 18px;
}
.electronic-form-signature-box {
width: 240px;
text-align: center;
}
.electronic-form-signature-title {
margin: 0 0 8px;
font-weight: 600;
}
.electronic-form-signature-img {
max-width: 220px;
max-height: 90px;
object-fit: contain;
}
.electronic-form-signature-line {
height: 64px;
border-bottom: 1px solid #1f2937;
}
@media (max-width: 720px) {
.electronic-form-header {
align-items: flex-start;