| | | 1 | | @model List<OzonOrdersWeb.Areas.Studio2.ViewModels.OrderHistory.OrderHistoryOneCPostingViewModel> |
| | | 2 | | |
| | 0 | 3 | | @foreach (var posting in Model) |
| | | 4 | | { |
| | | 5 | | <div class="one-c-posting-header text-end small @(posting != Model.Last() ? "mb-2" : "")" style="max-width: 480px;"> |
| | | 6 | | <div class="d-flex flex-wrap align-items-center justify-content-end gap-1 mb-1"> |
| | | 7 | | <span class="badge @(posting.Success ? "bg-success-subtle text-success" : "bg-warning-subtle text-warning")" |
| | 0 | 8 | | <i class="fas fa-file-invoice me-1"></i>@(posting.Success ? "Успешно в 1С" : "1С — ошибка") |
| | | 9 | | </span> |
| | 0 | 10 | | <span class="badge bg-light text-dark border">@posting.OperationKindDisplay</span> |
| | | 11 | | </div> |
| | 0 | 12 | | @if (!string.IsNullOrWhiteSpace(posting.ChangedBy)) |
| | | 13 | | { |
| | | 14 | | <div class="text-muted mb-1"> |
| | 0 | 15 | | <i class="fas fa-user-check me-1"></i><span class="text-muted">Провёл:</span> <strong>@posting.ChangedBy |
| | | 16 | | </div> |
| | | 17 | | } |
| | | 18 | | <ul class="list-unstyled mb-0 text-secondary" style="line-height: 1.4;"> |
| | 0 | 19 | | @if (!string.IsNullOrWhiteSpace(posting.OrganizationName)) |
| | | 20 | | { |
| | | 21 | | <li> |
| | | 22 | | <span class="text-muted">Организация:</span> |
| | 0 | 23 | | @posting.OrganizationName@(string.IsNullOrWhiteSpace(posting.OrganizationInn) ? "" : $" (ИНН {postin |
| | | 24 | | </li> |
| | | 25 | | } |
| | 0 | 26 | | @if (!string.IsNullOrWhiteSpace(posting.SenderName)) |
| | | 27 | | { |
| | | 28 | | <li> |
| | | 29 | | <span class="text-muted">Отправитель:</span> |
| | 0 | 30 | | @posting.SenderName@(string.IsNullOrWhiteSpace(posting.SenderInn) ? "" : $" (ИНН {posting.SenderInn} |
| | | 31 | | </li> |
| | | 32 | | } |
| | 0 | 33 | | else if (posting.OperationKind is "Movement" or "Expense") |
| | | 34 | | { |
| | | 35 | | <li><span class="text-muted">Отправитель:</span> Не указан</li> |
| | | 36 | | } |
| | 0 | 37 | | @if (!string.IsNullOrWhiteSpace(posting.WarehouseSender)) |
| | | 38 | | { |
| | 0 | 39 | | <li><span class="text-muted">Склад отправителя:</span> @posting.WarehouseSender</li> |
| | | 40 | | } |
| | 0 | 41 | | @if (!string.IsNullOrWhiteSpace(posting.WarehouseRecipient)) |
| | | 42 | | { |
| | 0 | 43 | | <li><span class="text-muted">Склад получателя:</span> @posting.WarehouseRecipient</li> |
| | | 44 | | } |
| | 0 | 45 | | @if (posting.OrdersCount > 0 || posting.ProductsCount > 0) |
| | | 46 | | { |
| | | 47 | | <li> |
| | | 48 | | <span class="text-muted">Вход:</span> |
| | 0 | 49 | | заказов @posting.OrdersCount, товаров @posting.ProductsCount |
| | 0 | 50 | | @if (!string.IsNullOrWhiteSpace(posting.ArticlesSummary)) |
| | | 51 | | { |
| | 0 | 52 | | <text>, <span class="text-muted">артикулы:</span> @posting.ArticlesSummary</text> |
| | | 53 | | } |
| | | 54 | | </li> |
| | | 55 | | } |
| | 0 | 56 | | else if (!string.IsNullOrWhiteSpace(posting.ArticlesSummary)) |
| | | 57 | | { |
| | 0 | 58 | | <li><span class="text-muted">Артикулы:</span> @posting.ArticlesSummary</li> |
| | | 59 | | } |
| | 0 | 60 | | @if (posting.DocumentsCount > 0) |
| | | 61 | | { |
| | | 62 | | <li> |
| | 0 | 63 | | <span class="text-muted">Документов:</span> @posting.DocumentsCount |
| | 0 | 64 | | @if (posting.IsPosted) |
| | | 65 | | { |
| | | 66 | | <span class="badge bg-success-subtle text-success ms-1">✔ проведено</span> |
| | | 67 | | } |
| | 0 | 68 | | else if (posting.Success) |
| | | 69 | | { |
| | | 70 | | <span class="badge bg-warning-subtle text-warning ms-1">⚠ черновик</span> |
| | | 71 | | } |
| | | 72 | | </li> |
| | | 73 | | } |
| | 0 | 74 | | @if (!string.IsNullOrWhiteSpace(posting.DocumentNumbers)) |
| | | 75 | | { |
| | 0 | 76 | | var hNums = posting.DocumentNumbers.Split(',', StringSplitOptions.RemoveEmptyEntries | StringSplitOption |
| | 0 | 77 | | var hGuids = (posting.DocumentGuids ?? "").Split(',', StringSplitOptions.RemoveEmptyEntries | StringSpli |
| | | 78 | | <li> |
| | | 79 | | <span class="text-muted">Номера:</span> |
| | | 80 | | <span class="fw-medium text-dark"> |
| | 0 | 81 | | @for (var hi = 0; hi < hNums.Length; hi++) |
| | | 82 | | { |
| | 0 | 83 | | if (hi < hGuids.Length && Guid.TryParse(hGuids[hi], out _)) |
| | | 84 | | { |
| | 0 | 85 | | <a href="/Studio2/OneCDocument/Details?refKey=@hGuids[hi]" target="_blank" title="Открыт |
| | | 86 | | } |
| | | 87 | | else |
| | | 88 | | { |
| | 0 | 89 | | <span>@hNums[hi]</span> |
| | | 90 | | } |
| | 0 | 91 | | if (hi < hNums.Length - 1) { <span>, </span> } |
| | | 92 | | } |
| | | 93 | | </span> |
| | | 94 | | </li> |
| | | 95 | | } |
| | 0 | 96 | | @if (!string.IsNullOrWhiteSpace(posting.DocumentGuids)) |
| | | 97 | | { |
| | 0 | 98 | | <li><span class="text-muted">GUID:</span> <span class="font-monospace text-secondary user-select-all" st |
| | | 99 | | } |
| | 0 | 100 | | @if (!string.IsNullOrWhiteSpace(posting.CreatedNomenclature)) |
| | | 101 | | { |
| | 0 | 102 | | <li><span class="text-muted">Создана номенклатура 1С:</span> <span class="text-info-emphasis">@posting.C |
| | | 103 | | } |
| | 0 | 104 | | @if (!string.IsNullOrWhiteSpace(posting.ErrorSummary)) |
| | | 105 | | { |
| | 0 | 106 | | <li><span class="text-muted">Ошибки:</span> <span class="text-danger">@posting.ErrorSummary</span></li> |
| | | 107 | | } |
| | | 108 | | </ul> |
| | | 109 | | </div> |
| | | 110 | | } |