fix: 修正部分進貨採購單更新失敗與狀態顯示問題
This commit is contained in:
@@ -21,10 +21,11 @@ import {
|
||||
Wallet,
|
||||
BarChart3,
|
||||
FileSpreadsheet,
|
||||
BookOpen
|
||||
BookOpen,
|
||||
ClipboardCheck
|
||||
} from "lucide-react";
|
||||
import { toast, Toaster } from "sonner";
|
||||
import { useState, useEffect, useMemo } from "react";
|
||||
import { useState, useEffect, useMemo, useRef } from "react";
|
||||
import { Link, usePage, Head } from "@inertiajs/react";
|
||||
import { cn } from "@/lib/utils";
|
||||
import BreadcrumbNav, { BreadcrumbItemType } from "@/Components/shared/BreadcrumbNav";
|
||||
@@ -101,10 +102,10 @@ export default function AuthenticatedLayout({
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "vendor-management",
|
||||
label: "廠商管理",
|
||||
id: "supply-chain-management",
|
||||
label: "供應鏈管理",
|
||||
icon: <Truck className="h-5 w-5" />,
|
||||
permission: "vendors.view",
|
||||
permission: ["vendors.view", "purchase_orders.view", "goods_receipts.view"],
|
||||
children: [
|
||||
{
|
||||
id: "vendor-list",
|
||||
@@ -113,14 +114,6 @@ export default function AuthenticatedLayout({
|
||||
route: "/vendors",
|
||||
permission: "vendors.view",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "purchase-management",
|
||||
label: "採購管理",
|
||||
icon: <ShoppingCart className="h-5 w-5" />,
|
||||
permission: "purchase_orders.view",
|
||||
children: [
|
||||
{
|
||||
id: "purchase-order-list",
|
||||
label: "採購單管理",
|
||||
@@ -128,6 +121,20 @@ export default function AuthenticatedLayout({
|
||||
route: "/purchase-orders",
|
||||
permission: "purchase_orders.view",
|
||||
},
|
||||
{
|
||||
id: "goods-receipt-list",
|
||||
label: "進貨單管理",
|
||||
icon: <ClipboardCheck className="h-4 w-4" />,
|
||||
route: "/goods-receipts",
|
||||
permission: "goods_receipts.view",
|
||||
},
|
||||
// {
|
||||
// id: "delivery-note-list",
|
||||
// label: "出貨單管理 (開發中)",
|
||||
// icon: <Package className="h-4 w-4" />,
|
||||
// // route: "/delivery-notes",
|
||||
// permission: "delivery_notes.view",
|
||||
// },
|
||||
],
|
||||
},
|
||||
{
|
||||
@@ -277,17 +284,21 @@ export default function AuthenticatedLayout({
|
||||
}, [isCollapsed]);
|
||||
|
||||
// 全域監聽 flash 訊息並顯示 Toast
|
||||
const lastFlash = useRef<any>(null);
|
||||
useEffect(() => {
|
||||
// @ts-ignore
|
||||
if (props.flash?.success) {
|
||||
// @ts-ignore
|
||||
if (!props.flash) return;
|
||||
|
||||
// 檢查是否與上次顯示的訊息相同(透過簡單的物件引用比對,Inertia 在重導向後會產生新的 props 物件)
|
||||
if (props.flash === lastFlash.current) return;
|
||||
|
||||
if (props.flash.success) {
|
||||
toast.success(props.flash.success);
|
||||
}
|
||||
// @ts-ignore
|
||||
if (props.flash?.error) {
|
||||
// @ts-ignore
|
||||
if (props.flash.error) {
|
||||
toast.error(props.flash.error);
|
||||
}
|
||||
|
||||
lastFlash.current = props.flash;
|
||||
}, [props.flash]);
|
||||
|
||||
const toggleExpand = (itemId: string) => {
|
||||
|
||||
Reference in New Issue
Block a user