Fix: Add Dispatch button for orders in Packing status
- Added quick action button on Packing tab to dispatch orders - Created dispatch modal with tracking number input - Modal includes tracking number, estimated days, and notes fields - Button appears on both desktop table and mobile card views - Fixes workflow gap where Packing orders had no quick action - Orders now properly flow: Accepted → Packing → Dispatched 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
a519284fd1
commit
2ae44a3c56
@ -227,6 +227,13 @@
|
||||
</form>
|
||||
}
|
||||
|
||||
@if (order.Status == LittleShop.Enums.OrderStatus.Packing)
|
||||
{
|
||||
<button type="button" class="btn btn-info btn-sm" title="Dispatch Order" data-bs-toggle="modal" data-bs-target="#dispatchModal-@order.Id">
|
||||
<i class="fas fa-shipping-fast"></i>
|
||||
</button>
|
||||
}
|
||||
|
||||
@if (order.Status != LittleShop.Enums.OrderStatus.OnHold && order.Status != LittleShop.Enums.OrderStatus.Delivered && order.Status != LittleShop.Enums.OrderStatus.Cancelled)
|
||||
{
|
||||
<button type="button" class="btn btn-secondary btn-sm" title="Put On Hold" data-bs-toggle="modal" data-bs-target="#holdModal-@order.Id">
|
||||
@ -358,6 +365,13 @@
|
||||
</form>
|
||||
}
|
||||
|
||||
@if (order.Status == LittleShop.Enums.OrderStatus.Packing)
|
||||
{
|
||||
<button type="button" class="btn btn-info btn-sm w-100" data-bs-toggle="modal" data-bs-target="#dispatchModal-@order.Id">
|
||||
<i class="fas fa-shipping-fast"></i> Dispatch
|
||||
</button>
|
||||
}
|
||||
|
||||
@if (order.Status != LittleShop.Enums.OrderStatus.OnHold && order.Status != LittleShop.Enums.OrderStatus.Delivered && order.Status != LittleShop.Enums.OrderStatus.Cancelled)
|
||||
{
|
||||
<button type="button" class="btn btn-secondary btn-sm w-100" data-bs-toggle="modal" data-bs-target="#holdModal-@order.Id">
|
||||
@ -386,6 +400,46 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@* Dispatch Modals for Packing orders *@
|
||||
@foreach (var order in orders.Where(o => o.Status == LittleShop.Enums.OrderStatus.Packing))
|
||||
{
|
||||
<div class="modal fade" id="dispatchModal-@order.Id" tabindex="-1">
|
||||
<div class="modal-dialog">
|
||||
<div class="modal-content">
|
||||
<form method="post" action="@Url.Action("DispatchOrder", new { id = order.Id })">
|
||||
@Html.AntiForgeryToken()
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">Dispatch Order #@order.Id.ToString().Substring(0, 8)</h5>
|
||||
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<div class="mb-3">
|
||||
<label for="trackingNumber-@order.Id" class="form-label">Tracking Number <span class="text-danger">*</span></label>
|
||||
<input name="trackingNumber" id="trackingNumber-@order.Id" class="form-control" placeholder="e.g., RM123456789GB" required />
|
||||
<small class="form-text text-muted">Royal Mail or courier tracking number</small>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="estimatedDays-@order.Id" class="form-label">Estimated Delivery Days</label>
|
||||
<input type="number" name="estimatedDays" id="estimatedDays-@order.Id" class="form-control" value="3" min="1" max="30" />
|
||||
<small class="form-text text-muted">Working days until expected delivery</small>
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="dispatchNotes-@order.Id" class="form-label">Dispatch Notes</label>
|
||||
<textarea name="notes" id="dispatchNotes-@order.Id" class="form-control" rows="2" placeholder="Optional courier info or special instructions..."></textarea>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Cancel</button>
|
||||
<button type="submit" class="btn btn-info">
|
||||
<i class="fas fa-shipping-fast"></i> Dispatch Order
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@* Hold Modals for each order *@
|
||||
@foreach (var order in orders.Where(o => o.Status != LittleShop.Enums.OrderStatus.OnHold && o.Status != LittleShop.Enums.OrderStatus.Delivered && o.Status != LittleShop.Enums.OrderStatus.Cancelled))
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user