| | | 1 | | @using OzonOrdersWeb.WebServices.ArmtekEtp |
| | | 2 | | @model IReadOnlyList<SettlementSupplierTile> |
| | | 3 | | @{ |
| | 0 | 4 | | ViewData["Title"] = "Взаиморасчёты"; |
| | | 5 | | } |
| | | 6 | | |
| | | 7 | | <link rel="stylesheet" href="~/css/settlements/armtek-settlements.css" asp-append-version="true" /> |
| | | 8 | | |
| | 0 | 9 | | @await Html.PartialAsync("~/Areas/Studio2/Views/Shared/_BsxGridShell.cshtml") |
| | | 10 | | |
| | | 11 | | <div class="container-fluid py-3 bsx-surface"> |
| | | 12 | | <section class="app-section-hero app-section-hero--import"> |
| | | 13 | | <h1><i class="fas fa-scale-balanced me-2 text-primary"></i>Взаиморасчёты</h1> |
| | | 14 | | <div class="subtitle">Взаиморасчёты с поставщиками: документы, сальдо, фактуры и их позиции из личных кабинетов. |
| | | 15 | | <div class="subtitle-help">Выберите поставщика. Данные выгружаются автоматически; загрузить за период можно на с |
| | | 16 | | </section> |
| | | 17 | | |
| | | 18 | | <div class="st-tiles"> |
| | 0 | 19 | | @foreach (var t in Model) |
| | | 20 | | { |
| | 0 | 21 | | var s = t.Summary; |
| | | 22 | | <article class="st-tile"> |
| | | 23 | | <a class="st-tile-head" href="@t.Url"> |
| | 0 | 24 | | <span class="st-logo"><img src="@t.LogoUrl" alt="" />@if (t.LogoMark != null) {<em>@t.LogoMark</em>} |
| | | 25 | | <span class="st-tile-title"> |
| | 0 | 26 | | <b>@t.Name</b> |
| | 0 | 27 | | <span>@t.Description</span> |
| | | 28 | | </span> |
| | | 29 | | <i class="fas fa-chevron-right st-tile-go"></i> |
| | | 30 | | </a> |
| | | 31 | | <div class="st-tile-stats"> |
| | | 32 | | <div class="st-stat st-stat--main"> |
| | 0 | 33 | | <span>Сальдо@(s.BalanceDate is { } bd ? " на " + bd.ToString("dd.MM.yyyy") : "")</span> |
| | 0 | 34 | | <b>@(s.Balance is { } balance ? balance.ToString("N2") + " " + s.BalanceCurrency : "—")</b> |
| | | 35 | | </div> |
| | 0 | 36 | | <div class="st-stat"><span>Документов</span><b>@s.SettlementsCount.ToString("N0")</b></div> |
| | 0 | 37 | | <div class="st-stat"><span>Фактур</span><b>@s.InvoicesCount.ToString("N0")</b></div> |
| | 0 | 38 | | <div class="st-stat"><span>Позиций</span><b>@s.ItemsCount.ToString("N0")</b></div> |
| | | 39 | | </div> |
| | 0 | 40 | | @if (s.LastError != null) |
| | | 41 | | { |
| | 0 | 42 | | <div class="st-tile-error" title="@s.LastError"><i class="fas fa-triangle-exclamation me-1"></i>Загр |
| | | 43 | | } |
| | | 44 | | <div class="st-tile-foot"> |
| | | 45 | | <span class="st-updated"> |
| | 0 | 46 | | @if (s.LastUpdatedAtUtc is { } updated) |
| | | 47 | | { |
| | 0 | 48 | | <text><i class="fas fa-rotate me-1"></i>Обновлено (МСК) @updated.AddHours(3).ToString("dd.MM |
| | | 49 | | } |
| | | 50 | | else |
| | | 51 | | { |
| | | 52 | | <text><i class="fas fa-circle-info me-1"></i>Данные ещё не загружались</text> |
| | | 53 | | } |
| | | 54 | | </span> |
| | | 55 | | <span class="st-links"> |
| | 0 | 56 | | @foreach (var link in t.Links) |
| | | 57 | | { |
| | 0 | 58 | | <a href="@link.Url"><i class="fas @link.Icon"></i>@link.Title</a> |
| | | 59 | | } |
| | | 60 | | </span> |
| | | 61 | | </div> |
| | | 62 | | </article> |
| | | 63 | | } |
| | | 64 | | </div> |
| | | 65 | | </div> |