feat: add all equipment view with sorting, print functionality, and UI improvements

- Add "Всё оборудование" menu item with equipment sorted by inventory number
- Add row numbering in all equipment view
- Add print functionality for auditory view with "Проверено" column
- Hide unnecessary columns (quantity, type, owner) when printing
- Make cards full-width and responsive (container-fluid)
- Consolidate CSS styles from static/css/index.css to frontend/styles.css
- Fix text wrapping in "Расположение" column
- Add sort_by_inv parameter to /oboruds/ API endpoint

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Danamir
2026-01-22 22:48:27 +01:00
parent e2ff0f9a05
commit 35bd29c223
4 changed files with 280 additions and 36 deletions

View File

@@ -1,20 +1,191 @@
:root { --bg: #0f172a; --fg: #e2e8f0; --muted: #94a3b8; --accent: #38bdf8; --err: #ef4444; --warn: #f59e0b; }
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background: var(--bg); color: var(--fg); }
header { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid #1f2937; }
header h1 { margin: 0; font-size: 20px; }
header nav a { color: var(--accent); text-decoration: none; }
main { padding: 20px; max-width: 1000px; margin: 0 auto; }
.panel { background: #0b1220; border: 1px solid #1f2937; border-radius: 8px; padding: 16px; }
.controls { display: flex; gap: 8px; align-items: center; margin-bottom: 12px; }
select, button { padding: 8px 10px; border-radius: 6px; border: 1px solid #1f2937; background: #0a0f1a; color: var(--fg); }
button { cursor: pointer; }
button:hover { border-color: var(--accent); }
.status { min-height: 20px; color: var(--muted); margin-bottom: 8px; }
.status.error { color: var(--err); }
.status.warn { color: var(--warn); }
table { width: 100%; border-collapse: collapse; }
th, td { border-bottom: 1px solid #1f2937; padding: 8px; text-align: left; }
th { color: var(--muted); font-weight: 600; }
td.rasp { max-width: 200px; word-wrap: break-word; white-space: normal; }
* {
margin: 0;
padding: 0;
}
body {
background-color: #E2F3FD;
min-width: 580px;
}
.row {
text-align: center;
display: flex;
justify-content: center;
border: 1px;
}
header {
text-align: center;
background-color: #6A90B6;
padding: 2px;
}
a:hover {
text-decoration: none;
color: #041322;
}
a {
color: #041322;
}
.container {
margin: 10px;
}
button {
background-color: #E07D54;
margin-top: 5px;
margin-bottom: 5px;
}
.card {
margin: 10px;
border-radius: 15px;
border-color: #E07D54;
}
h5 {
text-align: center;
}
.hidden-column {
display: none;
}
nav {
width: 100%;
}
table {
word-break: break-all;
border-collapse: separate !important;
}
.table td {
font-size: 14px;
padding: 0;
max-width: 10rem;
word-break: break-all;
border-collapse: separate !important;
}
.aud {
width: 110px;
}
.inv {
width: 400px;
}
.rasp {
width: 250px;
max-width: 250px;
word-break: break-word;
word-wrap: break-word;
overflow-wrap: break-word;
white-space: normal !important;
}
#modal_matcenn {
margin-left: 20px;
}
.datatable {
background-color: whitesmoke;
}
.print-only {
display: none;
}
.print-title {
text-align: center;
margin-bottom: 20px;
}
.datatable th:nth-child(7) {
width: 200px;
}
@media print {
* {
font-family: "Times New Roman", Times, serif;
}
body {
margin: 0;
padding: 0;
background-color: transparent;
}
a {
text-decoration: none;
border: none;
}
@page {
size: A4;
margin: 10mm;
}
@page :first {
margin-top: 10mm;
}
html, body {
height: 100%;
}
title {
display: none;
}
.card {
border: none;
width: 100%;
}
.no-print {
display: none !important;
}
.print-only {
display: table-cell !important;
}
h2.print-only {
display: block !important;
}
.table {
border: 1px solid #000000;
margin-top: 20px;
font-size: 12pt;
}
.table th, .table td {
border: 1px solid #000000;
padding: 5px;
font-size: 12pt;
}
table.rs-table-bordered {
border: 1px solid #000000;
margin-top: 20px;
font-size: 14pt;
}
table.rs-table-bordered > thead > tr > th {
border: 1px solid #000000;
padding: 2px;
font-size: 14pt;
}
table.rs-table-bordered > tbody > tr > td {
border: 1px solid #000000;
padding: 10px;
font-size: 14pt;
}
}