-import { ref, onMounted, computed } from "vue";
-import { useQuasar } from "quasar";
+import { ref, onMounted, watch } from "vue";
import type { QTableProps } from "quasar";
-import { useRouter, useRoute } from "vue-router";
+import { useRouter } from "vue-router";
import { checkPermission } from "@/utils/permissions";
import { useLeavelistDataStore } from "@/modules/09_leave/stores/LeaveStore";
-import { useCounterMixin } from "@/stores/mixin";
-import http from "@/plugins/http";
-import config from "@/app.config";
-const $q = useQuasar();
const leaveStore = useLeavelistDataStore();
-const route = useRoute();
const router = useRouter();
-const { showLoader, hideLoader, messageError, dialogRemove, success } =
- useCounterMixin();
const total = defineModel
("total", { required: true });
const totalList = defineModel("totalList", { required: true });
const pagination = defineModel("pagination", { required: true });
-const props = defineProps({
- getList: Function,
- rows: {
- type: Object,
- require: true,
- },
- page: {
- type: Number,
- require: true,
- },
- rowsPerPage: {
- type: Number,
- require: true,
- },
- maxPage: {
- type: Number,
- require: true,
- },
- totalList: {
- type: Number,
- require: true,
- },
- dataToobar: Object,
-});
-
-const isPermissionDelete = computed(() => {
- return (status: string) => {
- return (
- checkPermission(route)?.attrOwnership === "OWNER" &&
- !leaveStore.statusDelete.includes(status) &&
- leaveStore.tabMenu === "1"
- );
- };
-});
/** ข้อมูลหัวตาราง รายการลา */
const columnsLeave = ref([
@@ -254,6 +212,31 @@ const visibleReject = ref([
"status",
]);
+const props = defineProps({
+ getList: Function,
+ rows: {
+ type: Object,
+ require: true,
+ },
+ page: {
+ type: Number,
+ require: true,
+ },
+ rowsPerPage: {
+ type: Number,
+ require: true,
+ },
+ maxPage: {
+ type: Number,
+ require: true,
+ },
+ totalList: {
+ type: Number,
+ require: true,
+ },
+ dataToobar: Object,
+});
+
/** ไปหน้ารายละเอียด */
function redirectToDetail(id: string) {
const routePrefix = leaveStore.tabMenu === "1" ? "/leave" : "/leave-reject";
@@ -281,21 +264,6 @@ function getStatusColor(statusText: string) {
return statusMap[statusText.toUpperCase()] ?? "";
}
-function handleDelete(id: string) {
- dialogRemove($q, async () => {
- try {
- showLoader();
- await http.delete(config.API.leaveList() + `/${id}`);
- await props.getList?.();
- success($q, "ลบข้อมูลสำเร็จ");
- } catch (error) {
- messageError($q, error);
- } finally {
- hideLoader();
- }
- });
-}
-
/** Hook*/
onMounted(() => {
if (leaveStore.tabMenu === "1") {
@@ -345,17 +313,6 @@ onMounted(() => {
>
รายละเอียด
-
- ลบข้อมูล
-
{
const leaveType = ref([]);
- const statusDelete = ["APPROVE", "DELETING", "DELETE"];
-
/**
* ฟังก์ชั่น fetchListLeave
* @param data รับข้อมูลจาก Page
@@ -266,6 +264,5 @@ export const useLeavelistDataStore = defineStore("leave", () => {
leaveTypeOption,
leaveTypeList,
fetchKeycloakPosition,
- statusDelete,
};
});