diff --git a/resources/js/Components/Product/ProductDialog.tsx b/resources/js/Components/Product/ProductDialog.tsx index 73fdcdb..2dc998f 100644 --- a/resources/js/Components/Product/ProductDialog.tsx +++ b/resources/js/Components/Product/ProductDialog.tsx @@ -176,6 +176,13 @@ export default function ProductDialog({ id="barcode" value={data.barcode} onChange={(e) => setData("barcode", e.target.value)} + onKeyDown={(e) => { + if (e.key === 'Enter') { + e.preventDefault(); + // 掃描後自動跳轉到下一個欄位(品牌) + document.getElementById('brand')?.focus(); + } + }} placeholder="輸入條碼或自動生成" className={`flex-1 ${errors.barcode ? "border-red-500" : ""}`} /> diff --git a/resources/js/Pages/Production/Index.tsx b/resources/js/Pages/Production/Index.tsx index 3ef377e..d23793b 100644 --- a/resources/js/Pages/Production/Index.tsx +++ b/resources/js/Pages/Production/Index.tsx @@ -3,7 +3,7 @@ */ import { useState, useEffect } from "react"; -import { Plus, Factory, Search, RotateCcw, Eye, Pencil, Trash2 } from 'lucide-react'; +import { Plus, Factory, Search, Eye, Pencil, Trash2 } from 'lucide-react'; import { Button } from "@/Components/ui/button"; import AuthenticatedLayout from "@/Layouts/AuthenticatedLayout"; import { Head, router, Link } from "@inertiajs/react"; @@ -12,7 +12,7 @@ import { getBreadcrumbs } from "@/utils/breadcrumb"; import { Can } from "@/Components/Permission/Can"; import { SearchableSelect } from "@/Components/ui/searchable-select"; import { Input } from "@/Components/ui/input"; -import { Label } from "@/Components/ui/label"; + import { Select, SelectContent, @@ -80,11 +80,7 @@ export default function ProductionIndex({ productionOrders, filters }: Props) { ); }; - const handleReset = () => { - setSearch(""); - setStatus("all"); - router.get(route('production-orders.index')); - }; + const handlePerPageChange = (value: string) => { setPerPage(value); @@ -113,70 +109,79 @@ export default function ProductionIndex({ productionOrders, filters }: Props) { 記錄生產過程,追蹤原物料使用與成品入庫
-