[STYLE] 系統用語標準化與客戶管理 UI 點選透明度優化 (所屬單位 -> 公司名稱、姓名 -> 名稱)
All checks were successful
star-cloud-deploy-demo / deploy-demo (push) Successful in 59s
All checks were successful
star-cloud-deploy-demo / deploy-demo (push) Successful in 59s
This commit is contained in:
@@ -181,7 +181,7 @@ description: 定義 Star Cloud 管理後台的「極簡奢華風」設計規範
|
|||||||
|
|
||||||
### 搜尋式下拉選單 (Searchable Select) - 【進階推薦】
|
### 搜尋式下拉選單 (Searchable Select) - 【進階推薦】
|
||||||
- **組件**: `<x-searchable-select />`
|
- **組件**: `<x-searchable-select />`
|
||||||
- **適用場景**: 選項大於 10 筆或具備層級關聯的篩選器(如:所屬單位、機台編號)。
|
- **適用場景**: 選項大於 10 筆或具備層級關聯的篩選器(如:公司名稱、機台編號)。
|
||||||
- **奢華特徵**:
|
- **奢華特徵**:
|
||||||
- **動態旋轉箭頭**: 透過 `::after` 偽元素實作,選單展開時箭頭執行 `300ms` 的 180 度旋轉動畫。
|
- **動態旋轉箭頭**: 透過 `::after` 偽元素實作,選單展開時箭頭執行 `300ms` 的 180 度旋轉動畫。
|
||||||
- **即時過濾**: 輸入關鍵字即時隱藏不匹配項。
|
- **即時過濾**: 輸入關鍵字即時隱藏不匹配項。
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ class CompanyController extends Controller
|
|||||||
'contact_name' => 'nullable|string|max:255',
|
'contact_name' => 'nullable|string|max:255',
|
||||||
'contact_phone' => 'nullable|string|max:50',
|
'contact_phone' => 'nullable|string|max:50',
|
||||||
'contact_email' => 'nullable|email|max:255',
|
'contact_email' => 'nullable|email|max:255',
|
||||||
'start_date' => 'nullable|date',
|
'start_date' => 'required|date',
|
||||||
'end_date' => 'nullable|date',
|
'end_date' => 'nullable|date',
|
||||||
'status' => 'required|boolean',
|
'status' => 'required|boolean',
|
||||||
'note' => 'nullable|string',
|
'note' => 'nullable|string',
|
||||||
@@ -141,7 +141,7 @@ class CompanyController extends Controller
|
|||||||
'contact_name' => 'nullable|string|max:255',
|
'contact_name' => 'nullable|string|max:255',
|
||||||
'contact_phone' => 'nullable|string|max:50',
|
'contact_phone' => 'nullable|string|max:50',
|
||||||
'contact_email' => 'nullable|email|max:255',
|
'contact_email' => 'nullable|email|max:255',
|
||||||
'start_date' => 'nullable|date',
|
'start_date' => 'required|date',
|
||||||
'end_date' => 'nullable|date',
|
'end_date' => 'nullable|date',
|
||||||
'status' => 'required|boolean',
|
'status' => 'required|boolean',
|
||||||
'note' => 'nullable|string',
|
'note' => 'nullable|string',
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ class PermissionController extends Controller
|
|||||||
$query->where('name', 'like', "%{$search}%");
|
$query->where('name', 'like', "%{$search}%");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 篩選:所屬單位 (僅限系統管理員)
|
// 篩選:公司名稱 (僅限系統管理員)
|
||||||
if ($user->isSystemAdmin() && request()->filled('company_id')) {
|
if ($user->isSystemAdmin() && request()->filled('company_id')) {
|
||||||
if (request()->company_id === 'system') {
|
if (request()->company_id === 'system') {
|
||||||
$query->where('is_system', true);
|
$query->where('is_system', true);
|
||||||
|
|||||||
19
lang/en.json
19
lang/en.json
@@ -34,13 +34,13 @@
|
|||||||
"Admin display name": "Admin display name",
|
"Admin display name": "Admin display name",
|
||||||
"Administrator": "Administrator",
|
"Administrator": "Administrator",
|
||||||
"Advertisement Management": "Advertisement Management",
|
"Advertisement Management": "Advertisement Management",
|
||||||
"Affiliated Unit": "Affiliated Unit",
|
"Affiliated Unit": "Company Name",
|
||||||
"Affiliation": "Affiliation",
|
"Affiliation": "Company Name",
|
||||||
"Alert Summary": "Alert Summary",
|
"Alert Summary": "Alert Summary",
|
||||||
"Alerts": "中心告警",
|
"Alerts": "中心告警",
|
||||||
"Alerts Pending": "Alerts Pending",
|
"Alerts Pending": "Alerts Pending",
|
||||||
"All": "All",
|
"All": "All",
|
||||||
"All Affiliations": "All Affiliations",
|
"All Affiliations": "All Companies",
|
||||||
"All Categories": "All Categories",
|
"All Categories": "All Categories",
|
||||||
"All Companies": "All Companies",
|
"All Companies": "All Companies",
|
||||||
"All Levels": "All Levels",
|
"All Levels": "All Levels",
|
||||||
@@ -74,8 +74,8 @@
|
|||||||
"Basic Settings": "Basic Settings",
|
"Basic Settings": "Basic Settings",
|
||||||
"Basic Specifications": "Basic Specifications",
|
"Basic Specifications": "Basic Specifications",
|
||||||
"Batch No": "Batch No",
|
"Batch No": "Batch No",
|
||||||
"Belongs To": "Belongs To",
|
"Belongs To": "Company Name",
|
||||||
"Belongs To Company": "Belongs To Company",
|
"Belongs To Company": "Company Name",
|
||||||
"Buyout": "Buyout",
|
"Buyout": "Buyout",
|
||||||
"Cancel": "Cancel",
|
"Cancel": "Cancel",
|
||||||
"Cancel Purchase": "Cancel Purchase",
|
"Cancel Purchase": "Cancel Purchase",
|
||||||
@@ -203,6 +203,7 @@
|
|||||||
"Fleet Avg OEE": "Fleet Avg OEE",
|
"Fleet Avg OEE": "Fleet Avg OEE",
|
||||||
"Fleet Performance": "Fleet Performance",
|
"Fleet Performance": "Fleet Performance",
|
||||||
"From": "From",
|
"From": "From",
|
||||||
|
"From:": "From:",
|
||||||
"Full Access": "Full Access",
|
"Full Access": "Full Access",
|
||||||
"Full Name": "Full Name",
|
"Full Name": "Full Name",
|
||||||
"Games": "Games",
|
"Games": "Games",
|
||||||
@@ -392,6 +393,8 @@
|
|||||||
"Offline": "Offline",
|
"Offline": "Offline",
|
||||||
"Original": "Original",
|
"Original": "Original",
|
||||||
"Original Type": "Original Type",
|
"Original Type": "Original Type",
|
||||||
|
"Original:": "Ori:",
|
||||||
|
"Current:": "Cur:",
|
||||||
"Offline Machines": "Offline Machines",
|
"Offline Machines": "Offline Machines",
|
||||||
"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.",
|
"Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.": "Once your account is deleted, all of its resources and data will be permanently deleted. Before deleting your account, please download any data or information that you wish to retain.",
|
||||||
"Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.",
|
"Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.": "Once your account is deleted, all of its resources and data will be permanently deleted. Please enter your password to confirm you would like to permanently delete your account.",
|
||||||
@@ -408,7 +411,7 @@
|
|||||||
"Orders": "Orders",
|
"Orders": "Orders",
|
||||||
"Other Permissions": "Other Permissions",
|
"Other Permissions": "Other Permissions",
|
||||||
"Others": "Others",
|
"Others": "Others",
|
||||||
"Owner": "Owner",
|
"Owner": "Company Name",
|
||||||
"PARTNER_KEY": "PARTNER_KEY",
|
"PARTNER_KEY": "PARTNER_KEY",
|
||||||
"PI_MERCHANT_ID": "PI_MERCHANT_ID",
|
"PI_MERCHANT_ID": "PI_MERCHANT_ID",
|
||||||
"PS_MERCHANT_ID": "PS_MERCHANT_ID",
|
"PS_MERCHANT_ID": "PS_MERCHANT_ID",
|
||||||
@@ -521,11 +524,11 @@
|
|||||||
"Search serial or machine...": "Search serial or machine...",
|
"Search serial or machine...": "Search serial or machine...",
|
||||||
"Search users...": "Search users...",
|
"Search users...": "Search users...",
|
||||||
"Select All": "全選",
|
"Select All": "全選",
|
||||||
"Select Company": "Select Company",
|
"Select Company": "Select Company Name",
|
||||||
"Select Machine": "選擇機台",
|
"Select Machine": "選擇機台",
|
||||||
"Select Machine to view metrics": "請選擇機台以查看指標",
|
"Select Machine to view metrics": "請選擇機台以查看指標",
|
||||||
"Select Model": "Select Model",
|
"Select Model": "Select Model",
|
||||||
"Select Owner": "Select Owner",
|
"Select Owner": "Select Company Name",
|
||||||
"Select a machine to deep dive": "請選擇機台以開始深度分析",
|
"Select a machine to deep dive": "請選擇機台以開始深度分析",
|
||||||
"Selected": "Selected",
|
"Selected": "Selected",
|
||||||
"Selected Date": "查詢日期",
|
"Selected Date": "查詢日期",
|
||||||
|
|||||||
21
lang/ja.json
21
lang/ja.json
@@ -34,13 +34,13 @@
|
|||||||
"Admin display name": "管理者表示名",
|
"Admin display name": "管理者表示名",
|
||||||
"Administrator": "管理者",
|
"Administrator": "管理者",
|
||||||
"Advertisement Management": "廣告管理",
|
"Advertisement Management": "廣告管理",
|
||||||
"Affiliated Unit": "所属ユニット",
|
"Affiliated Unit": "会社名",
|
||||||
"Affiliation": "所属",
|
"Affiliation": "会社名",
|
||||||
"Alert Summary": "アラート概要",
|
"Alert Summary": "アラート概要",
|
||||||
"Alerts": "中心告警",
|
"Alerts": "中心告警",
|
||||||
"Alerts Pending": "アラート待機中",
|
"Alerts Pending": "アラート待機中",
|
||||||
"All": "すべて",
|
"All": "すべて",
|
||||||
"All Affiliations": "全ての所属",
|
"All Affiliations": "すべての会社",
|
||||||
"All Categories": "すべてのカテゴリ",
|
"All Categories": "すべてのカテゴリ",
|
||||||
"All Companies": "すべての会社",
|
"All Companies": "すべての会社",
|
||||||
"All Levels": "すべてのレベル",
|
"All Levels": "すべてのレベル",
|
||||||
@@ -74,8 +74,8 @@
|
|||||||
"Basic Settings": "基本設定",
|
"Basic Settings": "基本設定",
|
||||||
"Basic Specifications": "基本仕様",
|
"Basic Specifications": "基本仕様",
|
||||||
"Batch No": "批號",
|
"Batch No": "批號",
|
||||||
"Belongs To": "所属",
|
"Belongs To": "会社名",
|
||||||
"Belongs To Company": "所属会社",
|
"Belongs To Company": "会社名",
|
||||||
"Business Type": "業務タイプ",
|
"Business Type": "業務タイプ",
|
||||||
"Buyout": "買取",
|
"Buyout": "買取",
|
||||||
"Cancel": "キャンセル",
|
"Cancel": "キャンセル",
|
||||||
@@ -129,6 +129,7 @@
|
|||||||
"Critical": "致命的",
|
"Critical": "致命的",
|
||||||
"Current Password": "現在のパスワード",
|
"Current Password": "現在のパスワード",
|
||||||
"Current": "現在",
|
"Current": "現在",
|
||||||
|
"Current:": "現:",
|
||||||
"Current Type": "現タイプ",
|
"Current Type": "現タイプ",
|
||||||
"Current Stock": "現在の在庫",
|
"Current Stock": "現在の在庫",
|
||||||
"Customer Info": "顧客情報",
|
"Customer Info": "顧客情報",
|
||||||
@@ -203,6 +204,7 @@
|
|||||||
"Fleet Avg OEE": "フリート平均 OEE",
|
"Fleet Avg OEE": "フリート平均 OEE",
|
||||||
"Fleet Performance": "全機隊效能",
|
"Fleet Performance": "全機隊效能",
|
||||||
"From": "から",
|
"From": "から",
|
||||||
|
"From:": "開始:",
|
||||||
"Full Access": "全機台授權",
|
"Full Access": "全機台授權",
|
||||||
"Full Name": "氏名",
|
"Full Name": "氏名",
|
||||||
"Games": "ゲーム",
|
"Games": "ゲーム",
|
||||||
@@ -382,6 +384,7 @@
|
|||||||
"None": "なし",
|
"None": "なし",
|
||||||
"Original": "最初",
|
"Original": "最初",
|
||||||
"Original Type": "元タイプ",
|
"Original Type": "元タイプ",
|
||||||
|
"Original:": "元:",
|
||||||
"Normal": "正常",
|
"Normal": "正常",
|
||||||
"Not Used": "未使用",
|
"Not Used": "未使用",
|
||||||
"Not Used Description": "不使用第三方支付介接",
|
"Not Used Description": "不使用第三方支付介接",
|
||||||
@@ -409,7 +412,7 @@
|
|||||||
"Orders": "注文",
|
"Orders": "注文",
|
||||||
"Other Permissions": "其他權限",
|
"Other Permissions": "其他權限",
|
||||||
"Others": "その他",
|
"Others": "その他",
|
||||||
"Owner": "所属会社",
|
"Owner": "会社名",
|
||||||
"PARTNER_KEY": "パートナーキー",
|
"PARTNER_KEY": "パートナーキー",
|
||||||
"PI_MERCHANT_ID": "Pi 拍錢包 加盟店ID",
|
"PI_MERCHANT_ID": "Pi 拍錢包 加盟店ID",
|
||||||
"PS_MERCHANT_ID": "全盈+Pay 加盟店ID",
|
"PS_MERCHANT_ID": "全盈+Pay 加盟店ID",
|
||||||
@@ -501,7 +504,7 @@
|
|||||||
"Points Settings": "ポイント設定",
|
"Points Settings": "ポイント設定",
|
||||||
"Points toggle": "ポイント切り替え",
|
"Points toggle": "ポイント切り替え",
|
||||||
"Roles": "ロール権限",
|
"Roles": "ロール権限",
|
||||||
"Roles scoped to specific customer companies.": "適用於各個客戶單位的特定角色。",
|
"Roles scoped to specific customer companies.": "各顧客企業専用のロール。",
|
||||||
"Running Status": "稼働状況",
|
"Running Status": "稼働状況",
|
||||||
"SYSTEM": "システムレベル",
|
"SYSTEM": "システムレベル",
|
||||||
"Sales": "銷售管理",
|
"Sales": "銷售管理",
|
||||||
@@ -526,11 +529,11 @@
|
|||||||
"Search serial or machine...": "シリアルまたはマシンを検索...",
|
"Search serial or machine...": "シリアルまたはマシンを検索...",
|
||||||
"Search users...": "ユーザーを検索...",
|
"Search users...": "ユーザーを検索...",
|
||||||
"Select All": "全選",
|
"Select All": "全選",
|
||||||
"Select Company": "会社を選択",
|
"Select Company": "会社名を選択",
|
||||||
"Select Machine": "選擇機台",
|
"Select Machine": "選擇機台",
|
||||||
"Select Machine to view metrics": "請選擇機台以查看指標",
|
"Select Machine to view metrics": "請選擇機台以查看指標",
|
||||||
"Select Model": "型番を選択",
|
"Select Model": "型番を選択",
|
||||||
"Select Owner": "所属会社を選択",
|
"Select Owner": "会社名を選択",
|
||||||
"Select a machine to deep dive": "請選擇機台以開始深度分析",
|
"Select a machine to deep dive": "請選擇機台以開始深度分析",
|
||||||
"Selected": "已選擇",
|
"Selected": "已選擇",
|
||||||
"Selected Date": "查詢日期",
|
"Selected Date": "查詢日期",
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
"APP_KEY": "APP_KEY",
|
"APP_KEY": "APP_KEY",
|
||||||
"Account": "帳號",
|
"Account": "帳號",
|
||||||
"Account Management": "帳號管理",
|
"Account Management": "帳號管理",
|
||||||
"Account Name": "帳號姓名",
|
"Account Name": "帳號名稱",
|
||||||
"Account Settings": "帳戶設定",
|
"Account Settings": "帳戶設定",
|
||||||
"Account Status": "帳號狀態",
|
"Account Status": "帳號狀態",
|
||||||
"Account created successfully.": "帳號已成功建立。",
|
"Account created successfully.": "帳號已成功建立。",
|
||||||
@@ -28,19 +28,19 @@
|
|||||||
"Add Maintenance Record": "新增維修管理單",
|
"Add Maintenance Record": "新增維修管理單",
|
||||||
"Add Role": "新增角色",
|
"Add Role": "新增角色",
|
||||||
"Admin": "管理員",
|
"Admin": "管理員",
|
||||||
"Admin Name": "管理員姓名",
|
"Admin Name": "名稱",
|
||||||
"Admin Page": "管理頁",
|
"Admin Page": "管理頁",
|
||||||
"Admin Sellable Products": "管理者可賣",
|
"Admin Sellable Products": "管理者可賣",
|
||||||
"Admin display name": "管理員顯示名稱",
|
"Admin display name": "管理員顯示名稱",
|
||||||
"Administrator": "管理員",
|
"Administrator": "管理員",
|
||||||
"Advertisement Management": "廣告管理",
|
"Advertisement Management": "廣告管理",
|
||||||
"Affiliated Unit": "所屬單位",
|
"Affiliated Unit": "公司名稱",
|
||||||
"Affiliation": "所屬單位",
|
"Affiliation": "公司名稱",
|
||||||
"Alert Summary": "告警摘要",
|
"Alert Summary": "告警摘要",
|
||||||
"Alerts": "中心告警",
|
"Alerts": "中心告警",
|
||||||
"Alerts Pending": "待處理告警",
|
"Alerts Pending": "待處理告警",
|
||||||
"All": "全部",
|
"All": "全部",
|
||||||
"All Affiliations": "全部單位",
|
"All Affiliations": "所有公司",
|
||||||
"All Categories": "所有分類",
|
"All Categories": "所有分類",
|
||||||
"All Companies": "所有公司",
|
"All Companies": "所有公司",
|
||||||
"All Levels": "所有層級",
|
"All Levels": "所有層級",
|
||||||
@@ -74,8 +74,8 @@
|
|||||||
"Basic Settings": "基本設定",
|
"Basic Settings": "基本設定",
|
||||||
"Basic Specifications": "基本規格",
|
"Basic Specifications": "基本規格",
|
||||||
"Batch No": "批號",
|
"Batch No": "批號",
|
||||||
"Belongs To": "所屬單位",
|
"Belongs To": "公司名稱",
|
||||||
"Belongs To Company": "所屬單位",
|
"Belongs To Company": "公司名稱",
|
||||||
"Cancel": "取消",
|
"Cancel": "取消",
|
||||||
"Cancel Purchase": "取消購買",
|
"Cancel Purchase": "取消購買",
|
||||||
"Cannot Delete Role": "無法刪除該角色",
|
"Cannot Delete Role": "無法刪除該角色",
|
||||||
@@ -132,6 +132,7 @@
|
|||||||
"Customer created successfully.": "客戶新增成功。",
|
"Customer created successfully.": "客戶新增成功。",
|
||||||
"Customer updated successfully.": "客戶更新成功。",
|
"Customer updated successfully.": "客戶更新成功。",
|
||||||
"Current Type": "當前類型",
|
"Current Type": "當前類型",
|
||||||
|
"Current:": "現:",
|
||||||
"Contract Period": "合約期間",
|
"Contract Period": "合約期間",
|
||||||
"Danger Zone: Delete Account": "危險區域:刪除帳號",
|
"Danger Zone: Delete Account": "危險區域:刪除帳號",
|
||||||
"Dashboard": "儀表板",
|
"Dashboard": "儀表板",
|
||||||
@@ -202,8 +203,9 @@
|
|||||||
"Daily Revenue": "當日營收",
|
"Daily Revenue": "當日營收",
|
||||||
"Fleet Performance": "全機台效能",
|
"Fleet Performance": "全機台效能",
|
||||||
"From": "從",
|
"From": "從",
|
||||||
|
"From:": "起:",
|
||||||
"Full Access": "全機台授權",
|
"Full Access": "全機台授權",
|
||||||
"Full Name": "全名",
|
"Full Name": "名稱",
|
||||||
"Games": "互動遊戲",
|
"Games": "互動遊戲",
|
||||||
"General permissions not linked to a specific menu.": "未連結到特定選單的一般權限。",
|
"General permissions not linked to a specific menu.": "未連結到特定選單的一般權限。",
|
||||||
"Gift Definitions": "禮品設定",
|
"Gift Definitions": "禮品設定",
|
||||||
@@ -328,7 +330,7 @@
|
|||||||
"Monitor events and system activity across your vending fleet.": "跨機台連線動態與系統日誌監控。",
|
"Monitor events and system activity across your vending fleet.": "跨機台連線動態與系統日誌監控。",
|
||||||
"Monthly Transactions": "本月交易統計",
|
"Monthly Transactions": "本月交易統計",
|
||||||
"Monthly cumulative revenue overview": "本月累計營收概況",
|
"Monthly cumulative revenue overview": "本月累計營收概況",
|
||||||
"Name": "姓名",
|
"Name": "名稱",
|
||||||
"Never Connected": "從未連線",
|
"Never Connected": "從未連線",
|
||||||
"New Password": "新密碼",
|
"New Password": "新密碼",
|
||||||
"New Password (leave blank to keep current)": "新密碼 (若不修改請留空)",
|
"New Password (leave blank to keep current)": "新密碼 (若不修改請留空)",
|
||||||
@@ -391,7 +393,7 @@
|
|||||||
"Orders": "購買單",
|
"Orders": "購買單",
|
||||||
"Other Permissions": "其他權限",
|
"Other Permissions": "其他權限",
|
||||||
"Others": "其他功能",
|
"Others": "其他功能",
|
||||||
"Owner": "所屬單位",
|
"Owner": "公司名稱",
|
||||||
"PARTNER_KEY": "PARTNER_KEY",
|
"PARTNER_KEY": "PARTNER_KEY",
|
||||||
"PI_MERCHANT_ID": "Pi 拍錢包 商店代號",
|
"PI_MERCHANT_ID": "Pi 拍錢包 商店代號",
|
||||||
"PS_MERCHANT_ID": "全盈+Pay 商店代號",
|
"PS_MERCHANT_ID": "全盈+Pay 商店代號",
|
||||||
@@ -486,7 +488,7 @@
|
|||||||
"Points Settings": "點數設定",
|
"Points Settings": "點數設定",
|
||||||
"Points toggle": "點數開關",
|
"Points toggle": "點數開關",
|
||||||
"Roles": "角色權限",
|
"Roles": "角色權限",
|
||||||
"Roles scoped to specific customer companies.": "適用於各個客戶單位的特定角色。",
|
"Roles scoped to specific customer companies.": "適用於各個客戶公司的特定角色。",
|
||||||
"Running Status": "運行狀態",
|
"Running Status": "運行狀態",
|
||||||
"s": "秒",
|
"s": "秒",
|
||||||
"SYSTEM": "系統層級",
|
"SYSTEM": "系統層級",
|
||||||
@@ -512,11 +514,11 @@
|
|||||||
"Search serial or machine...": "搜尋序號或機台名稱...",
|
"Search serial or machine...": "搜尋序號或機台名稱...",
|
||||||
"Search users...": "搜尋用戶...",
|
"Search users...": "搜尋用戶...",
|
||||||
"Select All": "全選",
|
"Select All": "全選",
|
||||||
"Select Company": "選擇所屬單位",
|
"Select Company": "選擇公司名稱",
|
||||||
"Select Machine": "選擇機台",
|
"Select Machine": "選擇機台",
|
||||||
"Select Machine to view metrics": "請選擇機台以查看指標",
|
"Select Machine to view metrics": "請選擇機台以查看指標",
|
||||||
"Select Model": "選擇型號",
|
"Select Model": "選擇型號",
|
||||||
"Select Owner": "選擇所屬單位",
|
"Select Owner": "選擇公司名稱",
|
||||||
"Select a machine to deep dive": "請選擇機台以開始深度分析",
|
"Select a machine to deep dive": "請選擇機台以開始深度分析",
|
||||||
"Select date to sync data": "選擇日期以同步數據",
|
"Select date to sync data": "選擇日期以同步數據",
|
||||||
"Selected": "已選擇",
|
"Selected": "已選擇",
|
||||||
@@ -582,6 +584,7 @@
|
|||||||
"Timer": "計時器",
|
"Timer": "計時器",
|
||||||
"Timestamp": "時間戳記",
|
"Timestamp": "時間戳記",
|
||||||
"To": "至",
|
"To": "至",
|
||||||
|
"To:": "終:",
|
||||||
"Today Cumulative Sales": "今日累積銷售",
|
"Today Cumulative Sales": "今日累積銷售",
|
||||||
"Today's Transactions": "今日交易額",
|
"Today's Transactions": "今日交易額",
|
||||||
"Total Connected": "總計連線數",
|
"Total Connected": "總計連線數",
|
||||||
@@ -604,7 +607,7 @@
|
|||||||
"Update Customer": "更新客戶",
|
"Update Customer": "更新客戶",
|
||||||
"Update Password": "更改密碼",
|
"Update Password": "更改密碼",
|
||||||
"Update existing role and permissions.": "更新現有角色與權限設定。",
|
"Update existing role and permissions.": "更新現有角色與權限設定。",
|
||||||
"Update your account's profile information and email address.": "更新您的帳號姓名、手機號碼與電子郵件地址。",
|
"Update your account's profile information and email address.": "更新您的帳號名稱、手機號碼與電子郵件地址。",
|
||||||
"Validation Error": "驗證錯誤",
|
"Validation Error": "驗證錯誤",
|
||||||
"Upload New Images": "上傳新照片",
|
"Upload New Images": "上傳新照片",
|
||||||
"Uploading new images will replace all existing images.": "上傳新照片將會取代所有現有照片。",
|
"Uploading new images will replace all existing images.": "上傳新照片將會取代所有現有照片。",
|
||||||
@@ -621,6 +624,7 @@
|
|||||||
"Buyout": "買斷",
|
"Buyout": "買斷",
|
||||||
"Lease": "租賃",
|
"Lease": "租賃",
|
||||||
"Original Type": "原始類型",
|
"Original Type": "原始類型",
|
||||||
|
"Original:": "原:",
|
||||||
"Business Type": "業務類型",
|
"Business Type": "業務類型",
|
||||||
"Start Date": "起始日",
|
"Start Date": "起始日",
|
||||||
"End Date": "截止日",
|
"End Date": "截止日",
|
||||||
|
|||||||
@@ -289,7 +289,6 @@
|
|||||||
.hs-select-menu {
|
.hs-select-menu {
|
||||||
@apply mt-2 max-h-72 p-2 space-y-0.5 z-50 bg-white border border-slate-200 rounded-2xl shadow-2xl overflow-y-auto;
|
@apply mt-2 max-h-72 p-2 space-y-0.5 z-50 bg-white border border-slate-200 rounded-2xl shadow-2xl overflow-y-auto;
|
||||||
@apply dark:bg-slate-900 dark:border-slate-800;
|
@apply dark:bg-slate-900 dark:border-slate-800;
|
||||||
backdrop-filter: blur(12px);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.hs-select-option {
|
.hs-select-option {
|
||||||
|
|||||||
@@ -196,34 +196,28 @@
|
|||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="px-6 py-6 text-center">
|
<td class="px-6 py-6 text-center">
|
||||||
<div class="flex flex-col items-center gap-1">
|
<div class="flex flex-col items-center gap-2">
|
||||||
<div class="flex items-center gap-1.5">
|
<div class="flex items-center gap-2 min-w-[100px] justify-center">
|
||||||
<div class="flex items-center gap-1.5">
|
<span class="text-[10px] font-bold text-slate-400 uppercase tracking-widest w-8 text-right">{{ __('Original:') }}</span>
|
||||||
<span class="text-[11px] font-black text-slate-400 uppercase tracking-tighter">{{ __('Original') }}</span>
|
<span class="px-2 py-0.5 rounded text-xs font-bold {{ $company->original_type === 'buyout' ? 'bg-amber-500/10 text-amber-600' : 'bg-blue-500/10 text-blue-600' }} uppercase tracking-wider">
|
||||||
<span class="px-2.5 py-1 rounded-md text-[11px] font-black {{ $company->original_type === 'buyout' ? 'bg-amber-500/10 text-amber-600' : 'bg-blue-500/10 text-blue-600' }} uppercase tracking-widest">
|
|
||||||
{{ __($company->original_type === 'buyout' ? 'Buyout' : 'Lease') }}
|
{{ __($company->original_type === 'buyout' ? 'Buyout' : 'Lease') }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<div class="text-slate-300 dark:text-slate-700">
|
<div class="flex items-center gap-2 min-w-[100px] justify-center">
|
||||||
<svg class="size-3.5" fill="none" stroke="currentColor" viewBox="0 0 24 24"><path d="M19 9l-7 7-7-7" stroke-width="3.5" stroke-linecap="round" stroke-linejoin="round"/></svg>
|
<span class="text-[10px] font-bold text-slate-400 uppercase tracking-widest w-8 text-right">{{ __('Current:') }}</span>
|
||||||
</div>
|
<span class="px-2 py-0.5 rounded text-xs font-bold {{ $company->current_type === 'buyout' ? 'bg-amber-500/10 text-amber-600 border border-amber-500/20' : 'bg-blue-500/10 text-blue-600 border border-blue-500/20' }} uppercase tracking-wider">
|
||||||
<div class="flex items-center gap-1.5">
|
|
||||||
<span class="text-[11px] font-black text-slate-400 uppercase tracking-tighter">{{ __('Current') }}</span>
|
|
||||||
<span class="px-2.5 py-1 rounded-md text-[11px] font-black {{ $company->current_type === 'buyout' ? 'bg-amber-500/10 text-amber-600 font-bold border border-amber-500/20' : 'bg-blue-500/10 text-blue-600 font-bold border border-blue-500/20' }} uppercase tracking-widest">
|
|
||||||
{{ __($company->current_type === 'buyout' ? 'Buyout' : 'Lease') }}
|
{{ __($company->current_type === 'buyout' ? 'Buyout' : 'Lease') }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="px-6 py-6 text-center">
|
<td class="px-6 py-6 text-center py-6">
|
||||||
@if($company->status)
|
@if($company->status)
|
||||||
<span
|
<span class="inline-flex items-center px-3 py-1 rounded-full text-[11px] font-black bg-emerald-500/10 text-emerald-500 border border-emerald-500/20 tracking-widest uppercase">
|
||||||
class="inline-flex items-center px-3 py-1 rounded-full text-[11px] font-black bg-emerald-500/10 text-emerald-500 border border-emerald-500/20 tracking-widest uppercase">
|
|
||||||
{{ __('Active') }}
|
{{ __('Active') }}
|
||||||
</span>
|
</span>
|
||||||
@else
|
@else
|
||||||
<span
|
<span class="inline-flex items-center px-3 py-1 rounded-full text-[11px] font-black bg-rose-500/10 text-rose-500 border border-rose-500/20 tracking-widest uppercase">
|
||||||
class="inline-flex items-center px-3 py-1 rounded-full text-[11px] font-black bg-rose-500/10 text-rose-500 border border-rose-500/20 tracking-widest uppercase">
|
|
||||||
{{ __('Disabled') }}
|
{{ __('Disabled') }}
|
||||||
</span>
|
</span>
|
||||||
@endif
|
@endif
|
||||||
@@ -241,16 +235,21 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="px-6 py-6 text-center">
|
<td class="px-6 py-6 text-center text-slate-500 dark:text-slate-400">
|
||||||
<div class="flex flex-col items-center gap-0.5">
|
<div class="flex flex-col items-center gap-1.5 font-mono">
|
||||||
<span class="text-[12px] font-bold font-mono text-slate-500 dark:text-slate-400 uppercase tracking-tighter">
|
<div class="flex items-center gap-2 min-w-[130px] justify-center">
|
||||||
|
<span class="text-[10px] font-bold text-slate-400 uppercase tracking-tighter">{{ __('From:') }}</span>
|
||||||
|
<span class="text-[13px] font-bold tracking-tighter text-slate-600 dark:text-slate-300">
|
||||||
{{ $company->start_date ? $company->start_date->format('Y-m-d') : '--' }}
|
{{ $company->start_date ? $company->start_date->format('Y-m-d') : '--' }}
|
||||||
</span>
|
</span>
|
||||||
<div class="h-2 w-px bg-slate-200 dark:bg-slate-700"></div>
|
</div>
|
||||||
<span class="text-[13px] font-black font-display tracking-widest {{ $company->end_date && $company->end_date->isPast() ? 'text-rose-500' : 'text-slate-800 dark:text-slate-200' }}">
|
<div class="flex items-center gap-2 min-w-[130px] justify-center">
|
||||||
|
<span class="text-[10px] font-bold text-slate-400 uppercase tracking-tighter">{{ __('To:') }}</span>
|
||||||
|
<span class="text-[13px] font-bold tracking-tighter {{ $company->end_date && $company->end_date->isPast() ? 'text-rose-500' : 'text-slate-800 dark:text-slate-200' }}">
|
||||||
{{ $company->end_date ? $company->end_date->format('Y-m-d') : __('Permanent') }}
|
{{ $company->end_date ? $company->end_date->format('Y-m-d') : __('Permanent') }}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</td>
|
</td>
|
||||||
<td class="px-6 py-6 text-right">
|
<td class="px-6 py-6 text-right">
|
||||||
<div class="flex items-center justify-end gap-x-2">
|
<div class="flex items-center justify-end gap-x-2">
|
||||||
@@ -381,18 +380,21 @@
|
|||||||
|
|
||||||
<!-- Business Type Selector -->
|
<!-- Business Type Selector -->
|
||||||
<div class="p-4 rounded-2xl bg-slate-50/50 dark:bg-slate-800/50 border border-slate-100 dark:border-slate-700/50 space-y-4">
|
<div class="p-4 rounded-2xl bg-slate-50/50 dark:bg-slate-800/50 border border-slate-100 dark:border-slate-700/50 space-y-4">
|
||||||
<label class="text-[12px] font-black text-slate-500 uppercase tracking-widest pl-1">{{ __('Business Type') }}</label>
|
<label class="text-[11px] font-black text-slate-500 uppercase tracking-widest pl-1">
|
||||||
|
{{ __('Business Type') }}
|
||||||
|
<span class="text-rose-500 ml-0.5">*</span>
|
||||||
|
</label>
|
||||||
|
|
||||||
<!-- 新增模式:顯示切換按鈕 -->
|
<!-- 新增模式:顯示切換按鈕 -->
|
||||||
<div x-show="!editing" class="flex p-1.5 bg-white dark:bg-slate-900 rounded-xl border border-slate-200 dark:border-slate-700 w-fit">
|
<div x-show="!editing" class="flex p-1.5 bg-white dark:bg-slate-900 rounded-xl border border-slate-200 dark:border-slate-700 w-fit">
|
||||||
<button type="button" @click="currentCompany.original_type = 'lease'"
|
<button type="button" @click="currentCompany.original_type = 'lease'"
|
||||||
:class="currentCompany.original_type === 'lease' ? 'bg-blue-500 text-white shadow-lg shadow-blue-500/20' : 'text-slate-400 hover:text-slate-600'"
|
:class="currentCompany.original_type === 'lease' ? 'bg-blue-500 text-white shadow-lg shadow-blue-500/20' : 'text-slate-400 hover:text-slate-600'"
|
||||||
class="px-6 py-2 rounded-lg text-sm font-black uppercase tracking-widest transition-all">
|
class="px-4 py-1.5 rounded-lg text-xs font-bold uppercase tracking-widest transition-all">
|
||||||
{{ __('Lease') }}
|
{{ __('Lease') }}
|
||||||
</button>
|
</button>
|
||||||
<button type="button" @click="currentCompany.original_type = 'buyout'"
|
<button type="button" @click="currentCompany.original_type = 'buyout'"
|
||||||
:class="currentCompany.original_type === 'buyout' ? 'bg-amber-500 text-white shadow-lg shadow-amber-500/20' : 'text-slate-400 hover:text-slate-600'"
|
:class="currentCompany.original_type === 'buyout' ? 'bg-amber-500 text-white shadow-lg shadow-amber-500/20' : 'text-slate-400 hover:text-slate-600'"
|
||||||
class="px-6 py-2 rounded-lg text-sm font-black uppercase tracking-widest transition-all">
|
class="px-4 py-1.5 rounded-lg text-xs font-bold uppercase tracking-widest transition-all">
|
||||||
{{ __('Buyout') }}
|
{{ __('Buyout') }}
|
||||||
</button>
|
</button>
|
||||||
<input type="hidden" name="original_type" :value="currentCompany.original_type">
|
<input type="hidden" name="original_type" :value="currentCompany.original_type">
|
||||||
@@ -401,20 +403,20 @@
|
|||||||
<!-- 編輯模式:顯示原始類型固定值 + 當前類型切換 -->
|
<!-- 編輯模式:顯示原始類型固定值 + 當前類型切換 -->
|
||||||
<div x-show="editing" class="flex flex-col gap-5">
|
<div x-show="editing" class="flex flex-col gap-5">
|
||||||
<div class="flex items-center gap-4">
|
<div class="flex items-center gap-4">
|
||||||
<span class="text-sm font-bold text-slate-400">{{ __('Original Type') }}:</span>
|
<span class="text-[11px] font-black text-slate-400 uppercase tracking-widest">{{ __('Original Type') }}: <span class="text-rose-500 ml-0.5">*</span></span>
|
||||||
<span class="px-4 py-1.5 bg-slate-100 dark:bg-slate-800 rounded-lg text-sm font-black uppercase tracking-widest text-slate-600 dark:text-slate-400" x-text="currentCompany.original_type === 'buyout' ? '{{ __('Buyout') }}' : '{{ __('Lease') }}'"></span>
|
<span class="px-4 py-1.5 bg-slate-100 dark:bg-slate-800 rounded-lg text-xs font-bold uppercase tracking-widest text-slate-600 dark:text-slate-400" x-text="currentCompany.original_type === 'buyout' ? '{{ __('Buyout') }}' : '{{ __('Lease') }}'"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex items-center gap-4">
|
<div class="flex items-center gap-4">
|
||||||
<span class="text-sm font-bold text-slate-400">{{ __('Current Type') }}:</span>
|
<span class="text-[11px] font-black text-slate-400 uppercase tracking-widest">{{ __('Current Type') }}: <span class="text-rose-500 ml-0.5">*</span></span>
|
||||||
<div class="flex p-1.5 bg-white dark:bg-slate-900 rounded-xl border border-slate-200 dark:border-slate-700 w-fit">
|
<div class="flex p-1.5 bg-white dark:bg-slate-900 rounded-xl border border-slate-200 dark:border-slate-700 w-fit">
|
||||||
<button type="button" @click="currentCompany.current_type = 'lease'"
|
<button type="button" @click="currentCompany.current_type = 'lease'"
|
||||||
:class="currentCompany.current_type === 'lease' ? 'bg-blue-500 text-white shadow-lg shadow-blue-500/20' : 'text-slate-400 hover:text-slate-600'"
|
:class="currentCompany.current_type === 'lease' ? 'bg-blue-500 text-white shadow-lg shadow-blue-500/20' : 'text-slate-400 hover:text-slate-600'"
|
||||||
class="px-6 py-2 rounded-lg text-sm font-black uppercase tracking-widest transition-all">
|
class="px-4 py-1.5 rounded-lg text-xs font-bold uppercase tracking-widest transition-all">
|
||||||
{{ __('Lease') }}
|
{{ __('Lease') }}
|
||||||
</button>
|
</button>
|
||||||
<button type="button" @click="currentCompany.current_type = 'buyout'"
|
<button type="button" @click="currentCompany.current_type = 'buyout'"
|
||||||
:class="currentCompany.current_type === 'buyout' ? 'bg-amber-500 text-white shadow-lg shadow-amber-500/20' : 'text-slate-400 hover:text-slate-600'"
|
:class="currentCompany.current_type === 'buyout' ? 'bg-amber-500 text-white shadow-lg shadow-amber-500/20' : 'text-slate-400 hover:text-slate-600'"
|
||||||
class="px-6 py-2 rounded-lg text-sm font-black uppercase tracking-widest transition-all">
|
class="px-4 py-1.5 rounded-lg text-xs font-bold uppercase tracking-widest transition-all">
|
||||||
{{ __('Buyout') }}
|
{{ __('Buyout') }}
|
||||||
</button>
|
</button>
|
||||||
<input type="hidden" name="current_type" :value="currentCompany.current_type">
|
<input type="hidden" name="current_type" :value="currentCompany.current_type">
|
||||||
@@ -426,13 +428,13 @@
|
|||||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
<label class="text-xs font-black text-slate-500 uppercase tracking-widest pl-1">{{
|
<label class="text-xs font-black text-slate-500 uppercase tracking-widest pl-1">{{
|
||||||
__('Company Name') }}</label>
|
__('Company Name') }} <span class="text-rose-500 ml-0.5">*</span></label>
|
||||||
<input type="text" name="name" x-model="currentCompany.name" required
|
<input type="text" name="name" x-model="currentCompany.name" required
|
||||||
class="luxury-input w-full" placeholder="{{ __('e.g. Taiwan Star') }}">
|
class="luxury-input w-full" placeholder="{{ __('e.g. Taiwan Star') }}">
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
<label class="text-xs font-black text-slate-500 uppercase tracking-widest pl-1">{{
|
<label class="text-xs font-black text-slate-500 uppercase tracking-widest pl-1">{{
|
||||||
__('Company Code') }}</label>
|
__('Company Code') }} <span class="text-rose-500 ml-0.5">*</span></label>
|
||||||
<input type="text" name="code" x-model="currentCompany.code" required
|
<input type="text" name="code" x-model="currentCompany.code" required
|
||||||
class="luxury-input w-full" placeholder="{{ __('e.g. TWSTAR') }}">
|
class="luxury-input w-full" placeholder="{{ __('e.g. TWSTAR') }}">
|
||||||
</div>
|
</div>
|
||||||
@@ -448,8 +450,8 @@
|
|||||||
<div class="grid grid-cols-2 gap-3">
|
<div class="grid grid-cols-2 gap-3">
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
<label class="text-xs font-black text-slate-500 uppercase tracking-widest pl-1">{{
|
<label class="text-xs font-black text-slate-500 uppercase tracking-widest pl-1">{{
|
||||||
__('Start Date') }}</label>
|
__('Start Date') }} <span class="text-rose-500 ml-0.5">*</span></label>
|
||||||
<input type="date" name="start_date" x-model="currentCompany.start_date"
|
<input type="date" name="start_date" x-model="currentCompany.start_date" required
|
||||||
class="luxury-input w-full px-2">
|
class="luxury-input w-full px-2">
|
||||||
</div>
|
</div>
|
||||||
<div class="space-y-2">
|
<div class="space-y-2">
|
||||||
@@ -508,7 +510,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Contact Section -->
|
<!-- Contact Section -->
|
||||||
<div class="space-y-6 pt-6 border-t border-slate-100 dark:border-slate-800 relative z-10">
|
<div class="space-y-6 pt-6 border-t border-slate-100 dark:border-slate-800 relative z-20">
|
||||||
<div class="flex items-center gap-3">
|
<div class="flex items-center gap-3">
|
||||||
<div class="h-6 w-1 bg-amber-500 rounded-full"></div>
|
<div class="h-6 w-1 bg-amber-500 rounded-full"></div>
|
||||||
<h4 class="text-xs font-black text-slate-800 dark:text-white uppercase tracking-widest">{{
|
<h4 class="text-xs font-black text-slate-800 dark:text-white uppercase tracking-widest">{{
|
||||||
@@ -535,17 +537,10 @@
|
|||||||
<label class="text-xs font-black text-slate-500 uppercase tracking-widest pl-1">{{
|
<label class="text-xs font-black text-slate-500 uppercase tracking-widest pl-1">{{
|
||||||
__('Status') }}</label>
|
__('Status') }}</label>
|
||||||
<x-searchable-select
|
<x-searchable-select
|
||||||
|
id="company-status"
|
||||||
name="status"
|
name="status"
|
||||||
x-model="currentCompany.status"
|
x-model="currentCompany.status"
|
||||||
:hasSearch="false"
|
:hasSearch="false"
|
||||||
x-init="$watch('currentCompany.status', (value) => {
|
|
||||||
$nextTick(() => {
|
|
||||||
const inst = HSSelect.getInstance($el);
|
|
||||||
if (inst) {
|
|
||||||
inst.setValue(String(value));
|
|
||||||
}
|
|
||||||
});
|
|
||||||
})"
|
|
||||||
>
|
>
|
||||||
<option value="1">{{ __('Active') }}</option>
|
<option value="1">{{ __('Active') }}</option>
|
||||||
<option value="0">{{ __('Disabled') }}</option>
|
<option value="0">{{ __('Disabled') }}</option>
|
||||||
@@ -561,7 +556,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Feature Toggles Section -->
|
<!-- Feature Toggles Section -->
|
||||||
<div class="space-y-6 pt-6 border-t border-slate-100 dark:border-slate-800 relative z-10">
|
<div class="space-y-6 pt-6 border-t border-slate-100 dark:border-slate-800 relative z-[5]">
|
||||||
<div class="flex items-center gap-3">
|
<div class="flex items-center gap-3">
|
||||||
<div class="h-6 w-1 bg-cyan-500 rounded-full"></div>
|
<div class="h-6 w-1 bg-cyan-500 rounded-full"></div>
|
||||||
<h4 class="text-xs font-black text-slate-800 dark:text-white uppercase tracking-widest">{{ __('Feature Settings') }}</h4>
|
<h4 class="text-xs font-black text-slate-800 dark:text-white uppercase tracking-widest">{{ __('Feature Settings') }}</h4>
|
||||||
@@ -684,19 +679,18 @@
|
|||||||
|
|
||||||
<!-- Business Type -->
|
<!-- Business Type -->
|
||||||
<div class="bg-slate-50 dark:bg-slate-800/40 p-5 rounded-2xl border border-slate-100 dark:border-slate-800/80">
|
<div class="bg-slate-50 dark:bg-slate-800/40 p-5 rounded-2xl border border-slate-100 dark:border-slate-800/80">
|
||||||
<span class="text-xs font-bold text-slate-400 uppercase tracking-widest block mb-4">{{ __('Business Type') }}</span>
|
<h4 class="text-[10px] font-black text-indigo-500 uppercase tracking-[0.2em] mb-4">{{ __('Business Type') }}</h4>
|
||||||
<div class="flex items-center gap-4">
|
<div class="space-y-4">
|
||||||
<div class="flex-1">
|
<div class="flex items-center justify-between">
|
||||||
<p class="text-[11px] font-black text-slate-400 uppercase tracking-widest mb-1.5">{{ __('Original') }}</p>
|
<span class="text-[11px] font-bold text-slate-400">{{ __('Original:') }}</span>
|
||||||
<span class="px-2.5 py-1 rounded-lg text-xs font-black uppercase tracking-widest"
|
<span class="px-2.5 py-1 rounded-lg text-[11px] font-bold uppercase tracking-widest"
|
||||||
:class="detailCompany.original_type === 'buyout' ? 'bg-amber-500/10 text-amber-600' : 'bg-blue-500/10 text-blue-600'"
|
:class="detailCompany.original_type === 'buyout' ? 'bg-amber-500/10 text-amber-600' : 'bg-blue-500/10 text-blue-600'"
|
||||||
x-text="detailCompany.original_type === 'buyout' ? '{{ __('Buyout') }}' : '{{ __('Lease') }}'"></span>
|
x-text="detailCompany.original_type === 'buyout' ? '{{ __('Buyout') }}' : '{{ __('Lease') }}'"></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="w-px h-10 bg-slate-200 dark:bg-slate-700"></div>
|
<div class="flex items-center justify-between">
|
||||||
<div class="flex-1 text-right">
|
<span class="text-[11px] font-bold text-slate-400">{{ __('Current:') }}</span>
|
||||||
<p class="text-[11px] font-black text-slate-400 uppercase tracking-widest mb-1.5">{{ __('Current') }}</p>
|
<span class="px-2.5 py-1 rounded-lg text-[11px] font-bold uppercase tracking-widest"
|
||||||
<span class="px-2.5 py-1 rounded-lg text-xs font-black uppercase tracking-widest"
|
:class="detailCompany.current_type === 'buyout' ? 'bg-amber-500/10 text-amber-600 border border-amber-500/20' : 'bg-blue-500/10 text-blue-600 border border-blue-500/20'"
|
||||||
:class="detailCompany.current_type === 'buyout' ? 'bg-amber-500/10 text-amber-600' : 'bg-blue-500/10 text-blue-600'"
|
|
||||||
x-text="detailCompany.current_type === 'buyout' ? '{{ __('Buyout') }}' : '{{ __('Lease') }}'"></span>
|
x-text="detailCompany.current_type === 'buyout' ? '{{ __('Buyout') }}' : '{{ __('Lease') }}'"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -704,11 +698,16 @@
|
|||||||
|
|
||||||
<!-- Contract Period -->
|
<!-- Contract Period -->
|
||||||
<div class="bg-slate-50 dark:bg-slate-800/40 p-5 rounded-2xl border border-slate-100 dark:border-slate-800/80">
|
<div class="bg-slate-50 dark:bg-slate-800/40 p-5 rounded-2xl border border-slate-100 dark:border-slate-800/80">
|
||||||
<span class="text-xs font-bold text-slate-400 uppercase tracking-widest block mb-2">{{ __('Contract Period') }}</span>
|
<h4 class="text-[10px] font-black text-indigo-500 uppercase tracking-[0.2em] mb-4">{{ __('Contract Period') }}</h4>
|
||||||
|
<div class="space-y-3 font-mono">
|
||||||
<div class="flex items-center gap-3">
|
<div class="flex items-center gap-3">
|
||||||
<div class="text-base font-black font-mono text-slate-700 dark:text-slate-200" x-text="detailCompany.start_date || '--'"></div>
|
<span class="text-[10px] font-bold text-slate-400 uppercase tracking-tighter min-w-[32px]">{{ __('From:') }}</span>
|
||||||
<span class="text-slate-300 text-xs">→</span>
|
<div class="text-[13px] font-bold tracking-tighter text-slate-700 dark:text-slate-200" x-text="detailCompany.start_date || '--'"></div>
|
||||||
<div class="text-base font-black font-mono text-slate-700 dark:text-slate-200" x-text="detailCompany.end_date || '{{ __('Permanent') }}'"></div>
|
</div>
|
||||||
|
<div class="flex items-center gap-3">
|
||||||
|
<span class="text-[10px] font-bold text-slate-400 uppercase tracking-tighter min-w-[32px]">{{ __('To:') }}</span>
|
||||||
|
<div class="text-[13px] font-bold tracking-tighter text-slate-800 dark:text-white" :class="detailCompany.end_date_expired ? 'text-rose-500' : ''" x-text="detailCompany.end_date || '{{ __('Permanent') }}'"></div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -21,7 +21,7 @@
|
|||||||
"searchClasses" => "block w-[calc(100%-16px)] mx-2 py-2 px-3 text-sm border-slate-200 dark:border-white/10 rounded-lg focus:border-cyan-500 focus:ring-cyan-500 bg-slate-50 dark:bg-slate-900/50 dark:text-slate-200 placeholder:text-slate-400 dark:placeholder:text-slate-500",
|
"searchClasses" => "block w-[calc(100%-16px)] mx-2 py-2 px-3 text-sm border-slate-200 dark:border-white/10 rounded-lg focus:border-cyan-500 focus:ring-cyan-500 bg-slate-50 dark:bg-slate-900/50 dark:text-slate-200 placeholder:text-slate-400 dark:placeholder:text-slate-500",
|
||||||
"searchWrapperClasses" => "sticky top-0 bg-white/95 dark:bg-slate-900/95 backdrop-blur-md p-2 z-10",
|
"searchWrapperClasses" => "sticky top-0 bg-white/95 dark:bg-slate-900/95 backdrop-blur-md p-2 z-10",
|
||||||
"toggleClasses" => "hs-select-toggle luxury-select-toggle",
|
"toggleClasses" => "hs-select-toggle luxury-select-toggle",
|
||||||
"dropdownClasses" => "hs-select-menu w-full bg-white/95 dark:bg-slate-900/95 backdrop-blur-xl border border-slate-200 dark:border-white/10 rounded-xl shadow-[0_20px_50px_rgba(0,0,0,0.3)] mt-2 z-[100] animate-luxury-in",
|
"dropdownClasses" => "hs-select-menu w-full bg-white dark:bg-slate-900 border border-slate-200 dark:border-white/10 rounded-xl shadow-[0_20px_50px_rgba(0,0,0,0.3)] mt-2 z-[100] animate-luxury-in",
|
||||||
"optionClasses" => "hs-select-option py-2.5 px-3 mb-0.5 text-sm text-slate-800 dark:text-slate-300 cursor-pointer hover:bg-slate-100 dark:hover:bg-cyan-500/10 dark:hover:text-cyan-400 rounded-lg flex items-center justify-between transition-all duration-300",
|
"optionClasses" => "hs-select-option py-2.5 px-3 mb-0.5 text-sm text-slate-800 dark:text-slate-300 cursor-pointer hover:bg-slate-100 dark:hover:bg-cyan-500/10 dark:hover:text-cyan-400 rounded-lg flex items-center justify-between transition-all duration-300",
|
||||||
"optionTemplate" => '<div class="flex items-center justify-between w-full"><span data-title></span><span class="hs-select-active-indicator hidden text-cyan-500"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></span></div>'
|
"optionTemplate" => '<div class="flex items-center justify-between w-full"><span data-title></span><span class="hs-select-active-indicator hidden text-cyan-500"><svg class="w-4 h-4" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><polyline points="20 6 9 17 4 12"></polyline></svg></span></div>'
|
||||||
];
|
];
|
||||||
|
|||||||
Reference in New Issue
Block a user