diff --git a/src/components/Dialogs/DialogOrgSelect.vue b/src/components/Dialogs/DialogOrgSelect.vue index abf16751..0804dfb5 100644 --- a/src/components/Dialogs/DialogOrgSelect.vue +++ b/src/components/Dialogs/DialogOrgSelect.vue @@ -4,7 +4,7 @@ import { useCounterMixin } from "@/stores/mixin"; import { useQuasar } from "quasar"; import { ref, watch, reactive } from "vue"; import type { QTableProps } from "quasar"; -import CardPosition from "@/modules/05_placement/components/PersonalList/CardPosition.vue"; + import http from "@/plugins/http"; import config from "@/app.config"; @@ -389,7 +389,7 @@ async function onClickSelectPos(id: string) { positionId.value = id; selectedPos.value = []; const position: DataPositionNo = positionData.value.find( - (e: DataPositionNo) => e.id === id + (e: DataPositionNo) => e.id === id, ); // หาตำแหน่ง @@ -397,7 +397,7 @@ async function onClickSelectPos(id: string) { rowsPosition.value = position.positions; if (seletcId.value) { selectedPos.value = rowsPosition.value.filter( - (e) => e.id === seletcId.value + (e) => e.id === seletcId.value, ); } } @@ -448,7 +448,7 @@ watch( expanded.value = []; } } - } + }, ); watch( @@ -457,7 +457,7 @@ watch( if (value !== oldVal) { getDataTable(nodeId.value, nodeLevel.value); } - } + }, ); watch( @@ -466,7 +466,7 @@ watch( if (value !== oldVal) { getDataTable(nodeId.value, nodeLevel.value); } - } + }, ); watch( @@ -475,11 +475,11 @@ watch( if (n) { onClickSelectPos(n); } - } + }, ); function onSubmit() { const dataPosMaster = posMasterMain.value?.find( - (e: any) => e.id === positionId.value + (e: any) => e.id === positionId.value, ); console.log(dataPosMaster); @@ -650,7 +650,6 @@ function onSubmit() { map-options :options="columns" option-value="name" - style="min-width: 140px" /> diff --git a/src/components/Dialogs/DialogOrgSelectEmployee.vue b/src/components/Dialogs/DialogOrgSelectEmployee.vue index c7eed2b8..b3866698 100644 --- a/src/components/Dialogs/DialogOrgSelectEmployee.vue +++ b/src/components/Dialogs/DialogOrgSelectEmployee.vue @@ -4,7 +4,6 @@ import { useCounterMixin } from "@/stores/mixin"; import { useQuasar } from "quasar"; import { ref, watch, reactive } from "vue"; import type { QTableProps } from "quasar"; -import CardPosition from "@/modules/05_placement/components/PersonalList/CardPosition.vue"; import http from "@/plugins/http"; import config from "@/app.config"; @@ -368,7 +367,7 @@ async function onClickSelectPos(id: string) { positionId.value = id; selectedPos.value = []; const position: DataPositionNo = positionData.value.find( - (e: DataPositionNo) => e.id === id + (e: DataPositionNo) => e.id === id, ); // หาตำแหน่ง @@ -376,7 +375,7 @@ async function onClickSelectPos(id: string) { rowsPosition.value = position.positions; if (seletcId.value) { selectedPos.value = rowsPosition.value.filter( - (e) => e.id === seletcId.value + (e) => e.id === seletcId.value, ); } } @@ -427,7 +426,7 @@ watch( expanded.value = []; } } - } + }, ); watch( @@ -436,7 +435,7 @@ watch( if (value !== oldVal) { getDataTable(nodeId.value, nodeLevel.value); } - } + }, ); watch( @@ -445,7 +444,7 @@ watch( if (value !== oldVal) { getDataTable(nodeId.value, nodeLevel.value); } - } + }, ); watch( @@ -454,11 +453,11 @@ watch( if (n) { onClickSelectPos(n); } - } + }, ); function onSubmit() { const dataPosMaster = posMasterMain.value?.find( - (e: any) => e.id === positionId.value + (e: any) => e.id === positionId.value, ); console.log(dataPosMaster); @@ -629,7 +628,6 @@ function onSubmit() { map-options :options="columns" option-value="name" - style="min-width: 140px" /> diff --git a/src/modules/02_users/interface/index/Main.ts b/src/modules/02_users/interface/index/Main.ts index 3e7e4f47..12ac27f9 100644 --- a/src/modules/02_users/interface/index/Main.ts +++ b/src/modules/02_users/interface/index/Main.ts @@ -75,6 +75,7 @@ interface DataTree { responsibility: string; isDeputy: boolean; labelName: string; + children?: DataTree[]; } interface DataProfile { diff --git a/src/modules/02_users/views/06_rolePositionSalary.vue b/src/modules/02_users/views/06_rolePositionSalary.vue index d4208d6b..ee0d4346 100644 --- a/src/modules/02_users/views/06_rolePositionSalary.vue +++ b/src/modules/02_users/views/06_rolePositionSalary.vue @@ -97,7 +97,11 @@ async function fetchDataTree(id: string) { .get(config.API.orgByid(id.toString())) .then(async (res) => { const data = await res.data.result; - nodeTree.value.push(...data); + const dataTreeFormatted = data.map((item: DataTree) => { + const { children, ...itemWithoutChildren } = item; + return itemWithoutChildren; + }); + nodeTree.value.push(...dataTreeFormatted); if (data.length === 1) { selectedOrg(data[0].orgTreeId); @@ -309,7 +313,7 @@ onMounted(async () => { class="q-pa-sm q-gutter-sm" dense :nodes="nodeTree" - node-key="labelName" + node-key="orgRootName" label-key="labelName" :filter="filter?.trim()" no-results-label="ไม่พบข้อมูลที่ค้นหา" diff --git a/src/modules/02_users/views/page02_rolesAndPermissionsDetail.vue b/src/modules/02_users/views/page02_rolesAndPermissionsDetail.vue index 764bf155..4922f870 100644 --- a/src/modules/02_users/views/page02_rolesAndPermissionsDetail.vue +++ b/src/modules/02_users/views/page02_rolesAndPermissionsDetail.vue @@ -25,14 +25,14 @@ const { dialogConfirm, messageError, showLoader, hideLoader, success } = const roleId = ref(route.params.id.toString()); // id บทบาท // รายการสิทธิ์การเข้าถึง const attrPrivilegeOp = ref([ - { - id: "ROOT", - name: "มีสิทธิ์เข้าถึงข้อมูลในทุกระดับ", // เห็นทั้งคนและกิ่งใน root ที่ตัวเองอยู่ - }, { id: "PARENT", name: "มีสิทธิ์เข้าถึงข้อมูลในทุกระดับที่อยู่ภายใต้หน่วยงานของตัวเอง ยกเว้นระดับชั้นบนสุด", // เห็นเฉพาะกิ่งและคนในกิ่งภายใต้ root ที่ตัวเองอยู่ แต่ไม่เห็นคนที่อยู่ใต้ root }, + { + id: "ROOT", + name: "มีสิทธิ์เข้าถึงข้อมูลในทุกระดับ", // เห็นทั้งคนและกิ่งใน root ที่ตัวเองอยู่ + }, { id: "BROTHER", name: "มีสิทธิ์เข้าถึงข้อมูลตั้งแต่ระดับชั้นที่สูงกว่าตัวเอง 1 ระดับ", // เห็น "ทุกคน" รวมทั้งกิ่งต่าง ๆ ตั้งแต่ระดับ child ที่สูงกว่าตัวเอง 1 ระดับ @@ -104,7 +104,7 @@ async function fetchDataRole() { if (item.children.length !== 0) { item.children.forEach((q: SystemList) => { const findChil = sysList.find( - (e: DataSystem) => e.authSysId === q.id + (e: DataSystem) => e.authSysId === q.id, ); chil.push({ ...q, @@ -119,7 +119,7 @@ async function fetchDataRole() { }); }); const findMainRoot = sysList.find( - (e: DataSystem) => e.parentNode === item.id + (e: DataSystem) => e.parentNode === item.id, ); const arrayChil = chil.filter((a) => a.parentId === item.id); @@ -139,7 +139,7 @@ async function fetchDataRole() { } } else { const findRoot = sysList.find( - (e: DataSystem) => e.authSysId === item.id + (e: DataSystem) => e.authSysId === item.id, ); root.push({ ...item, @@ -172,7 +172,7 @@ function onSubmit() { dialogConfirm($q, () => { showLoader(); const filterList: any = systemLists.value.filter( - (e: any) => e.selected === true + (e: any) => e.selected === true, ); const arrayRoleAttrs = filterList.flatMap((e: any) => { if (e.children.length === 0) { @@ -192,7 +192,7 @@ function onSubmit() { (e: any) => e.selected === true && e.attrOwnership !== "" && - e.attrPrivilege !== "" + e.attrPrivilege !== "", ); return filterListChil.map((i: any) => ({ parentNode: e.id,