diff --git a/src/api/manage/api.management.ts b/src/api/manage/api.management.ts index 8256a2a2..66341b36 100644 --- a/src/api/manage/api.management.ts +++ b/src/api/manage/api.management.ts @@ -3,6 +3,7 @@ import env from "../index"; const management = `${env.API_URI}/org/keycloak`; const managementAuth = `${env.API_URI}/org/auth/authRole`; const managementSys = `${env.API_URI}/org/auth/authSys`; +const managementPermission = `${env.API_URI}/org/auth/authRole/govoment`; export default { management, @@ -12,4 +13,7 @@ export default { /** จัดการบทบาทและสิทธิ์*/ managementAuth, + + /** กำหนดสิทธิ์*/ + managementPermission, }; diff --git a/src/modules/02_users/components/Permissions/DialogAdd.vue b/src/modules/02_users/components/Permissions/DialogAdd.vue index 0ad3e605..10c87a95 100644 --- a/src/modules/02_users/components/Permissions/DialogAdd.vue +++ b/src/modules/02_users/components/Permissions/DialogAdd.vue @@ -9,8 +9,8 @@ import DialogHeader from "@/components/DialogHeader.vue"; /** importType*/ import type { QTableProps } from "quasar"; -import type { Roles } from "@/modules/02_users/interface/response/Main"; import type { FilterReqMaster } from "@/modules/02_users/interface/request/Main"; +import type { Roles } from "@/modules/02_users/interface/response/Main"; /** importStore*/ import { useCounterMixin } from "@/stores/mixin"; @@ -35,6 +35,10 @@ const props = defineProps({ type: Function, required: true, }, + dataPosMaster: { + type: Object, + required: true, + }, }); const rows = ref([]); @@ -89,17 +93,27 @@ function onSubmit() { dialogMessageNotify($q, "กรุณาเลือกสิทธิ์อย่างน้อง 1 สิทธิ์"); } else { dialogConfirm($q, () => { - const arrayId = selected.value.map((e: Roles) => e.id); - console.log(arrayId); - showLoader(); - closeDialog(); - props.fetchDataTable( - reqMaster.value.id, - reqMaster.value.revisionId, - reqMaster.value.type - ); - hideLoader(); + const arrayId = selected.value.map((e: Roles) => e.id); + http + .post(config.API.managementPermission, { + authRoleId: arrayId[0], + posMasterId: props.dataPosMaster.id, + }) + .then(() => { + closeDialog(); + props.fetchDataTable( + reqMaster.value.id, + reqMaster.value.revisionId, + reqMaster.value.type + ); + }) + .catch((err) => { + messageError($q, err); + }) + .finally(() => { + hideLoader(); + }); }); } } @@ -139,17 +153,17 @@ watch( dense :rows-per-page-options="[10, 25, 50, 100]" :visible-columns="visibleColumns" - selection="multiple" + selection="single" v-model:selected="selected" > -