學生請假紀錄

對應程式: holiday_logs.php

04-學生請假紀錄

業務功能

依班別查詢該班所有學員的請假紀錄,包含審核狀態、申請時間、請假時間、請假原因、因請假而未上的課程等資訊。此頁面同時支援 AJAX 回傳(被自身當作 API 使用)和前端 HTML 頁面顯示。

頁面操作

  • 班級關鍵字:文字輸入框,支援自動完成(autocomplete)
  • 查詢:按鈕,AJAX GET 至自身(?kind={kind_id})取得請假紀錄
  • 查詢結果表格
    • 欄位:審核者、審核狀態、學號/姓名、申請時間、請假時間、請假原因、因請假而沒上的課

處理邏輯

  1. 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 回傳
  2. 頁面模式
    • 載入 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