93 lines
4.2 KiB
Go Template
93 lines
4.2 KiB
Go Template
{{define "freight-import"}}
|
|
<!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 narrow-page">
|
|
<div class="title-row">
|
|
<div>
|
|
<h1>导入 ERP 货运</h1>
|
|
<p class="subtitle">按完整单号导入,或按创建日期发现新增货运</p>
|
|
</div>
|
|
<a class="button" href="/freight">返回列表</a>
|
|
</div>
|
|
{{if .Error}}<div class="notice danger" role="alert">{{.Error}}</div>{{end}}
|
|
{{if .ErrorCode}}
|
|
<dialog open aria-labelledby="freight-import-error-title">
|
|
<h2 id="freight-import-error-title">{{.ErrorTitle}}</h2>
|
|
<p>{{.Error}}</p>
|
|
<p class="secondary">{{.ErrorCode}}</p>
|
|
<form method="dialog"><button class="button primary" type="submit" autofocus>关闭</button></form>
|
|
</dialog>
|
|
{{end}}
|
|
{{if .Sync}}
|
|
<section class="detail-section" aria-labelledby="sync-result-title">
|
|
<h2 id="sync-result-title">同步状态</h2>
|
|
<dl class="detail-grid">
|
|
<div><dt>方式</dt><dd>{{if eq .Sync.Mode "CREATED_RANGE"}}创建日期{{else}}完整单号{{end}}</dd></div>
|
|
{{if eq .Sync.Mode "CREATED_RANGE"}}
|
|
<div><dt>查询范围</dt><dd>{{.Sync.CreatedFrom}} 至 {{.Sync.CreatedTo}}</dd></div>
|
|
{{end}}
|
|
<div><dt>状态</dt><dd>{{.Sync.Status}}</dd></div>
|
|
<div><dt>货运单</dt><dd>{{.Sync.OrderCount}}</dd></div>
|
|
<div><dt>商品明细</dt><dd>{{.Sync.ItemCount}}</dd></div>
|
|
<div><dt>错误码</dt><dd>{{if .Sync.ErrorCode}}{{.Sync.ErrorCode}}{{else}}无{{end}}</dd></div>
|
|
</dl>
|
|
{{if or (eq .Sync.Status "PENDING") (eq .Sync.Status "RUNNING")}}
|
|
<p class="secondary">同步仍在后台执行,刷新本页查看结果。</p>
|
|
{{end}}
|
|
</section>
|
|
{{end}}
|
|
{{if .Watermark}}
|
|
<section class="detail-section" aria-labelledby="watermark-title">
|
|
<h2 id="watermark-title">增量同步水位</h2>
|
|
<dl class="detail-grid">
|
|
<div><dt>已成功同步至</dt><dd><time datetime="{{machineTime .Watermark.LastSuccessfulTo}}">{{displayTime .Watermark.LastSuccessfulTo}}</time></dd></div>
|
|
<div><dt>最近成功任务</dt><dd>{{.Watermark.LastSuccessfulRunID}}</dd></div>
|
|
</dl>
|
|
</section>
|
|
{{else}}
|
|
<div class="notice" role="status">尚无日期同步水位,“同步至现在”将从今天开始。</div>
|
|
{{end}}
|
|
<form class="form-panel" method="post" action="/freight/import" data-loading-form>
|
|
<input type="hidden" name="csrf_token" value="{{.Page.CSRFToken}}">
|
|
<input type="hidden" name="idempotency_key" value="{{.IdempotencyKey}}">
|
|
<input type="hidden" name="mode" value="ORDER_NUMBER">
|
|
<h2>按完整单号</h2>
|
|
<div class="field">
|
|
<label for="order-number">完整单号</label>
|
|
<input id="order-number" name="order_number" value="{{.OrderNumber}}"
|
|
maxlength="128" autocomplete="off" required>
|
|
</div>
|
|
<button class="button primary" type="submit" data-loading-label="正在创建…">同步此单号</button>
|
|
</form>
|
|
<form class="form-panel" method="post" action="/freight/import" data-loading-form>
|
|
<input type="hidden" name="csrf_token" value="{{.Page.CSRFToken}}">
|
|
<input type="hidden" name="idempotency_key" value="{{.IdempotencyKey}}">
|
|
<input type="hidden" name="mode" value="CREATED_RANGE">
|
|
<h2>按创建日期</h2>
|
|
<div class="date-range-fields">
|
|
<div class="field">
|
|
<label for="created-from">开始日期</label>
|
|
<input id="created-from" name="created_from" type="date" value="{{.CreatedFrom}}" required>
|
|
</div>
|
|
<div class="field">
|
|
<label for="created-to">结束日期</label>
|
|
<input id="created-to" name="created_to" type="date" value="{{.CreatedTo}}" required>
|
|
</div>
|
|
</div>
|
|
<div class="button-row">
|
|
<button class="button primary" type="submit" data-loading-label="正在创建…">同步日期范围</button>
|
|
<button class="button" type="submit" name="sync_to_now" value="true"
|
|
formnovalidate data-loading-label="正在创建…">同步至现在</button>
|
|
</div>
|
|
</form>
|
|
</main>
|
|
</body>
|
|
</html>
|
|
{{end}}
|