Fix: форма заказа клиента — сетка Дата/Номер, компактные поля и отступы, ширина полей на всю форму
Made-with: Cursor
This commit is contained in:
10
HISTORY.md
10
HISTORY.md
@@ -1,5 +1,15 @@
|
||||
# История изменений ERP WaterSurf
|
||||
|
||||
## 2025-02-26 00:50 UTC – Форма заказа клиента: сетка, компактные поля, ширина
|
||||
|
||||
**Проблема**: На форме заказа клиента поле «Номер» визуально смещено вправо; высота полей и отступы между строками слишком большие; поля «Вид заказа», «Организация», «Клиент», «Автор» узкие.
|
||||
|
||||
**Решение**: Строка «Дата»/«Номер» переведена на чёткую двухколоночную сетку (grid 1fr 1fr): у обеих колонок одинаковый layout (label 6.5rem + input flex 1), оба поля растягиваются по своей колонке. Уменьшена высота полей ввода (padding 6px 10px, min-height 30px в компактной форме; в базовой 8px 12px, min-height 34px). Уменьшены вертикальные отступы между рядами (gap 10px, margin-bottom 10px) и перед блоком «Товары». Строки с «Вид заказа»/«Организация» и «Клиент»/«Автор» растягиваются на всю ширину формы (убрано max-width: 600px), селекты занимают 100% своей ячейки сетки.
|
||||
|
||||
**Изменения**: theme-compact.css (сетка дата/номер, компактные отступы и высота полей, ws-form-row-2 на всю ширину), theme.css (компактные padding и min-height у полей, отступ секции формы).
|
||||
|
||||
---
|
||||
|
||||
## 2025-02-26 00:40 UTC – Планы развития: SPA, канбан, дашборды
|
||||
|
||||
**Добавлено**: В README зафиксированы планы развития фронтенда — канбан заказов (drag-and-drop), живые уведомления, дашборды. Описан рекомендуемый путь перехода на SPA (REST API + отдельный React-фронт) и гибридный вариант миграции.
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 8px 16px;
|
||||
gap: 6px 12px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
@@ -13,6 +13,7 @@
|
||||
margin-bottom: 0;
|
||||
flex-shrink: 0;
|
||||
min-width: 6.5rem;
|
||||
width: 6.5rem;
|
||||
font-size: 12px;
|
||||
color: var(--ws-text-secondary);
|
||||
}
|
||||
@@ -21,30 +22,44 @@
|
||||
.ws-form-compact .ws-form-group select {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
padding: 10px 14px;
|
||||
padding: 6px 10px;
|
||||
border-radius: 8px;
|
||||
height: auto;
|
||||
min-height: 30px;
|
||||
line-height: 1.35;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.ws-form-compact .ws-form-group .ws-text-danger {
|
||||
flex-basis: 100%;
|
||||
margin-left: 7rem;
|
||||
margin-left: 7.5rem;
|
||||
}
|
||||
|
||||
.ws-form-compact .ws-form-row {
|
||||
display: grid;
|
||||
gap: 16px;
|
||||
margin-bottom: 16px;
|
||||
gap: 10px;
|
||||
margin-bottom: 10px;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
/* Строка Дата + Номер: две равные колонки, чёткая сетка */
|
||||
.ws-form-compact .ws-form-row-date-number {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
}
|
||||
|
||||
.ws-form-compact .ws-form-row-date-number .ws-form-group {
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
.ws-form-compact .ws-form-row-date-number .ws-field-date input,
|
||||
.ws-form-compact .ws-form-row-date-number .ws-field-number input {
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.ws-form-compact .ws-form-row-date-number .ws-field-date input {
|
||||
min-width: 11.5rem;
|
||||
width: 11.5rem;
|
||||
flex: 0 0 auto;
|
||||
min-width: 10rem;
|
||||
}
|
||||
|
||||
/* Поле даты — кнопка календаря в стиле MD3 */
|
||||
@@ -73,19 +88,16 @@
|
||||
}
|
||||
}
|
||||
|
||||
.ws-form-compact .ws-form-row-date-number .ws-field-number input {
|
||||
width: 15ch;
|
||||
flex: 0 0 15ch;
|
||||
}
|
||||
|
||||
/* Вид заказа, Организация, Клиент, Автор — на всю ширину формы, две колонки */
|
||||
.ws-form-compact .ws-form-row-2 {
|
||||
grid-template-columns: 1fr 1fr;
|
||||
max-width: 600px;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.ws-form-compact .ws-form-row-2 .ws-form-group input,
|
||||
.ws-form-compact .ws-form-row-2 .ws-form-group select {
|
||||
max-width: 100%;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Таблица товаров — компактные колонки, без горизонтального скролла */
|
||||
|
||||
@@ -345,14 +345,15 @@ a.btn.btn-ws-primary:hover {
|
||||
.ws-form-group textarea {
|
||||
width: 100%;
|
||||
max-width: 400px;
|
||||
padding: 12px 16px;
|
||||
padding: 8px 12px;
|
||||
background: transparent;
|
||||
border: 1px solid var(--ws-border);
|
||||
border-radius: var(--ws-radius-sm);
|
||||
color: var(--ws-text);
|
||||
font-family: var(--ws-font);
|
||||
font-size: 16px;
|
||||
transition: border-color 0.2s, box-shadow 0.2s;
|
||||
font-size: 15px;
|
||||
line-height: 1.35;
|
||||
min-height: 34px;
|
||||
}
|
||||
|
||||
.ws-form-group input:focus,
|
||||
@@ -395,8 +396,8 @@ a.btn.btn-ws-primary:hover {
|
||||
}
|
||||
|
||||
.ws-form-section {
|
||||
margin-top: 24px;
|
||||
padding-top: 20px;
|
||||
margin-top: 16px;
|
||||
padding-top: 14px;
|
||||
border-top: 1px solid var(--ws-border);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user