Files
web/app/components/imports/DeleteProduct.vue
2026-05-15 15:50:40 +07:00

51 lines
1.0 KiB
Vue

<script setup>
import Modal from "@/components/Modal.vue";
const props = defineProps({
product: Object,
});
const { $deleteapi } = useNuxtApp();
const showConfirmModal = ref(null);
function displayModal() {
showConfirmModal.value = {
component: "dialog/Confirm",
title: "Xoá sản phẩm",
width: "500px",
height: "auto",
vbind: {
content: `Bạn xác nhận xoá sản phẩm <b>${props.product.name}</b>?`,
onModalevent: deleteProduct,
},
};
}
const refreshData = inject("refreshData");
async function deleteProduct() {
const res = await $deleteapi("product", props.product.id);
if (res !== "error") {
if (refreshData) refreshData();
}
}
</script>
<template>
<a
class="has-text-danger"
@click="displayModal"
>
<span class="icon">
<Icon
name="material-symbols:delete-outline-rounded"
:size="18"
/>
</span>
<Modal
v-if="showConfirmModal"
v-bind="showConfirmModal"
@close="showConfirmModal = null"
/>
</a>
</template>