diff --git a/src/api/02_organizational/api.organization.ts b/src/api/02_organizational/api.organization.ts index b07565b76..92d126242 100644 --- a/src/api/02_organizational/api.organization.ts +++ b/src/api/02_organizational/api.organization.ts @@ -112,4 +112,10 @@ export default { * รายการคำร้องขอแก้ไขทะเบียนประวัติ */ requestEdit: `${orgProfile}/edit/`, + + /** + * รายการเมนู + */ + orgPermissions: `${organization}/permission/menu`, + orgPermissionsSys: `${organization}/permission`, }; diff --git a/src/interface/response/main.ts b/src/interface/response/main.ts new file mode 100644 index 000000000..7db230f15 --- /dev/null +++ b/src/interface/response/main.ts @@ -0,0 +1,40 @@ +interface ListMenu { + id: string; + icon: string; + order: number; + parentId?: string | null; + path: string; + sysDescription: string; + sysName: string; + children?: ListMenu[]; +} + +interface ChildConfig { + sysName?: string; + path: string; +} + +interface ChildLevelTree { + [key: string]: ChildConfig[]; +} + +interface DataPermissions { + id: string; + roleDescription: string; + roleName: string; + roles: DataRoles[]; +} + +interface DataRoles { + attrIsCreate: boolean; + attrIsDelete: boolean; + attrIsGet: boolean; + attrIsList: boolean; + attrIsUpdate: boolean; + attrOwnership: string; + attrPrivilege: string; + authSysId: string; + parentNode: string; +} + +export type { ListMenu, ChildLevelTree, ChildConfig, DataPermissions }; diff --git a/src/main.ts b/src/main.ts index 646376a1b..24545e6ac 100644 --- a/src/main.ts +++ b/src/main.ts @@ -98,24 +98,27 @@ const kcToken = getCookie("BMAHRIS_KEYCLOAK_IDENTITY"); const kcRefreshToken = getCookie("BMAHRIS_KEYCLOAK_REFRESH"); if (kcToken && kcRefreshToken) { - keycloak - .init({ - // onLoad: 'login-required', - checkLoginIframe: false, - token: kcToken, - refreshToken: kcRefreshToken, - }) - .then((authenticated) => { - console.log("authenticated", authenticated); - if (!authenticated) { - window.location.reload(); - } else { - console.log("Authenticated"); - } - }) - .catch((err) => { - console.error("Keycloak initialization failed:", err); - }); + keycloak.init({ + // onLoad: 'login-required', + checkLoginIframe: false, + token: kcToken, + refreshToken: kcRefreshToken, + }); + keycloak.authenticated = true; + + // .then((authenticated) => { + // console.log("authenticated", authenticated); + // if (!authenticated) { + // window.location.reload(); + // } else { + // console.log("Authenticated"); + // } + // }) + // .catch((err) => { + // console.error("Keycloak initialization failed:", err); + // }); +} else { + keycloak.authenticated = false; } app.mount("#app"); diff --git a/src/modules/02_organizationalNew/components/DialogAddPosition.vue b/src/modules/02_organizationalNew/components/DialogAddPosition.vue index dc16d3528..197a0144f 100644 --- a/src/modules/02_organizationalNew/components/DialogAddPosition.vue +++ b/src/modules/02_organizationalNew/components/DialogAddPosition.vue @@ -11,7 +11,6 @@ import config from "@/app.config"; import type { DataOption, FormPositionSelect, - FormPositionSelectRef, } from "@/modules/02_organizationalNew/interface/index/Main"; import type { OptionType, diff --git a/src/modules/02_organizationalNew/components/DialogFormDateTime.vue b/src/modules/02_organizationalNew/components/DialogFormDateTime.vue index 74add7fa9..70ac8a855 100644 --- a/src/modules/02_organizationalNew/components/DialogFormDateTime.vue +++ b/src/modules/02_organizationalNew/components/DialogFormDateTime.vue @@ -70,10 +70,10 @@ function onSubmit() { .put(config.API.orgSetDateTime(store.draftId as string), { orgPublishDate: dateTime.value, }) - .then((res) => { - props.close?.(); - props.fetchActive(); - success($q, "บันทึกข้อมูลสำเร็จ"); + .then(async () => { + await props.fetchActive(); + await props.close?.(); + await success($q, "บันทึกข้อมูลสำเร็จ"); }) .catch((e) => { messageError($q, e); @@ -91,9 +91,9 @@ function onClickPublish() { showLoader(); http .get(config.API.organizationPublishGet) - .then((res) => { - props.fetchActive(); - props.close?.(); + .then(async () => { + await props.fetchActive(); + await props.close?.(); }) .catch((e) => { messageError($q, e); diff --git a/src/modules/02_organizationalNew/components/DialogFormPosition.vue b/src/modules/02_organizationalNew/components/DialogFormPosition.vue index 34b900283..865b51d4e 100644 --- a/src/modules/02_organizationalNew/components/DialogFormPosition.vue +++ b/src/modules/02_organizationalNew/components/DialogFormPosition.vue @@ -1,30 +1,58 @@