136 lines
7.0 KiB
Go Template
136 lines
7.0 KiB
Go Template
{{define "freight-detail"}}
|
||
<!doctype html>
|
||
<html lang="zh-CN">
|
||
<head>
|
||
<title>{{.Page.Title}} - 采购任务管理</title>
|
||
{{template "document-head" .}}
|
||
</head>
|
||
<body>
|
||
{{template "site-header" .}}
|
||
<main id="main-content" class="page">
|
||
<div class="title-row">
|
||
<div>
|
||
<h1>{{if .Detail.Order.SourceCode}}{{.Detail.Order.SourceCode}}{{else}}货运详情{{end}}</h1>
|
||
<p class="subtitle">ERP ID:{{.Detail.Order.ExternalStockID}} · 来源版本 {{.Detail.Order.Revision}}</p>
|
||
</div>
|
||
<a class="button" href="/freight">返回列表</a>
|
||
</div>
|
||
{{if .Notice}}<div class="notice" role="status">{{.Notice}}</div>{{end}}
|
||
<section class="detail-section" aria-labelledby="freight-source-title">
|
||
<h2 id="freight-source-title">来源信息</h2>
|
||
<dl class="detail-grid">
|
||
<div><dt>店铺</dt><dd>{{if .Detail.Order.ShopName}}{{.Detail.Order.ShopName}}{{else}}未提供{{end}}</dd></div>
|
||
<div><dt>ERP 创建时间</dt><dd>{{displayTime .Detail.Order.SourceCreatedAt}}</dd></div>
|
||
<div><dt>订单状态</dt><dd>{{if .Detail.Order.OrderStatus}}{{.Detail.Order.OrderStatus}}{{else}}未提供{{end}}</dd></div>
|
||
<div><dt>采购状态</dt><dd>{{if .Detail.Order.PurchaseStatus}}{{.Detail.Order.PurchaseStatus}}{{else}}未提供{{end}}</dd></div>
|
||
</dl>
|
||
</section>
|
||
<section class="table-region freight-region" aria-labelledby="freight-items-title">
|
||
<div class="freight-table-heading">
|
||
<h2 id="freight-items-title">商品明细</h2>
|
||
<span class="secondary">共 {{.Detail.Order.ItemCount}} 项</span>
|
||
</div>
|
||
{{if .Detail.Items}}
|
||
<table class="freight-table freight-items-table">
|
||
<thead>
|
||
<tr>
|
||
<th scope="col">商品</th>
|
||
<th scope="col">规格 / SKU</th>
|
||
<th scope="col">数量</th>
|
||
<th scope="col">ERP 原始单价</th>
|
||
<th scope="col">货运状态</th>
|
||
<th scope="col">采购处理</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
{{range .Detail.Items}}
|
||
<tr>
|
||
<td data-label="商品">
|
||
<div class="freight-media freight-item-media">
|
||
{{if .Item.ImageURL}}
|
||
<img class="freight-thumb freight-thumb-detail" src="{{.Item.ImageURL}}"
|
||
width="84" height="84" loading="lazy" decoding="async"
|
||
alt="{{if .Item.Title}}{{.Item.Title}}{{else}}货运商品{{end}}图片">
|
||
{{else}}
|
||
<span class="freight-thumb freight-thumb-detail freight-thumb-placeholder"
|
||
aria-label="{{imageStatusLabel .Item.ImageStatus}}">
|
||
{{imageStatusLabel .Item.ImageStatus}}
|
||
</span>
|
||
{{end}}
|
||
<span class="freight-media-copy">
|
||
<strong class="freight-product-title">{{if .Item.Title}}{{.Item.Title}}{{else}}缺少标题{{end}}</strong>
|
||
<span class="secondary">明细 ID:{{.Item.ExternalItemID}}</span>
|
||
</span>
|
||
</div>
|
||
</td>
|
||
<td data-label="规格 / SKU">
|
||
<strong>{{if .Item.ProductSpec}}{{.Item.ProductSpec}}{{else}}未提供{{end}}</strong>
|
||
</td>
|
||
<td data-label="数量"><span class="freight-number">{{if .Item.Quantity}}{{.Item.Quantity}}{{else}}未提供{{end}}</span></td>
|
||
<td data-label="ERP 原始单价"><span class="freight-money">{{formatMoney .Item.OriginalUnitPriceMinor .Item.OriginalCurrency}}</span></td>
|
||
<td data-label="货运状态">
|
||
<span>{{if .Item.PurchaseStatus}}{{.Item.PurchaseStatus}}{{else}}未提供{{end}}</span>
|
||
<span class="secondary">来源版本 {{.Item.Revision}}</span>
|
||
</td>
|
||
<td data-label="采购处理" class="procurement-actions">
|
||
{{if .Request}}
|
||
<strong>{{.Request.StatusLabel}}</strong>
|
||
{{if .Request.BlockingLabel}}<span class="secondary">{{.Request.BlockingLabel}}</span>{{end}}
|
||
{{if .Request.SourceChanged}}
|
||
<form method="post" action="/freight/items/{{pathPart .Item.ID}}/procurement-request">
|
||
<input type="hidden" name="csrf_token" value="{{$.Page.CSRFToken}}">
|
||
<input type="hidden" name="order_id" value="{{$.Detail.Order.ID}}">
|
||
<label class="confirm-line">
|
||
<input type="checkbox" name="confirm_procurement_needed" value="1" required>
|
||
<span>已核对当前版本仍需采购</span>
|
||
</label>
|
||
<button class="button" type="submit">创建当前版本需求</button>
|
||
</form>
|
||
{{else if eq .Request.Status "NEEDS_IMAGE"}}
|
||
<form method="post" enctype="multipart/form-data"
|
||
action="/freight/procurement-requests/{{pathPart .Request.ID}}/reference">
|
||
<input type="hidden" name="csrf_token" value="{{$.Page.CSRFToken}}">
|
||
<input type="hidden" name="order_id" value="{{$.Detail.Order.ID}}">
|
||
<input type="hidden" name="upload_key" value="{{.Request.UploadKey}}">
|
||
<label>
|
||
<span class="visually-hidden">参考图片</span>
|
||
<input name="image" type="file" accept="image/jpeg,image/png,image/webp" required>
|
||
</label>
|
||
<button class="button" type="submit">上传参考图</button>
|
||
</form>
|
||
{{else if eq .Request.Status "READY"}}
|
||
<form method="post"
|
||
action="/freight/procurement-requests/{{pathPart .Request.ID}}/purchase-task">
|
||
<input type="hidden" name="csrf_token" value="{{$.Page.CSRFToken}}">
|
||
<input type="hidden" name="order_id" value="{{$.Detail.Order.ID}}">
|
||
<input type="hidden" name="task_key" value="{{.Request.TaskKey}}">
|
||
<button class="button primary" type="submit">生成采购任务</button>
|
||
</form>
|
||
{{else if .Request.PurchaseTaskID}}
|
||
<a class="detail-link" href="/tasks/{{pathPart .Request.PurchaseTaskID}}">查看采购任务</a>
|
||
{{end}}
|
||
{{else}}
|
||
<form method="post" action="/freight/items/{{pathPart .Item.ID}}/procurement-request">
|
||
<input type="hidden" name="csrf_token" value="{{$.Page.CSRFToken}}">
|
||
<input type="hidden" name="order_id" value="{{$.Detail.Order.ID}}">
|
||
<label class="confirm-line">
|
||
<input type="checkbox" name="confirm_procurement_needed" value="1" required>
|
||
<span>已核对该商品仍需采购</span>
|
||
</label>
|
||
<button class="button" type="submit">创建采购需求</button>
|
||
</form>
|
||
{{end}}
|
||
</td>
|
||
</tr>
|
||
{{end}}
|
||
</tbody>
|
||
</table>
|
||
{{else}}
|
||
<div class="empty-state"><h2>该货运单没有商品明细</h2></div>
|
||
{{end}}
|
||
</section>
|
||
</main>
|
||
</body>
|
||
</html>
|
||
{{end}}
|