set permission menu master data of evaluation

This commit is contained in:
Warunee Tamkoo 2024-08-05 10:20:48 +07:00
parent a0ebb23f1f
commit d1be4b077b
17 changed files with 322 additions and 508 deletions

View file

@ -1,7 +1,7 @@
<script setup lang="ts">
import { ref, reactive, onMounted, watch } from "vue";
import { useQuasar, type QTableProps } from "quasar";
import { useRouter } from "vue-router";
import { useRouter, useRoute } from "vue-router";
import http from "@/plugins/http";
import config from "@/app.config";
@ -23,6 +23,7 @@ const modalHistory = ref<boolean>(false);
const total = ref<number>();
const $q = useQuasar();
const router = useRouter();
const route = useRoute();
const { showLoader, hideLoader, dialogRemove, success, messageError } =
useCounterMixin();
@ -108,6 +109,10 @@ function onClickAddOrView(status: boolean = false, id: string = "") {
: router.push("/masterdata/indicator-role/add");
}
function onClickView(id: string = "") {
router.push(`/masterdata/indicator-role/view/${id}`);
}
function onClickDelete(id: number) {
dialogRemove($q, () => {
showLoader();
@ -216,8 +221,10 @@ function onClickHistory(id: string) {
}
onMounted(async () => {
await getOptions();
await fetchList();
if (checkPermission(route)?.attrIsList) {
await getOptions();
await fetchList();
}
});
</script>
@ -331,7 +338,7 @@ onMounted(async () => {
</q-select>
<q-btn
v-if="checkPermission($route)?.attrIsCreate"
v-if="checkPermission($route)?.attrIsCreate"
flat
round
dense
@ -339,7 +346,7 @@ onMounted(async () => {
color="primary"
@click="onClickAddOrView()"
>
<q-tooltip>เพ</q-tooltip>
<q-tooltip>เพอม</q-tooltip>
</q-btn>
<q-space />
@ -418,67 +425,97 @@ onMounted(async () => {
</q-tr>
</template>
<template v-slot:body="props">
<q-tr :props="props" class="cursor-pointer">
<q-tr :props="props">
<q-td auto-width>
<q-btn
v-if="
checkPermission($route)?.attrIsGet ||
checkPermission($route)?.attrIsUpdate ||
checkPermission($route)?.attrIsDelete
"
flat
dense
color="secondary"
icon="mdi-dots-horizontal-circle-outline"
round
color="grey"
@click.stop
size="14px"
icon="more_vert"
>
<q-menu>
<q-list style="min-width: 180px">
<q-list dense style="min-width: 180px">
<q-item
v-if="checkPermission($route)?.attrIsUpdate"
v-if="checkPermission($route)?.attrIsGet"
clickable
v-close-popup
@click.stop.pervent="onClickAddOrView(true, props.row.id)"
@click="onClickHistory(props.row.id)"
>
<q-item-section
style="min-width: 0px"
avatar
class="q-py-sm"
>
<q-item-section style="min-width: 0px" avatar>
<q-tooltip>ประวการแกไข</q-tooltip>
<q-icon
color="deep-purple"
flat
dense
round
name="mdi-history"
size="xs"
/>
</q-item-section>
<q-item-section>ประวการแกไข</q-item-section>
</q-item>
<q-item
v-if="checkPermission($route)?.attrIsGet"
clickable
v-close-popup
@click="onClickView(props.row.id)"
>
<q-item-section style="min-width: 0px" avatar>
<q-tooltip>รายละเอยด</q-tooltip>
<q-icon
flat
dense
round
color="info"
name="mdi-eye"
size="xs"
/>
</q-item-section>
<q-item-section>รายละเอยด</q-item-section>
</q-item>
<q-item
v-if="
checkPermission($route)?.attrIsGet &&
checkPermission($route)?.attrIsUpdate
"
clickable
v-close-popup
@click="onClickAddOrView(true, props.row.id)"
>
<q-item-section style="min-width: 0px" avatar>
<q-tooltip>แกไขขอม</q-tooltip>
<q-icon
flat
dense
round
color="primary"
name="edit"
size="xs"
name="mdi-pencil-outline"
/>
</q-item-section>
<q-item-section>แกไขขอม</q-item-section>
</q-item>
<q-item
v-if="checkPermission($route)?.attrIsUpdate"
clickable
v-close-popup
@click="onClickHistory(props.row.id)"
>
<q-item-section
style="min-width: 0px"
avatar
class="q-py-sm"
>
<q-tooltip>ประวการแกไข</q-tooltip>
<q-icon color="info" size="xs" name="mdi-history" />
</q-item-section>
<q-item-section>ประวการแกไข</q-item-section>
</q-item>
<q-item
v-if="checkPermission($route)?.attrIsDelete"
v-if="checkPermission($route)?.attrIsDelete"
clickable
v-close-popup
@click.stop.pervent="onClickDelete(props.row.id)"
>
<q-item-section
style="min-width: 0px"
avatar
class="q-py-sm"
>
<q-item-section style="min-width: 0px" avatar>
<q-tooltip>ลบขอม</q-tooltip>
<q-icon color="red" size="xs" name="mdi-delete" />
<q-icon
color="red"
flat
round
name="mdi-delete"
size="xs"
/>
</q-item-section>
<q-item-section>ลบขอม</q-item-section>
</q-item>