- 등록 폼: 중성화 여부(완료/안 함) 필수 토글, 미선택 시 등록 불가 - AI 추천: 중성화 찾기 옵션(상관없음/완료/안 함) → 조건 강아지 중에서만 추천 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -102,6 +102,22 @@
|
||||
emit-value
|
||||
map-options
|
||||
/>
|
||||
<div>
|
||||
<div class="text-caption text-grey-7 q-mb-xs">중성화 여부 <span class="text-negative">*</span></div>
|
||||
<q-btn-toggle
|
||||
v-model="form.neutered"
|
||||
spread
|
||||
unelevated
|
||||
no-caps
|
||||
toggle-color="primary"
|
||||
color="grey-3"
|
||||
text-color="grey-8"
|
||||
:options="[
|
||||
{ label: '중성화 완료', value: true },
|
||||
{ label: '안 함', value: false },
|
||||
]"
|
||||
/>
|
||||
</div>
|
||||
</q-card-section>
|
||||
<q-card-actions align="right">
|
||||
<q-btn flat label="취소" v-close-popup />
|
||||
@@ -110,7 +126,7 @@
|
||||
unelevated
|
||||
label="등록"
|
||||
:loading="creating"
|
||||
:disable="!form.name"
|
||||
:disable="!form.name || form.neutered === null"
|
||||
@click="onCreate"
|
||||
/>
|
||||
</q-card-actions>
|
||||
@@ -141,10 +157,16 @@ const sizeOptions = [
|
||||
{ label: '중형견', value: 'MEDIUM' },
|
||||
{ label: '대형견', value: 'LARGE' },
|
||||
]
|
||||
const form = reactive<{ name: string; breed: string; size: string | null }>({
|
||||
const form = reactive<{
|
||||
name: string
|
||||
breed: string
|
||||
size: string | null
|
||||
neutered: boolean | null
|
||||
}>({
|
||||
name: '',
|
||||
breed: '',
|
||||
size: null,
|
||||
neutered: null,
|
||||
})
|
||||
|
||||
onMounted(async () => {
|
||||
@@ -208,13 +230,20 @@ function openCreate() {
|
||||
form.name = ''
|
||||
form.breed = ''
|
||||
form.size = null
|
||||
form.neutered = null
|
||||
createOpen.value = true
|
||||
}
|
||||
|
||||
async function onCreate() {
|
||||
if (form.neutered === null) return
|
||||
creating.value = true
|
||||
try {
|
||||
await dogs.createDog({ name: form.name, breed: form.breed || null, size: form.size })
|
||||
await dogs.createDog({
|
||||
name: form.name,
|
||||
breed: form.breed || null,
|
||||
size: form.size,
|
||||
neutered: form.neutered,
|
||||
})
|
||||
createOpen.value = false
|
||||
$q.notify({ color: 'primary', message: `${form.name} 등록 완료!`, icon: 'pets', position: 'top' })
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user