diff --git a/src/api/02_organizational/api.organization.ts b/src/api/02_organizational/api.organization.ts index e90248dfa..92d126242 100644 --- a/src/api/02_organizational/api.organization.ts +++ b/src/api/02_organizational/api.organization.ts @@ -117,5 +117,5 @@ export default { * รายการเมนู */ orgPermissions: `${organization}/permission/menu`, - + orgPermissionsSys: `${organization}/permission`, }; diff --git a/src/interface/response/main.ts b/src/interface/response/main.ts index f866af099..7db230f15 100644 --- a/src/interface/response/main.ts +++ b/src/interface/response/main.ts @@ -18,4 +18,23 @@ interface ChildLevelTree { [key: string]: ChildConfig[]; } -export type { ListMenu, ChildLevelTree, 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/modules/02_organizationalNew/components/DialogFormPosition.vue b/src/modules/02_organizationalNew/components/DialogFormPosition.vue index afaa27140..865b51d4e 100644 --- a/src/modules/02_organizationalNew/components/DialogFormPosition.vue +++ b/src/modules/02_organizationalNew/components/DialogFormPosition.vue @@ -15,7 +15,6 @@ import type { DataOption, FormPositionSelect, RowDetailPositions, - FormPositionSelectRef, ListMenu, } from "@/modules/02_organizationalNew/interface/index/Main"; import type { @@ -114,14 +113,6 @@ const rowsPositionSelect = ref([]); const prefixNoRef = ref(null); const positionNoRef = ref(null); -const positionNameRef = ref(null); -const positionFieldRef = ref(null); -const positionTypeRef = ref(null); -const positionLevelRef = ref(null); -const positionExecutiveRef = ref(null); -const positionExecutiveFieldRef = ref(null); -const positionAreaRef = ref(null); - const formData = reactive({ shortName: props.shortName, prefixNo: "", diff --git a/src/modules/02_organizationalNew/components/DialogSelectPerson.vue b/src/modules/02_organizationalNew/components/DialogSelectPerson.vue index fd358bd4b..a5f4c8a66 100644 --- a/src/modules/02_organizationalNew/components/DialogSelectPerson.vue +++ b/src/modules/02_organizationalNew/components/DialogSelectPerson.vue @@ -88,7 +88,7 @@ const formData = reactive({ }); /** - * ข้อมูลธฟิสำ Table + * ข้อมูล Table */ const row = ref([]); const rowResult = ref([]); @@ -403,7 +403,9 @@ function clearPosition() { formData.positionLevel = ""; } -/** callback function ทำงานเมื่อเปิด popup*/ +/** + * callback function ทำงานเมื่อเปิด popup + */ watch( () => modal.value, async () => { @@ -439,7 +441,9 @@ watch( } ); -/** callback function ทำงานการค้นหาข้อมุลคนครองเมื่อมีการ update Pagination*/ +/** + * callback function ทำงานการค้นหาข้อมุลคนครองเมื่อมีการ update Pagination + */ watch([() => page.value, () => pageSize.value], () => { searchData(); }); diff --git a/src/modules/16_positionEmployee/components/DialogAddPosition.vue b/src/modules/16_positionEmployee/components/DialogAddPosition.vue index 7bee3f75a..800ec9c63 100644 --- a/src/modules/16_positionEmployee/components/DialogAddPosition.vue +++ b/src/modules/16_positionEmployee/components/DialogAddPosition.vue @@ -4,33 +4,48 @@ import { useQuasar } from "quasar"; import http from "@/plugins/http"; import config from "@/app.config"; +/** + * importType + */ import type { ResGroup, ResLevel, } from "@/modules/01_metadataNew/interface/response/positionEmployee/Main"; import type { ObjectPosRef } from "@/modules/01_metadataNew/interface/index/positionEmployee"; import type { DataOption } from "@/modules/16_positionEmployee/interface/index/Main"; - import type { OptionType } from "@/modules/16_positionEmployee/interface/response/organizational"; +/** + * importComponents + */ import DialogHeader from "@/components/DialogHeader.vue"; +/** + * importStore + */ import { useCounterMixin } from "@/stores/mixin"; -const isSpecial = ref(false); +/** + * use + */ +const $q = useQuasar(); +const mixin = useCounterMixin(); +const { dialogConfirm, showLoader, hideLoader, messageError, success } = mixin; + +/** + * props + */ +const modal = defineModel("modalAdd", { required: true }); +const isEditCheck = defineModel("isEdit", { required: true }); const props = defineProps({ emitSearch: Function, getData: Function, data: Object, levelOp: Object, }); -const modal = defineModel("modalAdd", { required: true }); -const isEditCheck = defineModel("isEdit", { required: true }); -const $q = useQuasar(); -const mixin = useCounterMixin(); -const { dialogConfirm, showLoader, hideLoader, messageError, success } = mixin; const isDisValidate = ref(false); +const isSpecial = ref(false); const formDataPos = reactive({ posName: "", posTypeName: "", @@ -49,7 +64,9 @@ const posTypeMain = ref([]); const posTypeOp = ref([]); const posLevelOp = ref([]); -/** ฟังก์ชั่นตรวจสอบความถูกต้องของข้อมูลในฟอร์ม */ +/** + * ฟังก์ชั่นตรวจสอบความถูกต้องของข้อมูลในฟอร์ม + */ function validateFormPositionEdit() { isDisValidate.value = false; const hasError = []; @@ -80,9 +97,9 @@ async function submit() { ? config.API.orgEmployeePos : config.API.orgEmployeePosById(props?.data?.id); await http[!isEditCheck.value ? "post" : "put"](url, body); - success($q, "บันทีกข้อมูลสำเร็จ"); - props.emitSearch?.(formDataPos.posName, "positionName"); - close(); + await props.emitSearch?.(formDataPos.posName, "positionName"); + await success($q, "บันทีกข้อมูลสำเร็จ"); + await close(); } catch (err) { messageError($q, err); } finally { diff --git a/src/modules/16_positionEmployee/components/DialogFormPosition.vue b/src/modules/16_positionEmployee/components/DialogFormPosition.vue index 2ce81f998..0112925f4 100644 --- a/src/modules/16_positionEmployee/components/DialogFormPosition.vue +++ b/src/modules/16_positionEmployee/components/DialogFormPosition.vue @@ -4,22 +4,17 @@ import { useQuasar } from "quasar"; import http from "@/plugins/http"; import config from "@/app.config"; +/** + * importType + */ import type { QTableProps } from "quasar"; import type { FormDataPosition, FormPositionRef, DataOption, - FormPositionSelect, RowDetailPositions, - FormPositionSelectRef, ListMenu, } from "@/modules/16_positionEmployee/interface/index/Main"; -import type { - OptionType, - OptionLevel, - OptionExecutive, - DataPosition, -} from "@/modules/16_positionEmployee/interface/response/organizational"; import type { FilterMaster } from "@/modules/16_positionEmployee/interface/request/organizational"; import DialogHeader from "@/components/DialogHeader.vue"; import DialogAddPosition from "@/modules/16_positionEmployee/components/DialogAddPosition.vue"; @@ -705,7 +700,6 @@ watch( {{ col.value }} - diff --git a/src/modules/16_positionEmployee/components/DialogHistoryPos.vue b/src/modules/16_positionEmployee/components/DialogHistoryPos.vue index c84b7da30..4b6db61fb 100644 --- a/src/modules/16_positionEmployee/components/DialogHistoryPos.vue +++ b/src/modules/16_positionEmployee/components/DialogHistoryPos.vue @@ -1,20 +1,42 @@