feat(order-service): 支持自定义订单状态节点文案
This commit is contained in:
@@ -44,6 +44,7 @@ import {
|
||||
type AdminOrderServiceProfile,
|
||||
type OrderServiceField,
|
||||
type OrderServiceMaterialConfirmation,
|
||||
type OrderServiceStatusSteps,
|
||||
} from '@/services/admin/worker-platform'
|
||||
import { uploadFile } from '@/services/files'
|
||||
import type { UploadedFile } from '@/types/worker-platform'
|
||||
@@ -76,6 +77,7 @@ type OrderServiceFormValues = {
|
||||
screenshots: ScreenshotForm
|
||||
autoPublish: AutoPublishForm
|
||||
materialConfirmation: OrderServiceMaterialConfirmation
|
||||
statusSteps: OrderServiceStatusSteps
|
||||
}
|
||||
|
||||
const DEFAULT_SCREENSHOTS: ScreenshotForm = {
|
||||
@@ -104,6 +106,23 @@ const DEFAULT_MATERIAL_CONFIRMATION: OrderServiceMaterialConfirmation = {
|
||||
|
||||
const DEFAULT_POST_SUBMIT_TEXT = '资料提交后如需修改,请联系客服。'
|
||||
|
||||
const DEFAULT_STATUS_STEPS: OrderServiceStatusSteps = {
|
||||
submitted: { title: '提交资料', description: '' },
|
||||
scheduled: { title: '客服安排', description: '' },
|
||||
processing: { title: '订单处理', description: '' },
|
||||
completed: { title: '交付完成', description: '' },
|
||||
}
|
||||
|
||||
const STATUS_STEP_OPTIONS: Array<{
|
||||
key: keyof OrderServiceStatusSteps
|
||||
label: string
|
||||
}> = [
|
||||
{ key: 'submitted', label: '第 1 步 · 提交资料' },
|
||||
{ key: 'scheduled', label: '第 2 步 · 客服安排' },
|
||||
{ key: 'processing', label: '第 3 步 · 订单处理' },
|
||||
{ key: 'completed', label: '第 4 步 · 交付完成' },
|
||||
]
|
||||
|
||||
type FieldPreset = Omit<OrderServiceField, 'sortOrder'>
|
||||
|
||||
const FIELD_PRESETS: Record<string, FieldPreset> = {
|
||||
@@ -287,6 +306,7 @@ export default function OrderServicePanel() {
|
||||
screenshots: nextProfile?.screenshots || DEFAULT_SCREENSHOTS,
|
||||
autoPublish: nextProfile?.autoPublish || DEFAULT_AUTO_PUBLISH,
|
||||
materialConfirmation: nextProfile?.materialConfirmation || DEFAULT_MATERIAL_CONFIRMATION,
|
||||
statusSteps: nextProfile?.statusSteps || DEFAULT_STATUS_STEPS,
|
||||
})
|
||||
setFields(
|
||||
normalizeFieldOrder(
|
||||
@@ -395,6 +415,7 @@ export default function OrderServicePanel() {
|
||||
screenshots: values.screenshots,
|
||||
autoPublish: values.autoPublish,
|
||||
materialConfirmation: values.materialConfirmation,
|
||||
statusSteps: values.statusSteps,
|
||||
submitText: values.submitText,
|
||||
successText: values.successText,
|
||||
postSubmitText: values.postSubmitText,
|
||||
@@ -687,6 +708,39 @@ export default function OrderServicePanel() {
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="order-service-section">
|
||||
<div className="order-service-section-head">
|
||||
<div>
|
||||
<Text strong>客户状态进度文案</Text>
|
||||
<Text type="secondary">
|
||||
四个节点独立展示;标题保持简短,补充说明可填写引导文案。
|
||||
</Text>
|
||||
</div>
|
||||
</div>
|
||||
<div className="order-service-status-step-grid">
|
||||
{STATUS_STEP_OPTIONS.map((step) => (
|
||||
<div className="order-service-status-step-card" key={step.key}>
|
||||
<Text strong>{step.label}</Text>
|
||||
<Form.Item
|
||||
label="节点标题"
|
||||
name={['statusSteps', step.key, 'title']}
|
||||
rules={[
|
||||
{ required: true, whitespace: true, message: '请填写节点标题' },
|
||||
]}
|
||||
>
|
||||
<Input maxLength={20} />
|
||||
</Form.Item>
|
||||
<Form.Item
|
||||
label="补充说明"
|
||||
name={['statusSteps', step.key, 'description']}
|
||||
>
|
||||
<Input maxLength={80} placeholder="选填,显示在节点标题下方" />
|
||||
</Form.Item>
|
||||
</div>
|
||||
))}
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section className="order-service-section">
|
||||
<div className="order-service-section-head">
|
||||
<div>
|
||||
|
||||
Reference in New Issue
Block a user