feat: 標準化全系統數值輸入欄位與擴充商品價格功能
All checks were successful
Koori-ERP-Deploy-System / deploy-demo (push) Has been skipped
Koori-ERP-Deploy-System / deploy-production (push) Successful in 1m0s

1. UI 標準化:
   - 針對全系統數值輸入欄位統一加上 step='any' 以支援小數點。
   - 表格形式 (Table) 的數值輸入欄位統一加上 text-right 靠右對齊。
   - 修正 Components 與 Pages 中所有涉及金額與數量的輸入框。

2. 功能擴充與修正:
   - 擴充 Product 模型與相關 Dialog 以支援多種價格設定。
   - 修正 Inventory/GoodsReceipt/Create.tsx 未使用的變數錯誤。
   - 優化庫存相關頁面的 UI 一致性。

3. 其他:
   - 更新相關的 Type 定義與 Controller 邏輯。
This commit is contained in:
2026-02-05 11:45:08 +08:00
parent 04f3891275
commit 3ce96537b3
40 changed files with 774 additions and 212 deletions

View File

@@ -181,6 +181,16 @@ class AdjustDocController extends Controller
{
$doc->load(['items.product.baseUnit', 'createdBy', 'postedBy', 'warehouse', 'countDoc']);
// Pre-fetch relevant Inventory information (mainly for expiry date)
$inventoryMap = \App\Modules\Inventory\Models\Inventory::withTrashed()
->where('warehouse_id', $doc->warehouse_id)
->whereIn('product_id', $doc->items->pluck('product_id'))
->whereIn('batch_number', $doc->items->pluck('batch_number'))
->get()
->mapWithKeys(function ($inv) {
return [$inv->product_id . '-' . $inv->batch_number => $inv];
});
$docData = [
'id' => (string) $doc->id,
'doc_no' => $doc->doc_no,
@@ -193,13 +203,15 @@ class AdjustDocController extends Controller
'created_by' => $doc->createdBy?->name,
'count_doc_id' => $doc->count_doc_id ? (string)$doc->count_doc_id : null,
'count_doc_no' => $doc->countDoc?->doc_no,
'items' => $doc->items->map(function ($item) {
'items' => $doc->items->map(function ($item) use ($inventoryMap) {
$inv = $inventoryMap->get($item->product_id . '-' . $item->batch_number);
return [
'id' => (string) $item->id,
'product_id' => (string) $item->product_id,
'product_name' => $item->product->name,
'product_code' => $item->product->code,
'batch_number' => $item->batch_number,
'expiry_date' => $inv && $inv->expiry_date ? $inv->expiry_date->format('Y-m-d') : null,
'unit' => $item->product->baseUnit?->name,
'qty_before' => (float) $item->qty_before,
'adjust_qty' => (float) $item->adjust_qty,