學生請假紀錄
對應程式: holiday_logs.php

業務功能
依班別查詢該班所有學員的請假紀錄,包含審核狀態、申請時間、請假時間、請假原因、因請假而未上的課程等資訊。此頁面同時支援 AJAX 回傳(被自身當作 API 使用)和前端 HTML 頁面顯示。
頁面操作
- 班級關鍵字:文字輸入框,支援自動完成(autocomplete)
- 查詢:按鈕,AJAX GET 至自身(
?kind={kind_id})取得請假紀錄 - 查詢結果表格:
- 欄位:審核者、審核狀態、學號/姓名、申請時間、請假時間、請假原因、因請假而沒上的課
處理邏輯
- AJAX 模式(
is_ajax_request()為 true):- 接收 GET 參數
kind(kind_id) - 以
get_kind_by_kind_id()取得班別資訊,取classprefix作為學號前綴 - SQL 查詢
holiday_logs表:WHERE school_no LIKE "{classprefix}%" ORDER BY school_no - 將結果組成 HTML
<tr>字串,以 JSON 回傳
- 接收 GET 參數
- 頁面模式:
- 載入 hd.php,顯示搜尋介面
- 前端按鈕點擊後 AJAX GET
?kind={kind_id}取回 HTML 片段填入表格 - 若班級關鍵字已有值,頁面載入即自動查詢
備註
- 審核狀態文字由
get_review_result_text()轉換(V=通過、O=通過但不算缺席、X=駁回) - 請假原因和缺課內容以
nl2br()處理換行顯示
使用的 Functions
| Function | 定義於 |
|---|---|
is_ajax_request() | wp-config.php |
ajax_response($code, $data, $msg) | wp-config.php |
get_kind_by_kind_id($kind_id) | enter_logs/inc.php |
get_review_result_text($val) | enter_logs/inc.php |
display_autocomplete_searchkind_input($part, $conf) | dashboard/inc.php |
$wpdb->get_results() | WordPress core |
使用的常數
| Constant | 值 | 定義於 |
|---|---|---|
TBL_HOLIDAY_LOGS | "holiday_logs" | enter_logs/inc.php |
PAGE_ACCESS_CONFIG_VALUE_FOR_ALL_STAFF | "ALL_STAFF" | enter_logs/inc.php |