feat(inventory): 重構庫存盤點流程與優化操作日誌
1. 重構盤點流程:實作自動狀態轉換(盤點中/盤點完成)、整合按鈕為「儲存盤點結果」、更名 UI 狀態標籤。 2. 優化操作日誌: - 實作全域 ID 轉名稱邏輯(倉庫、使用者)。 - 合併單次操作的日誌記錄,避免重複產生。 - 修復日誌產生過程中的 Collection 修改錯誤。 3. 修正 TypeScript lint 錯誤(Index, Show 頁面)。
This commit is contained in:
39
resources/js/Components/ActivityLog/ActivityLog.tsx
Normal file
39
resources/js/Components/ActivityLog/ActivityLog.tsx
Normal file
@@ -0,0 +1,39 @@
|
||||
import { useState } from 'react';
|
||||
import LogTable, { Activity } from './LogTable';
|
||||
import ActivityDetailDialog from './ActivityDetailDialog';
|
||||
import { History } from 'lucide-react';
|
||||
|
||||
interface Props {
|
||||
activities: Activity[];
|
||||
className?: string;
|
||||
}
|
||||
|
||||
export default function ActivityLog({ activities, className = '' }: Props) {
|
||||
const [selectedActivity, setSelectedActivity] = useState<Activity | null>(null);
|
||||
const [isDetailOpen, setIsDetailOpen] = useState(false);
|
||||
|
||||
const handleViewDetail = (activity: Activity) => {
|
||||
setSelectedActivity(activity);
|
||||
setIsDetailOpen(true);
|
||||
};
|
||||
|
||||
return (
|
||||
<div className={`space-y-4 ${className}`}>
|
||||
<div className="flex items-center gap-2">
|
||||
<History className="h-5 w-5 text-gray-500" />
|
||||
<h3 className="text-lg font-semibold text-gray-900">操作紀錄</h3>
|
||||
</div>
|
||||
|
||||
<LogTable
|
||||
activities={activities}
|
||||
onViewDetail={handleViewDetail}
|
||||
/>
|
||||
|
||||
<ActivityDetailDialog
|
||||
open={isDetailOpen}
|
||||
onOpenChange={setIsDetailOpen}
|
||||
activity={selectedActivity}
|
||||
/>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
Reference in New Issue
Block a user