[FEAT] 實作角色權限分類、租戶角控管理與介面多語系優化

1. [FEAT] 權限劃分為「系統層級」與「客戶層級」,並在後端強制過濾跨權限分配。
2. [FEAT] 整合選單權限至主選單層級 (基本設定、權限設定),簡化角色管理 UI。
3. [STYLE] 側邊欄優化:補齊多語系翻譯,並為基本設定子選單增加視覺圖示。
4. [REFACTOR] 更新 RoleSeeder,將 tenant-admin 重新分類為客戶層級角色。
This commit is contained in:
2026-03-17 16:53:28 +08:00
parent 3ce88ed342
commit fc79148879
38 changed files with 2398 additions and 303 deletions

View File

@@ -140,13 +140,15 @@
"Clear Stock": "庫存清空",
"APK Versions": "APK版本",
"Discord Notifications": "Discord通知",
"Basic Settings": "基本設定",
"Machine Settings": "機台設定",
"Permission Settings": "權限設定",
"APP Features": "APP功能",
"Sales": "銷售管理",
"Others": "其他功能",
"AI Prediction": "AI智能預測",
"Roles": "角色設定",
"Role Management": "角色管理",
"Roles": "角色權限",
"Role Management": "角色權限管理",
"Define and manage security roles and permissions.": "定義並管理系統安全角色與權限。",
"Search roles...": "搜尋角色...",
"No permissions": "無權限項目",
@@ -162,6 +164,11 @@
"Permissions": "權限",
"Users": "帳號數",
"System role name cannot be modified.": "內建系統角色的名稱無法修改。",
"The Super Admin role name cannot be modified.": "超級管理員角色的名稱無法修改。",
"System Level": "系統層級",
"Company Level": "客戶層級",
"Global roles accessible by all administrators.": "適用於所有管理者的全域角色。",
"Roles scoped to specific customer companies.": "適用於各個客戶單位的特定角色。",
"members": "會員管理",
"machines": "機台管理",
"app": "APP 管理",
@@ -176,8 +183,9 @@
"special-permission": "特殊權限",
"companies": "客戶管理",
"accounts": "帳號管理",
"roles": "角色設定",
"Role Settings": "角色設定",
"roles": "角色權限",
"Role Permissions": "角色權限",
"Role Settings": "角色權限",
"No login history yet": "尚無登入紀錄",
"Signed in as": "登入身份",
"Logout": "登出",
@@ -273,5 +281,78 @@
"Unknown": "未知",
"Info": "一般",
"Warning": "警告",
"Error": "錯誤"
"Error": "錯誤",
"Management of operational parameters": "機台運作參數管理",
"Add Machine": "新增機台",
"Search machines...": "搜尋機台...",
"Items": "項",
"Machine Name": "機台名稱",
"Serial No": "機台序號",
"Owner": "所屬客戶",
"Model": "機台型號",
"Action": "操作",
"No location set": "尚未設定位置",
"Edit Settings": "編輯設定",
"Enter machine name": "請輸入機台名稱",
"Enter serial number": "請輸入機台序號",
"Select Owner": "請選擇所屬客戶",
"Select Model": "請選擇機台型號",
"Customer Payment Config": "客戶金流設定",
"Not Used": "不使用",
"Edit Machine Settings": "編輯機台設定",
"Operational Parameters": "運作參數",
"Card Reader Seconds": "刷卡機秒數",
"Payment Buffer Seconds": "金流緩衝時間(s)",
"Checkout Time 1": "卡機結帳時間1",
"Checkout Time 2": "卡機結帳時間2",
"Heating Start Time": "開啟-加熱時間",
"Heating End Time": "關閉-加熱時間",
"Hardware & Slots": "硬體與貨道設定",
"Card Reader No": "刷卡機編號",
"Key No": "鑰匙編號",
"Slot Mechanism (default: Conveyor, check for Spring)": "貨道類型 (預設履帶,勾選為彈簧)",
"Payment & Invoice": "金流與發票",
"Invoice Status": "發票狀態碼",
"No Invoice": "不開發票",
"Default Donate": "開發票預設捐",
"Default Not Donate": "開發票預設不捐",
"Member & External": "會員與外部系統",
"Welcome Gift": "來店禮開關",
"Enabled/Disabled": "啟用/禁用",
"Member System": "會員系統",
"Payment Configuration": "客戶金流設定",
"Merchant payment gateway settings management": "特約商店支付網關參數管理",
"Create Config": "建立配置",
"Config Name": "配置名稱",
"Last Updated": "最後更新日期",
"Are you sure you want to delete this configuration?": "您確定要刪除此金流配置嗎?",
"Create Payment Config": "建立金流配置",
"Define new third-party payment parameters": "定義新的第三方支付介接參數",
"Save Config": "儲存配置",
"Configuration Name": "金流組合名稱",
"Belongs To Company": "所屬客戶公司",
"ECPay Invoice": "綠界發票",
"Store ID": "特約商店代號 (MerchantID)",
"HashKey": "HashKey",
"HashIV": "HashIV",
"E.SUN QR Scan": "玉山掃碼",
"StoreID": "商店代號 (StoreID)",
"TermID": "終端代號 (TermID)",
"Key": "金鑰 (Key)",
"LINE Pay Direct": "Line官方支付",
"ChannelId": "ChannelId",
"ChannelSecret": "ChannelSecret",
"TapPay Integration": "TapPay 整合支付",
"PARTNER_KEY": "PARTNER_KEY",
"APP_ID": "APP_ID",
"APP_KEY": "APP_KEY",
"Merchant IDs": "特約商店代號 (Merchant IDs)",
"LINE_MERCHANT_ID": "LINE Pay 商店代號",
"JKO_MERCHANT_ID": "街口支付 商店代號",
"PI_MERCHANT_ID": "Pi 拍錢包 商店代號",
"PS_MERCHANT_ID": "全盈+Pay 商店代號",
"EASY_MERCHANT_ID": "悠遊付 商店代號",
"basic-settings": "基本設定",
"permissions": "權限設定",
"Edit Payment Config": "編輯金流配置"
}