feat(ui): тип лица полными словами, зелёные дни недели, скрытие банк-реквизитов у физлица
- Настройки→Реквизиты и диалог проекта: «Физлицо»→«Физическое лицо», «Юрлицо»→«Юридическое лицо» (ключи value не тронуты) - У физлица скрыт блок «Реквизиты для оплаты» (банковских реквизитов нет; оплата по счёту — только для юр/ИП) - Диалог проекта: выбранные дни недели залиты зелёным #0f6e56 как в ProjectDetailsDrawer Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -276,7 +276,13 @@
|
||||
|
||||
<div class="mt-3">
|
||||
<span class="text-caption">Дни недели приёма</span>
|
||||
<v-btn-toggle v-model="selectedDays" multiple density="comfortable" class="mt-1">
|
||||
<v-btn-toggle
|
||||
v-model="selectedDays"
|
||||
multiple
|
||||
density="comfortable"
|
||||
class="mt-1 day-toggle"
|
||||
selected-class="day-active"
|
||||
>
|
||||
<v-btn v-for="(day, i) in dayLabels" :key="i" :value="i">{{ day }}</v-btn>
|
||||
</v-btn-toggle>
|
||||
<div class="mt-1">
|
||||
@@ -436,9 +442,9 @@ const reqSaving = ref(false);
|
||||
const reqGeneralError = ref<string | null>(null);
|
||||
|
||||
const subjectTypeItems = [
|
||||
{ value: 'individual', title: 'Физлицо' },
|
||||
{ value: 'individual', title: 'Физическое лицо' },
|
||||
{ value: 'sole_proprietor', title: 'ИП' },
|
||||
{ value: 'legal_entity', title: 'Юрлицо' },
|
||||
{ value: 'legal_entity', title: 'Юридическое лицо' },
|
||||
];
|
||||
|
||||
// Зеркало RequisitesService::isLightComplete — тип лица + имя + телефон (+ ИНН для юр/ИП).
|
||||
@@ -767,4 +773,12 @@ defineExpose({
|
||||
border-color: currentColor;
|
||||
opacity: 1;
|
||||
}
|
||||
/* Выбранные дни недели — сплошная зелёная заливка, как в ProjectDetailsDrawer (.pdd-day.active) */
|
||||
.day-toggle :deep(.v-btn.day-active) {
|
||||
background-color: #0f6e56;
|
||||
color: #fff;
|
||||
}
|
||||
.day-toggle :deep(.v-btn.day-active .v-btn__overlay) {
|
||||
opacity: 0;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -37,9 +37,9 @@ const lookupMessage = ref('');
|
||||
const lookupError = ref(false);
|
||||
|
||||
const subjectTypes = [
|
||||
{ value: 'individual', label: 'Физлицо' },
|
||||
{ value: 'individual', label: 'Физическое лицо' },
|
||||
{ value: 'sole_proprietor', label: 'ИП' },
|
||||
{ value: 'legal_entity', label: 'Юрлицо' },
|
||||
{ value: 'legal_entity', label: 'Юридическое лицо' },
|
||||
];
|
||||
|
||||
const requiresInn = computed(
|
||||
@@ -49,8 +49,10 @@ const requiresInn = computed(
|
||||
const isLegalEntity = computed(() => form.subject_type === 'legal_entity');
|
||||
const isSoleProprietor = computed(() => form.subject_type === 'sole_proprietor');
|
||||
|
||||
// Блок платёжных реквизитов виден, как только выбран тип лица.
|
||||
const showPayment = computed(() => form.subject_type !== null);
|
||||
// Блок платёжных реквизитов виден для ИП и юрлица; у физлица банковских реквизитов нет.
|
||||
const showPayment = computed(
|
||||
() => form.subject_type !== null && form.subject_type !== 'individual',
|
||||
);
|
||||
// КПП — только юрлицо; ОГРН/ОГРНИП и юр.адрес — юрлицо и ИП; банк — всегда (когда showPayment).
|
||||
const showKpp = computed(() => isLegalEntity.value);
|
||||
const showOgrn = computed(() => isLegalEntity.value || isSoleProprietor.value);
|
||||
|
||||
Reference in New Issue
Block a user