Skip to content

A-23 Bulk Import Specification

管理員端班級管理設計規格

內容依原始規格呈現 · 查看 Markdown 來源 ↗需具備倉庫查看權限

班級批量導入規格

🎨 Figma: node-722-7676 (A-20/A-21/A-23 共用) 🔗

🎯 功能定位

使用者: Admin / Super Admin

A-23 提供管理員大批量建立「班級」的自動化方案。透過上傳預定義的 CSV 模板,系統能自動校驗行政歸屬(校區與學校)與教學維度(年級與 Level)的合法性,並在 A-20 列表中心批量生成班級條目。

🧱 畫面結構(以彈窗 Modal 形式呈現)

區域說明
HeaderImport Classes, [X] 關閉按鈕
Step 1Download Template: [📥 Download Class CSV Template]
Step 2Upload File: Drag & Drop 區域 或 [Browse Files]
Step 3Validation Preview: 自動校驗結果, Error Log

📦 區塊說明

區塊元件目的行為狀態備註
TemplateDownload Button提供標準格式點擊下載 Class_Template.csvNormal包含 Grade 與 Level 的有效值枚舉
UploadDrag & Drop接收 CSV 檔案拖拽上傳,限制 2MBActive僅接受 .csv 檔案
ValidationResult Box數據合規性預檢系統自動核對 Zone/School/ID 衝突Pre-check錯誤行需修正後方可全量導入
Error LogList View定位錯誤顯示具體行號與邏輯錯誤原因Warning例如:校區與學校不匹配
ActionStart Import執行寫入點擊將驗證通過的班級存入 A-20Disabled若有 Critical Error 則禁用

📥 CSV 模板規格 (Class_Import_Template.csv)

📋 模板表頭與範例

class_id,class_name,zone_name,school_name,category_id,level_code,status

📑 欄位定義

欄位名稱必填說明範例值
class_id系統唯一標識,不可重複C2026-A01
class_name班級顯示名稱Grade 2 - Class A
zone_name所屬校區 (手動輸入)North Zone
school_name所屬學校 (手動輸入)Nihao Primary 01
category_id課程 1 級分類NH
level_code教學難度 LevelLevel 3
status初始狀態,默認 ActiveActive / Inactive

🔁 交互流程圖

流程圖

正在載入流程圖…

⚙️ 狀態管理

狀態觸發條件畫面表現
權限拒絕School Admin 上傳非管轄學校校驗階段報錯 Permission Denied
數據完整性錯誤class_id 已存在Error Log 顯示重複 ID
層級不匹配school_name 不歸屬 zone_nameError Log 顯示關聯錯誤
異步處理導入數量 > 100 筆前端顯示進度條,防止 UI 鎖死
部分成功支援忽略錯誤行導入正確行需管理員勾選確認

🔎 邏輯自我檢查

  1. 層級對應關係: 後端校驗必須確保 school_name 確實歸屬於 zone_name。
  2. A-12 的連動: A-12 用戶導入時使用的 class_ids 必須在此頁面預先建立。
  3. 重複導入處理: 若管理員重複上傳同一個檔案,系統應識別 class_id 已存在並阻止重複寫入。
  4. 字符校驗: class_name 應支援特殊字符(如橫槓、空格),但長度需限制在 50 字元內。

提交版本內容版本 29c89979提交 5ca7557規格文件,功能實現狀態另行確認