| | | 1 | | @model ArmtekInvoicePageViewModel |
| | | 2 | | @{ |
| | 0 | 3 | | ViewData["Title"] = $"Фактура Armtek {Model.Vbeln}"; |
| | | 4 | | } |
| | | 5 | | |
| | | 6 | | <link rel="stylesheet" href="~/css/settlements/armtek-settlements.css" asp-append-version="true" /> |
| | | 7 | | |
| | 0 | 8 | | @await Html.PartialAsync("~/Areas/Studio2/Views/Shared/_BsxGridShell.cshtml") |
| | | 9 | | |
| | 0 | 10 | | <div class="container-fluid py-3 bsx-surface ae-invoice" data-invoice-id="@Model.InvoiceId"> |
| | | 11 | | <section class="app-section-hero app-section-hero--import d-flex flex-wrap justify-content-between align-items-start |
| | | 12 | | <div> |
| | 0 | 13 | | <h1><i class="fas fa-file-invoice me-2 text-primary"></i>Фактура № @Model.Vbeln</h1> |
| | 0 | 14 | | <div class="subtitle">Клиент @Model.Kunnr · данные кабинета etp.armtek.ru</div> |
| | | 15 | | <div class="app-section-hero__quick-links"> |
| | | 16 | | <a asp-area="Settlements" asp-controller="Armtek" asp-action="Index"><i class="fas fa-scale-balanced"></ |
| | | 17 | | <a href="/Settlements/Armtek?tab=invoices"><i class="fas fa-file-invoice"></i>Все фактуры</a> |
| | 0 | 18 | | @if (Model.HasInvoicePage) |
| | | 19 | | { |
| | | 20 | | <a href="https://etp.armtek.ru/invoice/index/@Model.Kunnr/@Model.Vbeln" target="_blank" rel="noopene |
| | | 21 | | } |
| | | 22 | | </div> |
| | | 23 | | </div> |
| | | 24 | | <div class="d-flex flex-column align-items-end gap-2"> |
| | 0 | 25 | | @if (Model.InvoiceId != null) |
| | | 26 | | { |
| | | 27 | | <div class="bsx-dir-stats"> |
| | 0 | 28 | | <span class="bsx-dir-stat">Количество <b>@Model.TotalQuantity.ToString("N0")</b></span> |
| | 0 | 29 | | <span class="bsx-dir-stat">Возвращено <b>@Model.ReturnedQuantity.ToString("N0")</b></span> |
| | 0 | 30 | | <span class="bsx-dir-stat">Сумма <b>@Model.TotalAmount.ToString("N2") @Model.Currency</b></span> |
| | 0 | 31 | | @if (Model.LoadedAtUtc is { } loaded) |
| | | 32 | | { |
| | 0 | 33 | | <span class="bsx-dir-stat">Загружена (МСК) <b>@loaded.AddHours(3).ToString("dd.MM.yyyy HH:mm")</ |
| | | 34 | | } |
| | | 35 | | </div> |
| | | 36 | | } |
| | 0 | 37 | | @if (Model.HasInvoicePage) |
| | | 38 | | { |
| | | 39 | | <form method="post" action="/Settlements/Armtek/Invoice/@Uri.EscapeDataString(Model.Kunnr)/@Uri.EscapeDa |
| | 0 | 40 | | @Html.AntiForgeryToken() |
| | | 41 | | <button type="submit" class="btn btn-sm btn-outline-secondary"> |
| | 0 | 42 | | <i class="fas fa-cloud-arrow-down me-1"></i>@(Model.InvoiceId == null ? "Загрузить фактуру" : "П |
| | | 43 | | </button> |
| | | 44 | | </form> |
| | | 45 | | } |
| | | 46 | | </div> |
| | | 47 | | </section> |
| | | 48 | | |
| | 0 | 49 | | @if (TempData["Success"] is string ok) |
| | | 50 | | { |
| | 0 | 51 | | <div class="alert alert-success py-2 mt-3">@ok</div> |
| | | 52 | | } |
| | 0 | 53 | | @if (TempData["Error"] is string err) |
| | | 54 | | { |
| | 0 | 55 | | <div class="alert alert-danger py-2 mt-3">@err</div> |
| | | 56 | | } |
| | | 57 | | |
| | 0 | 58 | | @if (Model.Header.Count > 0) |
| | | 59 | | { |
| | | 60 | | <div class="ae-head-card"> |
| | | 61 | | <dl class="ae-head"> |
| | 0 | 62 | | @foreach (var row in Model.Header) |
| | | 63 | | { |
| | 0 | 64 | | <dt>@row.Label</dt> |
| | 0 | 65 | | <dd>@if (row.Code != null) {<span class="ae-code">@row.Code</span>}@row.Value</dd> |
| | | 66 | | } |
| | | 67 | | </dl> |
| | | 68 | | </div> |
| | | 69 | | } |
| | | 70 | | |
| | 0 | 71 | | @if (Model.InvoiceId != null) |
| | | 72 | | { |
| | 0 | 73 | | @await Html.PartialAsync("~/Areas/Studio2/Views/Shared/_BsxDirectoryGrid.cshtml", new BsxDirectoryGridViewModel( |
| | 0 | 74 | | "Артикул, код Армтек, бренд, наименование, заказ, ГТД…")) |
| | | 75 | | } |
| | 0 | 76 | | else if (Model.HasInvoicePage) |
| | | 77 | | { |
| | | 78 | | <div class="ae-head-card ae-muted">Фактура ещё не загружена из кабинета — нажмите «Загрузить фактуру».</div> |
| | | 79 | | } |
| | | 80 | | else |
| | | 81 | | { |
| | | 82 | | <div class="ae-head-card ae-muted">У документа этого типа нет страницы фактуры в кабинете Armtek.</div> |
| | | 83 | | } |
| | | 84 | | </div> |
| | | 85 | | |
| | | 86 | | @section Scripts { |
| | | 87 | | <script src="~/js/Studio2/Grid/bsx-directory.js" asp-append-version="true"></script> |
| | | 88 | | <script src="~/js/settlements/armtek-settlements.js" asp-append-version="true"></script> |
| | | 89 | | } |