fix(admin): 售后展开面板删除渠道结果并铺满状态面板宽度
展开详情去掉「渠道结果」字段,并清理其已无人读取的 gateway_result / gateway_text 解析。详情字段栅格由 auto-fill 改为按断点固定列数:普通字段 10 项可被 2 / 5 整除,配合整行的「申请说明」,行尾不再留白。状态面板去掉 max-width:720px,改为整行 flex——售后状态下拉与备注横向排布占满左侧,取消/确认贴右端,消除右侧大片空白。
This commit is contained in:
@@ -406,15 +406,22 @@ class PayOrders {
|
|||||||
. '.aksrt-as-detail-row>td{padding:0 0 6px;}'
|
. '.aksrt-as-detail-row>td{padding:0 0 6px;}'
|
||||||
. '.aksrt-as-detail-row[hidden]{display:none;}'
|
. '.aksrt-as-detail-row[hidden]{display:none;}'
|
||||||
. '.aksrt-as-detail{margin:0 12px;padding:14px 18px;border:1px solid #dcdcde;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04);}'
|
. '.aksrt-as-detail{margin:0 12px;padding:14px 18px;border:1px solid #dcdcde;background:#fff;box-shadow:0 1px 1px rgba(0,0,0,.04);}'
|
||||||
. '.aksrt-as-detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 28px;}'
|
. '.aksrt-as-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px;}'
|
||||||
. '.aksrt-as-field .aksrt-as-label{display:block;color:#646970;font-size:12px;margin-bottom:2px;}'
|
. '.aksrt-as-field .aksrt-as-label{display:block;color:#646970;font-size:12px;margin-bottom:2px;}'
|
||||||
. '.aksrt-as-field .aksrt-as-value{display:block;word-break:break-word;}'
|
. '.aksrt-as-field .aksrt-as-value{display:block;word-break:break-word;}'
|
||||||
|
. '.aksrt-as-field{min-width:0;}'
|
||||||
. '.aksrt-as-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;margin:0 4px 4px 0;vertical-align:middle;}'
|
. '.aksrt-as-thumb{width:48px;height:48px;object-fit:cover;border-radius:4px;margin:0 4px 4px 0;vertical-align:middle;}'
|
||||||
. '.aksrt-as-detail .aksrt-as-thumb{width:80px;height:80px;}'
|
. '.aksrt-as-detail .aksrt-as-thumb{width:80px;height:80px;}'
|
||||||
. '.aksrt-as-review{margin-top:12px;padding-top:10px;border-top:1px solid #dcdcde;max-width:720px;}'
|
. '.aksrt-as-review{margin-top:14px;padding-top:12px;border-top:1px solid #dcdcde;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 16px;}'
|
||||||
. '.aksrt-as-review textarea{width:100%;box-sizing:border-box;margin:4px 0 8px;}'
|
. '.aksrt-as-review-head{flex:1 1 100%;}'
|
||||||
. '.aksrt-as-review-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}'
|
. '.aksrt-as-review-main{flex:1 1 460px;min-width:0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;}'
|
||||||
|
. '.aksrt-as-review-main p{margin:0;}'
|
||||||
|
. '.aksrt-status-select{min-width:150px;}'
|
||||||
|
. '.aksrt-as-review textarea{flex:1 1 240px;min-width:0;box-sizing:border-box;margin:0;}'
|
||||||
|
. '.aksrt-as-review-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto;}'
|
||||||
. '.aksrt-as-field--wide{grid-column:1/-1;}'
|
. '.aksrt-as-field--wide{grid-column:1/-1;}'
|
||||||
|
. '@media (min-width:1500px){.aksrt-as-detail-grid{grid-template-columns:repeat(5,minmax(0,1fr));}}'
|
||||||
|
. '@media (max-width:600px){.aksrt-as-detail-grid{grid-template-columns:minmax(0,1fr);}}'
|
||||||
. '</style>';
|
. '</style>';
|
||||||
echo '<table class="widefat striped"><thead><tr><th>ID</th><th>订单号</th><th>用户</th><th>原因</th><th>申请资料</th><th>申请说明</th><th>退款金额</th><th>状态</th><th>操作 / 处理记录</th></tr></thead><tbody>';
|
echo '<table class="widefat striped"><thead><tr><th>ID</th><th>订单号</th><th>用户</th><th>原因</th><th>申请资料</th><th>申请说明</th><th>退款金额</th><th>状态</th><th>操作 / 处理记录</th></tr></thead><tbody>';
|
||||||
if (!$items) echo '<tr><td colspan="9">' . esc_html__('暂无售后申请', 'aksrt') . '</td></tr>';
|
if (!$items) echo '<tr><td colspan="9">' . esc_html__('暂无售后申请', 'aksrt') . '</td></tr>';
|
||||||
@@ -455,11 +462,6 @@ class PayOrders {
|
|||||||
if ($desc_cell === '') $desc_cell = '—';
|
if ($desc_cell === '') $desc_cell = '—';
|
||||||
$status_label = $status_labels[(string) $item['status']] ?? (string) $item['status'];
|
$status_label = $status_labels[(string) $item['status']] ?? (string) $item['status'];
|
||||||
$admin_note = (string) ($item['admin_note'] ?? '');
|
$admin_note = (string) ($item['admin_note'] ?? '');
|
||||||
$gateway_text = '';
|
|
||||||
if (!empty($item['gateway_result'])) {
|
|
||||||
$result_data = json_decode((string) $item['gateway_result'], true);
|
|
||||||
$gateway_text = is_array($result_data) ? implode(' · ', array_filter([(string) ($result_data['status'] ?? ''), (string) ($result_data['message'] ?? ''), !empty($result_data['refund_id']) ? '退款单号 ' . (string) $result_data['refund_id'] : ''])) : (string) $item['gateway_result'];
|
|
||||||
}
|
|
||||||
// 摘要行 + 手风琴详情行:点击「操作」展开整条记录的完整信息与状态面板
|
// 摘要行 + 手风琴详情行:点击「操作」展开整条记录的完整信息与状态面板
|
||||||
echo '<tr class="aksrt-as-row">';
|
echo '<tr class="aksrt-as-row">';
|
||||||
echo '<td>' . esc_html((string) $id) . '<br><small>' . esc_html((string) ($item['created_at'] ?? '')) . '</small></td>';
|
echo '<td>' . esc_html((string) $id) . '<br><small>' . esc_html((string) ($item['created_at'] ?? '')) . '</small></td>';
|
||||||
@@ -483,7 +485,6 @@ class PayOrders {
|
|||||||
__('售后原因', 'aksrt') => $reason_cell,
|
__('售后原因', 'aksrt') => $reason_cell,
|
||||||
__('申请资料', 'aksrt') => $materials_cell,
|
__('申请资料', 'aksrt') => $materials_cell,
|
||||||
__('处理备注', 'aksrt') => $admin_note !== '' ? esc_html($admin_note) : '—',
|
__('处理备注', 'aksrt') => $admin_note !== '' ? esc_html($admin_note) : '—',
|
||||||
__('渠道结果', 'aksrt') => $gateway_text !== '' ? '<code>' . esc_html($gateway_text) . '</code>' : '—',
|
|
||||||
__('审核时间', 'aksrt') => !empty($item['reviewed_at']) ? esc_html((string) $item['reviewed_at']) : '—',
|
__('审核时间', 'aksrt') => !empty($item['reviewed_at']) ? esc_html((string) $item['reviewed_at']) : '—',
|
||||||
];
|
];
|
||||||
echo '<div class="aksrt-as-detail"><div class="aksrt-as-detail-grid">';
|
echo '<div class="aksrt-as-detail"><div class="aksrt-as-detail-grid">';
|
||||||
@@ -503,9 +504,11 @@ class PayOrders {
|
|||||||
$status_options .= '<option value="' . esc_attr($current_status) . '" selected="selected" disabled>' . esc_html($current_status) . '</option>';
|
$status_options .= '<option value="' . esc_attr($current_status) . '" selected="selected" disabled>' . esc_html($current_status) . '</option>';
|
||||||
}
|
}
|
||||||
echo '<div class="aksrt-as-review">';
|
echo '<div class="aksrt-as-review">';
|
||||||
echo '<p style="margin:0;"><strong>' . esc_html__('售后状态', 'aksrt') . '</strong> <span class="description">' . esc_html__('选择目标状态后点击确认;取消仅收起面板。', 'aksrt') . '</span></p>';
|
echo '<p class="aksrt-as-review-head" style="margin:0;"><strong>' . esc_html__('售后状态', 'aksrt') . '</strong> <span class="description">' . esc_html__('选择目标状态后点击确认;取消仅收起面板。', 'aksrt') . '</span></p>';
|
||||||
echo '<p style="margin:4px 0;"><select class="aksrt-status-select">' . $status_options . '</select></p>';
|
echo '<div class="aksrt-as-review-main">';
|
||||||
|
echo '<p><select class="aksrt-status-select">' . $status_options . '</select></p>';
|
||||||
echo '<textarea class="aksrt-review-note" rows="2" placeholder="' . esc_attr__('填写处理备注(可留空)', 'aksrt') . '"></textarea>';
|
echo '<textarea class="aksrt-review-note" rows="2" placeholder="' . esc_attr__('填写处理备注(可留空)', 'aksrt') . '"></textarea>';
|
||||||
|
echo '</div>';
|
||||||
echo '<div class="aksrt-as-review-actions">';
|
echo '<div class="aksrt-as-review-actions">';
|
||||||
echo '<button type="button" class="button aksrt-after-sale-cancel">' . esc_html__('取消', 'aksrt') . '</button>';
|
echo '<button type="button" class="button aksrt-after-sale-cancel">' . esc_html__('取消', 'aksrt') . '</button>';
|
||||||
echo '<button type="button" class="button button-primary aksrt-after-sale-confirm"'
|
echo '<button type="button" class="button button-primary aksrt-after-sale-confirm"'
|
||||||
|
|||||||
Reference in New Issue
Block a user