bakery-erp / src /BakeryErp.Web /Pages /Items.cshtml
Neil67's picture
Deploy Bakery ERP Space
13240d3
Raw
History Blame Contribute Delete
3.71 kB
@page
@using BakeryErp.Infrastructure.Database
@model ItemsModel
@{
ViewData["Title"] = "品項管理";
}
<header class="page-header">
<div>
<p class="eyebrow">基本資料</p>
<h1>品項管理</h1>
</div>
<a class="button-link" href="/">返回總覽</a>
</header>
@if (!string.IsNullOrWhiteSpace(Model.Message)) { <div class="notice success">@Model.Message</div> }
@if (!string.IsNullOrWhiteSpace(Model.ErrorMessage)) { <div class="notice error">@Model.ErrorMessage</div> }
<section class="form-panel">
<h2>@(Model.Form.Id == Guid.Empty ? "新增品項" : "編輯品項")</h2>
<form method="post" class="data-form">
<input type="hidden" asp-for="Form.Id" />
<div class="field"><label asp-for="Form.Sku">品項代號</label><input asp-for="Form.Sku" /></div>
<div class="field"><label asp-for="Form.Name">品項名稱</label><input asp-for="Form.Name" /></div>
<div class="field">
<label asp-for="Form.ItemType">類型</label>
<select asp-for="Form.ItemType">
<option value="@LocalItemType.RawMaterial">原物料</option>
<option value="@LocalItemType.SemiFinished">半成品</option>
<option value="@LocalItemType.FinishedProduct">成品</option>
<option value="@LocalItemType.Packaging">包材</option>
<option value="@LocalItemType.ExpenseSupply">耗材</option>
</select>
</div>
<div class="field"><label asp-for="Form.CategoryName">分類</label><input asp-for="Form.CategoryName" /></div>
<div class="field"><label asp-for="Form.BaseUnit">基本單位</label><input asp-for="Form.BaseUnit" /></div>
<div class="field"><label asp-for="Form.SafetyStockQuantity">安全庫存</label><input asp-for="Form.SafetyStockQuantity" type="number" step="0.01" /></div>
<div class="field"><label asp-for="Form.ShelfLifeDays">效期天數</label><input asp-for="Form.ShelfLifeDays" type="number" min="0" /></div>
<div class="form-actions">
<button class="primary-button" type="submit" asp-page-handler="Save">儲存品項</button>
<a class="secondary-button" href="/Items">清空表單</a>
</div>
</form>
</section>
<section class="table-panel">
<div class="section-title"><h2>品項清單</h2><span>@Model.Items.Count 筆</span></div>
<div class="table-wrap">
<table>
<thead><tr><th>狀態</th><th>代號</th><th>名稱</th><th>類型</th><th>分類</th><th>單位</th><th>安全庫存</th><th>操作</th></tr></thead>
<tbody>
@foreach (var item in Model.Items)
{
<tr class="@(!item.IsActive ? "muted-row" : null)">
<td><span class="badge @(item.IsActive ? "ok" : "off")">@(item.IsActive ? "啟用" : "停用")</span></td>
<td>@item.Sku</td><td>@item.Name</td><td>@Model.GetItemTypeName(item.ItemType)</td><td>@item.CategoryName</td><td>@item.BaseUnit</td><td>@item.SafetyStockQuantity.ToString("N2")</td>
<td class="row-actions">
<a class="small-link" href="/Items?editId=@item.Id">編輯</a>
<form method="post"><input type="hidden" name="id" value="@item.Id" /><input type="hidden" name="isActive" value="@((!item.IsActive).ToString().ToLowerInvariant())" /><button class="text-button" type="submit" asp-page-handler="Toggle">@(item.IsActive ? "停用" : "啟用")</button></form>
</td>
</tr>
}
</tbody>
</table>
</div>
</section>