42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
import {
|
|
LINEAGE_PERSON_OPTIONS,
|
|
LINEAGE_RELATION_OPTIONS,
|
|
LINEAGE_RELATION_TYPE
|
|
} from '@/services/api/lineage-person-options.js'
|
|
|
|
export const memberFormOptions = LINEAGE_PERSON_OPTIONS
|
|
export const memberRelationOptions = LINEAGE_RELATION_OPTIONS
|
|
export const memberRelationTypes = LINEAGE_RELATION_TYPE
|
|
|
|
export const findMemberOptionIndex = (options, value) => Math.max(
|
|
0,
|
|
options.findIndex((option) => option.value === value)
|
|
)
|
|
|
|
export const findMemberOptionLabel = (options, value) => (
|
|
options.find((option) => option.value === value)?.label || ''
|
|
)
|
|
|
|
const pickerOptionValue = (options, event, fallback = '') => (
|
|
options[Number(event.detail.value)]?.value || fallback
|
|
)
|
|
|
|
export const updateMemberFormOption = (form, field, options, event) => {
|
|
form[field] = pickerOptionValue(options, event)
|
|
if (field === 'personStatus' && form.personStatus !== '1') {
|
|
Object.assign(form, {
|
|
deathDate: '',
|
|
deathLunar: '',
|
|
deathPlace: '',
|
|
burialPlace: ''
|
|
})
|
|
}
|
|
return form[field]
|
|
}
|
|
|
|
export const updateMemberBindingMode = (form, event) => {
|
|
form.bindingMode = pickerOptionValue(memberFormOptions.bindingMode, event, 'NONE')
|
|
if (form.bindingMode !== 'SPECIFIED') form.appUserId = ''
|
|
return form.bindingMode
|
|
}
|