| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596 |
- <script setup>
- import { Inertia } from '@inertiajs/inertia'
- import { useConfirm } from 'primevue/useconfirm'
- import { indexTable } from './config'
- import AppSearchFilter from '@/components/AppSearchFilter.vue'
- import AppButtonLink from '@/components/AppButtonLink.vue'
- import AppPagination from '@/components/AppPagination.vue'
- import DashboardLayout from '@/layouts/Dashboard/DashboardLayout.vue'
-
- defineProps({
- initialFilters: Object,
- suppliers: Object,
- })
-
- const deleteConfirm = useConfirm()
-
- const onDelete = (data) => {
- deleteConfirm.require({
- message: `Yakin akan menghapus data (${data.name}) ?`,
- header: 'Hapus Supplier',
- acceptLabel: 'Iya',
- rejectLabel: 'Tidak',
- accept: () => {
- Inertia.delete(route('suppliers.destroy', data.id))
- },
- reject: () => {
- deleteConfirm.close()
- },
- })
- }
- </script>
-
- <template>
- <DashboardLayout title="Daftar Supplier">
- <DataTable
- responsiveLayout="scroll"
- :value="suppliers.data"
- :rowHover="true"
- :stripedRows="true"
- >
- <template #header>
- <h1>Supplier</h1>
-
- <div class="grid">
- <div class="col-12 md:col-8">
- <AppSearchFilter
- placeholder="nama, no hp, npwp"
- name-param="search"
- :initial-search="initialFilters"
- />
- </div>
-
- <div
- class="col-12 md:col-4 flex flex-column md:flex-row justify-content-end"
- >
- <AppButtonLink
- label="Tambah Supplier"
- icon="pi pi-pencil"
- class="p-button-outlined"
- :href="route('suppliers.create')"
- />
- </div>
- </div>
- </template>
-
- <Column
- v-for="value in indexTable"
- :field="value.field"
- :header="value.header"
- :key="value.field"
- />
-
- <Column>
- <template #body="{ data }">
- <AppButtonLink
- icon="pi pi-pencil"
- class="p-button-icon-only p-button-rounded p-button-text"
- v-tooltip.bottom="'Ubah Supplier'"
- :href="route('suppliers.edit', data.id)"
- />
-
- <Button
- v-if="!data.isUsed"
- icon="pi pi-trash"
- class="p-button-icon-only p-button-rounded p-button-text"
- v-tooltip.bottom="'Hapus Supplier'"
- @click="onDelete(data)"
- />
- </template>
- </Column>
- </DataTable>
-
- <AppPagination :links="suppliers.links" />
- </DashboardLayout>
- </template>
|