add additional text

This commit is contained in:
aarizona 2024-05-30 13:44:38 +03:00
parent 15c54bd3e6
commit 66a298e101
2 changed files with 18 additions and 7 deletions

View File

@ -162,6 +162,7 @@ class ElementViewSet(viewsets.ModelViewSet):
inventory=inventory_object,
external_id=data["element"],
element_id=data["element_id"],
additional_text=data["element_additional_data"],
)
element_serializer = ElementSerializer(element_item, many=False)

View File

@ -20,6 +20,7 @@ type StateDataType = {
inventory?: string
element?: string
element_id?: string
element_additional_data?: string
}
const loading = ref(false)
const state = reactive<StateDataType>({
@ -27,7 +28,8 @@ const state = reactive<StateDataType>({
categories: [],
inventory: route.params.inv_id as string || undefined,
element: undefined,
element_id: undefined
element_id: undefined,
element_additional_data: undefined
})
const external_data = reactive<ExternalDataType>({
partner: [],
@ -43,6 +45,7 @@ const validate = (state: any): FormError[] => {
errors.push({ path: 'partner', message: txt })
}
if (!state.element_id) errors.push({ path: 'element_id', message: txt })
if (!state.element_additional_data) errors.push({ path: 'element_additional_data', message: txt })
return errors
}
@ -131,7 +134,9 @@ onMounted(async () => {
searchable-placeholder="Выберите организацию из списка контрагентов" :loading="loading"
:disabled="!!props.partner" />
</UFormGroup>
<UFormGroup label="Добавить элемент инвентаризации" v-if="state.partner">
<UFormGroup label="Добавить элемент инвентаризации" v-if="state.partner" :help="!external_data.element?.length ? `Последовательно
выбирайте категорию. Если все выбрали, а элементов нет -
значит в этой категории нет элементов`: ''">
<template v-for="(item, i) in external_data.categories">
<USelectMenu v-model="(state.categories as string[])[i]" :options="item"
value-attribute="Ref_Key" option-attribute="Description" :searchable="true"
@ -143,11 +148,16 @@ onMounted(async () => {
:searchable="true" :loading="loading"
:placeholder="`Элементы (${external_data.element.length})`" />
</UFormGroup>
<UFormGroup v-if="state.element"
:label="`Данные об элементе «${external_data.element?.find(el => el['Ref_Key'] === state.element)?.Description}»`"
name="element_id">
<div v-if="state.element">
<h4>Данные об элементе «{{ external_data.element?.find(el => el['Ref_Key'] ===
state.element)?.Description }}»</h4>
<UFormGroup label="ID" name="element_id">
<UInput placeholder="ID" v-model="state.element_id" />
</UFormGroup>
<UFormGroup label="Дополнительные сведения" name="element_additional_data">
<UTextarea placeholder="ID" v-model="state.element_additional_data" />
</UFormGroup>
</div>
<UButton type="submit" :disabled="!state.element_id">
Сохранить