render_ticket_types_panel(); $this->render_ticket_statuses_panel(); $this->render_ticket_prereplies_panel(); } /** 部门:表格 + 行内编辑 + 新建表单。 */ private function render_ticket_types_panel(): void { $types = \AKSRT\Ticket\TicketTypeService::all(); $edit_id = isset($_GET['type_id']) ? absint($_GET['type_id']) : 0; $editing = null; foreach ($types as $row) { if ((int) $row['id'] === $edit_id) { $editing = $row; break; } } echo '
| ID | ' . esc_html__('名称', 'aksrt') . ' | ' . '' . esc_html__('说明', 'aksrt') . ' | ' . '' . esc_html__('受理管理员', 'aksrt') . ' | |
|---|---|---|---|---|
| %d | %s | %s | %s | ', (int) $row['id'], esc_html((string) $row['name']), esc_html((string) $row['description'] !== '' ? (string) $row['description'] : '—'), esc_html($row['admin_ids'] === [] ? '—' : implode(', ', $row['admin_ids'])) ); $cells .= '' . esc_html__('编辑', 'aksrt') . ' '; $cells .= $this->ticket_delete_button('type_delete', 'type_id', (int) $row['id'], __('删除', 'aksrt')); $cells .= ' |
' . esc_html__('默认状态不可修改或删除;删除非默认状态前需先清空该状态下的工单。', 'aksrt') . '
'; echo '| ID | ' . esc_html__('名称', 'aksrt') . ' | ' . '' . esc_html__('颜色', 'aksrt') . ' | ' . '' . esc_html__('完结', 'aksrt') . ' | ' . '' . esc_html__('默认', 'aksrt') . ' | |
|---|---|---|---|---|---|
| %d | %s | ' . '%s | ' . '%s | %s | ', (int) $row['id'], esc_html((string) $row['name']), esc_attr((string) $row['color']), esc_html((string) $row['color']), esc_html(!empty($row['is_closed']) ? __('是', 'aksrt') : __('否', 'aksrt')), esc_html(!empty($row['is_default']) ? __('是', 'aksrt') : __('否', 'aksrt')) ); if (empty($row['is_default'])) { $status_cells .= '' . esc_html__('编辑', 'aksrt') . ' '; $status_cells .= $this->ticket_delete_button('status_delete', 'status_id', (int) $row['id'], __('删除', 'aksrt')); } else { $status_cells .= '—'; } $status_cells .= ' |
| ID | ' . esc_html__('内容', 'aksrt') . ' | |
|---|---|---|
| ' . esc_html__('暂无预设回复', 'aksrt') . ' | ||
| %d | %s | ', (int) $row['id'], esc_html((string) $row['content']) ); $reply_cells .= '' . esc_html__('编辑', 'aksrt') . ' '; $reply_cells .= $this->ticket_delete_button('prereply_delete', 'prereply_id', (int) $row['id'], __('删除', 'aksrt')); $reply_cells .= ' |