修复退款审核详情关联与空值展示
This commit is contained in:
@@ -101,6 +101,40 @@ assertIncludes(
|
||||
"wallet_apply_cash: {",
|
||||
'提现详情必须声明专属字段顺序与审核姓名快照隐藏规则',
|
||||
);
|
||||
|
||||
// 退款审核的原订单和用户必须使用接口返回的可读名称,不依赖列表临时加载关系。
|
||||
const refundDefinition = resources.match(
|
||||
/define\('payment_refund',[\s\S]*?\n\s*\], 'list',/,
|
||||
)?.[0];
|
||||
if (!refundDefinition) throw new Error('无法读取退款审核资源定义');
|
||||
for (const contract of [
|
||||
"listDisplayKey: 'business_display_name'",
|
||||
"detailDisplayKey: 'business_display_name'",
|
||||
"listDisplayKey: 'user_display_name'",
|
||||
"detailDisplayKey: 'user_display_name'",
|
||||
"f('refund_product_summary', { emptyText: '退款商品信息缺失' })",
|
||||
"f('description', { emptyText: '无说明' })",
|
||||
"f('review_remark', { emptyText: '无审核说明' })",
|
||||
"detailDisplayKey: 'reviewer_display_name'",
|
||||
"relation('payment_order_identity', '/payment_order'",
|
||||
"relation('wallet_basic_identity', '/wallet_basic'",
|
||||
"relationOptionDisplay: 'wallet-owner'",
|
||||
'listDisplayIdentityCopy: true',
|
||||
]) {
|
||||
if (!refundDefinition.includes(contract)) {
|
||||
throw new Error(`退款审核缺少可读关系展示契约:${contract}`);
|
||||
}
|
||||
}
|
||||
assertIncludes(
|
||||
detailContract,
|
||||
"payment_refund: {",
|
||||
'退款详情必须声明专属字段顺序和审核人展示名称隐藏规则',
|
||||
);
|
||||
assertIncludes(
|
||||
detailContract,
|
||||
"hiddenKeys: ['reviewer_display_name']",
|
||||
'退款详情不得重复展示审核人名称辅助字段',
|
||||
);
|
||||
assertIncludes(
|
||||
detailContract,
|
||||
"hiddenKeys: ['reviewer_name']",
|
||||
|
||||
@@ -146,6 +146,16 @@ const contracts: Record<string, ResourceDetailContract> = {
|
||||
// 审核姓名作为审核人关系的可读快照使用,不再重复渲染独立字段。
|
||||
hiddenKeys: ['reviewer_name'],
|
||||
},
|
||||
payment_refund: {
|
||||
leadingKeys: [
|
||||
'refund_no', 'refund_status', 'business_type', 'business_identity',
|
||||
'user_identity', 'refund_product_summary', 'amount', 'reason',
|
||||
'description', 'reviewer_identity', 'review_remark', 'reviewed_at',
|
||||
'completed_at', 'payment_order_identity', 'wallet_basic_identity', 'identity',
|
||||
],
|
||||
// 审核人可读名称仅作为标识字段主文案,不重复显示为独立详情项。
|
||||
hiddenKeys: ['reviewer_display_name'],
|
||||
},
|
||||
ec_order: {
|
||||
leadingKeys: [
|
||||
'order_no', 'order_status', 'request_no', 'user_account_identity',
|
||||
|
||||
@@ -178,6 +178,7 @@ const fieldLabels: Record<string, string> = {
|
||||
previous_order_status: '异常前订单状态',
|
||||
payment_status: '支付状态',
|
||||
refund_status: '退款状态',
|
||||
refund_product_summary: '退款商品',
|
||||
apply_status: '提现状态',
|
||||
ticket_status: '工单状态',
|
||||
reconciliation_status: '对账状态',
|
||||
@@ -774,11 +775,15 @@ export const resources: ResourceUiDefinition[] = [
|
||||
f('operator_identity'), f('ymd'), f('ym'), f('remark'),
|
||||
]),
|
||||
define('payment_refund', '退款审核', 'readonly', [
|
||||
f('refund_no'), f('business_type'), f('business_identity', { type: 'identity', label: '业务对象', listRelationNameOnly: true, displayRelationLabel: true, showIdentityCopy: true, dynamicRelation: {
|
||||
f('refund_no'), f('business_type'), f('business_identity', { type: 'identity', label: '业务对象', listDisplayKey: 'business_display_name', detailDisplayKey: 'business_display_name', listDisplayIdentityCopy: true, displayRelationLabel: true, showIdentityCopy: true, dynamicRelation: {
|
||||
parentKey: 'business_type', parentLabel: '业务类型', resources: { gasorder: '/gasorder_basic', ec_order: '/ec_order' },
|
||||
} }), relation('user_identity', '/user_account'),
|
||||
f('amount'), f('reason'), f('description'), f('refund_status'),
|
||||
relation('reviewer_identity', '/platform_account'), f('review_remark'), f('reviewed_at'), f('completed_at'),
|
||||
} }), relation('user_identity', '/user_account', false, { label: '用户', listDisplayKey: 'user_display_name', detailDisplayKey: 'user_display_name', listDisplayIdentityCopy: true, displayRelationLabel: true, showIdentityCopy: true }),
|
||||
f('refund_product_summary', { emptyText: '退款商品信息缺失' }),
|
||||
f('amount'), f('reason'), f('description', { emptyText: '无说明' }), f('refund_status'),
|
||||
relation('reviewer_identity', '/platform_account', false, { label: '审核人', listDisplayKey: 'reviewer_display_name', detailDisplayKey: 'reviewer_display_name', listDisplayIdentityCopy: true, displayRelationLabel: true, showIdentityCopy: true }),
|
||||
f('review_remark', { emptyText: '无审核说明' }), f('reviewed_at'), f('completed_at'),
|
||||
relation('payment_order_identity', '/payment_order', false, { label: '支付记录', displayRelationLabel: true, showIdentityCopy: true }),
|
||||
relation('wallet_basic_identity', '/wallet_basic', false, { label: '钱包', relationOptionDisplay: 'wallet-owner', displayRelationLabel: true, showIdentityCopy: true }),
|
||||
], 'list', [
|
||||
{ name: '审核通过并退入钱包', resource: '/payment_refund/:identity/approve', fields: [f('remark')], visibleFor: { field: 'refund_status', values: [10] } },
|
||||
{ name: '驳回退款', resource: '/payment_refund/:identity/reject', danger: true, fields: [f('remark', { required: true })], visibleFor: { field: 'refund_status', values: [10] } },
|
||||
|
||||
Reference in New Issue
Block a user