Files
2026-03-25 17:37:32 +09:00

107 lines
3.6 KiB
Vue
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<script setup>
import {NButton, NFlex, NGi, NGrid, NH2, NForm, NFormItem, NInput, NTransfer, NSwitch} from "naive-ui";
import AppLayout from "../../../Layouts/AppLayout.vue";
import AppContainer from "../../../Components/AppContainer.vue";
import AppPanel from "../../../Components/AppPanel.vue";
import {useForm} from "@inertiajs/vue3";
import {computed, ref} from "vue";
const props = defineProps({
departments: {
type: Array,
default: []
},
roles: {
type: Array,
default: []
}
})
const departmentOptions = computed(() => props.departments.map(itm => ({
label: itm.name_full,
value: itm.department_id
})))
const roleOptions = computed(() => props.roles.map(itm => ({
label: itm.name,
value: itm.role_id
})))
const form = ref({
'name': '',
'login': '',
'password': '',
'is_active': true,
})
</script>
<template>
<AppLayout>
<template #header>
<NFlex align="center" justify="space-between" class="max-w-6xl mx-auto mt-6 mb-4 w-full">
<NH2>
Создание учетной записи
</NH2>
</NFlex>
</template>
<AppContainer>
<NGrid cols="2" x-gap="16">
<NGi>
<AppPanel header="Основная информация">
<NForm v-model:model="form">
<NFormItem label="Имя">
<NInput v-model:value="form.name" />
</NFormItem>
<NFormItem label="Привязка к ресурсу МИС">
<NInput v-model:value="form.password" />
</NFormItem>
<NFormItem label="Основное отделение">
<NInput v-model:value="form.password" />
</NFormItem>
<NFormItem label-placement="left" label-width="auto" label-style="align-items: center;" label="Пользователь заблокирован">
<NSwitch />
</NFormItem>
</NForm>
</AppPanel>
</NGi>
<NGi>
<AppPanel header="Данные для входа">
<NForm v-model:model="form">
<NFormItem label="Логин">
<NInput v-model:value="form.login" />
</NFormItem>
<NFormItem label="Пароль">
<NInput type="password" v-model:value="form.password" show-password-toggle />
</NFormItem>
</NForm>
</AppPanel>
</NGi>
</NGrid>
<AppPanel no-padding header="Привязка к отделениям">
<NTransfer
v-model:value="form.departments"
virtual-scroll
:options="departmentOptions"
source-filterable
target-filterable
/>
</AppPanel>
<AppPanel no-padding header="Роли">
<NTransfer
v-model:value="form.roles"
virtual-scroll
:options="roleOptions"
source-filterable
target-filterable
/>
</AppPanel>
</AppContainer>
</AppLayout>
</template>
<style scoped>
</style>