add:新增同一个工单同一人可以多次拼单
This commit is contained in:
@@ -23,6 +23,11 @@ const notificationEventRows: NotificationEventRow[] = [
|
||||
{ key: 'recharge_requested', name: '充值申请', description: '打手提交新的充值申请' },
|
||||
{ key: 'acceptance_submitted', name: '提交验收', description: '打手提交订单验收资料' },
|
||||
{ key: 'acceptance_reminded', name: '催验收', description: '打手在验收后催促处理' },
|
||||
{
|
||||
key: 'order_accepted',
|
||||
name: '整单验收完成',
|
||||
description: '全部份额验收完成(含拼单统一验收)',
|
||||
},
|
||||
{ key: 'material_required', name: '待补资料工单', description: '新工单等待后台补充资料' },
|
||||
{
|
||||
key: 'cancel_requested',
|
||||
|
||||
@@ -114,6 +114,7 @@ import {
|
||||
asRecord,
|
||||
formatMoney,
|
||||
formatSharingShareStatus,
|
||||
formatSharingShareCancelledReason,
|
||||
formatStatus,
|
||||
resolveGiftPhaseColor,
|
||||
resolveSharingShareStatusColor,
|
||||
@@ -3145,6 +3146,7 @@ export default function WorkOrdersPanel() {
|
||||
dataSource={sharingShares}
|
||||
loading={sharingQuery.isFetching}
|
||||
pagination={false}
|
||||
scroll={{ x: 1280 }}
|
||||
columns={[
|
||||
{
|
||||
title: '打手',
|
||||
@@ -3159,11 +3161,38 @@ export default function WorkOrdersPanel() {
|
||||
{
|
||||
title: '状态',
|
||||
render: (_, share) => (
|
||||
<Tag color={resolveSharingShareStatusColor(share.status)}>
|
||||
{formatSharingShareStatus(share.status)}
|
||||
</Tag>
|
||||
<Space size={4} wrap>
|
||||
<Tag color={resolveSharingShareStatusColor(share.status)}>
|
||||
{formatSharingShareStatus(share.status)}
|
||||
</Tag>
|
||||
{share.status === 'cancelled' && share.cancelledReason ? (
|
||||
<Tag>{formatSharingShareCancelledReason(share.cancelledReason)}</Tag>
|
||||
) : null}
|
||||
</Space>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: '参与时间',
|
||||
render: (_, share) =>
|
||||
share.createdAt ? formatAdminDateTime(share.createdAt) : '-',
|
||||
},
|
||||
{
|
||||
title: '截止时间',
|
||||
render: (_, share) =>
|
||||
share.deadlineAt ? (
|
||||
<span>
|
||||
{formatAdminDateTime(share.deadlineAt)}
|
||||
{share.timeoutMinutes ? ` · ${share.timeoutMinutes} 分钟` : null}
|
||||
</span>
|
||||
) : (
|
||||
<Typography.Text type="secondary">不限时</Typography.Text>
|
||||
),
|
||||
},
|
||||
{
|
||||
title: '超时策略',
|
||||
render: (_, share) =>
|
||||
share.timeoutPolicy ? formatTimeoutPolicyLabel(share.timeoutPolicy) : '-',
|
||||
},
|
||||
{
|
||||
title: '提交时间',
|
||||
render: (_, share) =>
|
||||
|
||||
@@ -252,6 +252,16 @@ export function formatSharingShareStatus(status: string) {
|
||||
return labels[status] || status
|
||||
}
|
||||
|
||||
/** 撤单原因:份额级独立撤单后,后台需要一眼看出是谁撤的。 */
|
||||
export function formatSharingShareCancelledReason(reason: string) {
|
||||
const labels: Record<string, string> = {
|
||||
timeout: '超时失效',
|
||||
admin: '后台撤单',
|
||||
worker_request: '打手退单',
|
||||
}
|
||||
return labels[reason] || reason
|
||||
}
|
||||
|
||||
export function formatAcceptanceMode(mode: string) {
|
||||
if (mode === 'friend_gift') return '好友赠送'
|
||||
return '标准验收'
|
||||
|
||||
Reference in New Issue
Block a user