64 lines
1.7 KiB
Vue
64 lines
1.7 KiB
Vue
<script setup>
|
|
import { reactive } from 'vue';
|
|
import { useI18n } from 'vue-i18n';
|
|
import VnSearchbar from 'components/ui/VnSearchbar.vue';
|
|
import FormModel from 'components/FormModel.vue';
|
|
import VnRow from 'components/ui/VnRow.vue';
|
|
import VnInput from 'src/components/common/VnInput.vue';
|
|
|
|
import { useStateStore } from 'stores/useStateStore';
|
|
|
|
const { t } = useI18n();
|
|
const stateStore = useStateStore();
|
|
|
|
const newSupplierForm = reactive({
|
|
name: null,
|
|
});
|
|
</script>
|
|
|
|
<template>
|
|
<template v-if="stateStore.isHeaderMounted()">
|
|
<Teleport to="#searchbar">
|
|
<VnSearchbar
|
|
data-key="SuppliersList"
|
|
:limit="20"
|
|
:label="t('Search suppliers')"
|
|
/>
|
|
</Teleport>
|
|
</template>
|
|
|
|
<QPage>
|
|
<QToolbar class="bg-vn-dark justify-end">
|
|
<div id="st-data"></div>
|
|
<QSpace />
|
|
<div id="st-actions"></div>
|
|
</QToolbar>
|
|
<FormModel
|
|
url-create="Suppliers/newSupplier"
|
|
model="supplier"
|
|
:form-initial-data="newSupplierForm"
|
|
>
|
|
<template #form="{ data }">
|
|
<VnRow class="row q-gutter-md q-mb-md">
|
|
<div class="col">
|
|
<VnInput
|
|
v-model="data.name"
|
|
:label="t('supplier.create.supplierName')"
|
|
/>
|
|
</div>
|
|
</VnRow>
|
|
</template>
|
|
</FormModel>
|
|
</QPage>
|
|
</template>
|
|
|
|
<style lang="scss" scoped>
|
|
.card {
|
|
display: flex;
|
|
justify-content: center;
|
|
width: 100%;
|
|
background-color: var(--vn-dark);
|
|
padding: 40px;
|
|
}
|
|
</style>
|