feat: 倉庫業務屬性、庫存成本追蹤與採購單功能更新
1. 倉庫管理:新增業務類型 (Owned/External/Customer) 與車牌資訊與司機欄位。 2. 庫存管理:實作成本追蹤 (unit_cost, total_value),更新列表與撥補單顯示。 3. 採購單:新增採購日期 (order_date),調整欄位名稱與順序。 4. 前端優化:更新相關 TS Type 定義與 UI 顯示。
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
import { useState, useEffect } from "react";
|
||||
import type { PurchaseOrder, PurchaseOrderItem, Supplier, PurchaseOrderStatus } from "@/types/purchase-order";
|
||||
import { calculateSubtotal } from "@/utils/purchase-order";
|
||||
import { calculateSubtotal, getTodayDate } from "@/utils/purchase-order";
|
||||
|
||||
interface UsePurchaseOrderFormProps {
|
||||
order?: PurchaseOrder;
|
||||
@@ -14,6 +14,7 @@ interface UsePurchaseOrderFormProps {
|
||||
export function usePurchaseOrderForm({ order, suppliers }: UsePurchaseOrderFormProps) {
|
||||
const [supplierId, setSupplierId] = useState(order?.supplierId || "");
|
||||
const [expectedDate, setExpectedDate] = useState(order?.expectedDate || "");
|
||||
const [orderDate, setOrderDate] = useState(order?.orderDate || getTodayDate());
|
||||
const [items, setItems] = useState<PurchaseOrderItem[]>(order?.items || []);
|
||||
const [notes, setNotes] = useState(order?.remark || "");
|
||||
const [status, setStatus] = useState<PurchaseOrderStatus>(order?.status || "draft");
|
||||
@@ -32,6 +33,7 @@ export function usePurchaseOrderForm({ order, suppliers }: UsePurchaseOrderFormP
|
||||
if (order) {
|
||||
setSupplierId(order.supplierId);
|
||||
setExpectedDate(order.expectedDate);
|
||||
setOrderDate(order.orderDate || getTodayDate());
|
||||
setItems(order.items || []);
|
||||
setNotes(order.remark || "");
|
||||
setStatus(order.status);
|
||||
@@ -52,6 +54,7 @@ export function usePurchaseOrderForm({ order, suppliers }: UsePurchaseOrderFormP
|
||||
const resetForm = () => {
|
||||
setSupplierId("");
|
||||
setExpectedDate("");
|
||||
setOrderDate(getTodayDate());
|
||||
setItems([]);
|
||||
setNotes("");
|
||||
setStatus("draft");
|
||||
@@ -159,6 +162,7 @@ export function usePurchaseOrderForm({ order, suppliers }: UsePurchaseOrderFormP
|
||||
// State
|
||||
supplierId,
|
||||
expectedDate,
|
||||
orderDate,
|
||||
items,
|
||||
notes,
|
||||
status,
|
||||
@@ -174,6 +178,7 @@ export function usePurchaseOrderForm({ order, suppliers }: UsePurchaseOrderFormP
|
||||
// Setters
|
||||
setSupplierId,
|
||||
setExpectedDate,
|
||||
setOrderDate,
|
||||
setNotes,
|
||||
setStatus,
|
||||
setWarehouseId,
|
||||
|
||||
Reference in New Issue
Block a user