store/resources/js/pages/admin/manage/stok-opnames/table/data-table-actions.vue
Yoga Pangestu 15e2b7ec5b
Some checks are pending
linter / quality (push) Waiting to run
tests / ci (8.3) (push) Waiting to run
tests / ci (8.4) (push) Waiting to run
tests / ci (8.5) (push) Waiting to run
feat: add material_result field to CuttingMaterial and CuttingMaterialCombination; update validation rules and service logic to handle new material result calculations; enhance frontend components for displaying material results in cutting management
2026-07-04 23:14:37 +07:00

53 lines
1.7 KiB
Vue

<script setup lang="ts">
import { RowDeleteAction, RowEditAction, RowSubmitAction, RowApproveAction, RowRejectAction } from '@/components/button';
import { useCan } from '@/composables/useCan';
import { destroy } from '@/routes/admin/manage/stok-opnames';
import type { StokOpnameListItem } from '@/types/stok-opname';
defineProps<{
stokOpname: StokOpnameListItem;
}>();
const emit = defineEmits<{
edit: [];
submit: [];
verify: [];
reject: [];
}>();
const { can } = useCan();
</script>
<template>
<div class="flex items-center justify-end gap-1">
<RowSubmitAction
v-if="can('stok_opnames.submit') && (stokOpname.status === 'draft' || stokOpname.status === 'rejected')"
tooltip="Ajukan Verifikasi"
@click="emit('submit')"
/>
<RowApproveAction
v-if="can('stok_opnames.verify') && stokOpname.status === 'pending'"
tooltip="Verifikasi"
@click="emit('verify')"
/>
<RowRejectAction
v-if="can('stok_opnames.verify') && stokOpname.status === 'pending'"
tooltip="Tolak"
@click="emit('reject')"
/>
<RowEditAction
v-if="can('stok_opnames.update') && (stokOpname.status === 'draft' || stokOpname.status === 'rejected')"
@click="emit('edit')"
/>
<RowDeleteAction
v-if="can('stok_opnames.delete') && (stokOpname.status === 'draft' || stokOpname.status === 'rejected')"
:action-url="destroy.url(stokOpname.id)"
title="Hapus stok opname?"
description="Data stok opname ini akan dihapus permanen."
/>
</div>
</template>