fixing filter register & show rang

This commit is contained in:
Warunee Tamkoo 2024-09-04 14:37:39 +07:00
parent 2531a90e57
commit 6ee3227f16
6 changed files with 54 additions and 46 deletions

View file

@ -399,9 +399,13 @@ watch(
class="text-weight-medium q-mt-sm" class="text-weight-medium q-mt-sm"
> >
{{ {{
`${props.row.prefix ? props.row.prefix : ""}${ `${
props.row.firstName props.row.rank
} ${props.row.lastName}` ? props.row.rank
: props.row.prefix
? props.row.prefix
: ""
}${props.row.firstName} ${props.row.lastName}`
}} }}
</div> </div>
<div <div
@ -414,9 +418,13 @@ watch(
> >
<q-tooltip>รายละเอยด</q-tooltip> <q-tooltip>รายละเอยด</q-tooltip>
{{ {{
`${props.row.prefix ? props.row.prefix : ""}${ `${
props.row.firstName props.row.rank
} ${props.row.lastName}` ? props.row.rank
: props.row.prefix
? props.row.prefix
: ""
}${props.row.firstName} ${props.row.lastName}`
}} }}
<q-icon name="mdi-open-in-new" size="xs"></q-icon> <q-icon name="mdi-open-in-new" size="xs"></q-icon>
</div> </div>

View file

@ -485,7 +485,7 @@ onMounted(() => {
{{ {{
`${ `${
informaData.rank ? informaData.rank : informaData.prefix ?? "" informaData.rank ? informaData.rank : informaData.prefix ?? ""
} ${informaData.firstName} ${informaData.lastName}` }${informaData.firstName} ${informaData.lastName}`
}} }}
</div> </div>
<div class="q-py-xs"> <div class="q-py-xs">

View file

@ -10,6 +10,8 @@ interface FormFilter {
isShowRetire: boolean | null; isShowRetire: boolean | null;
isProbation: boolean | null; isProbation: boolean | null;
isAll?: boolean; isAll?: boolean;
nodeId?: string | null;
node?: string | null;
} }
interface FormAddPerson { interface FormAddPerson {

View file

@ -62,6 +62,8 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => {
isShowRetire: false, isShowRetire: false,
isProbation: false, isProbation: false,
isAll: true, isAll: true,
nodeId: null,
node: null,
}); });
const labelOption = reactive({ const labelOption = reactive({
@ -72,11 +74,6 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => {
node: "เลือกหน่วยงาน", node: "เลือกหน่วยงาน",
}); });
const nodeData = reactive<any>({
nodeId: null,
node: null,
});
return { return {
fetchType, fetchType,
fetchLevel, fetchLevel,
@ -89,6 +86,5 @@ export const useRegistryNewDataStore = defineStore("registryNew", () => {
mode, mode,
formFilter, formFilter,
labelOption, labelOption,
nodeData,
}; };
}); });

View file

@ -792,7 +792,7 @@ onMounted(async () => {
formDetail.rank formDetail.rank
? formDetail.rank ? formDetail.rank
: formDetail.prefix ?? "" : formDetail.prefix ?? ""
} ${formDetail.firstName} ${formDetail.lastName}` }${formDetail.firstName} ${formDetail.lastName}`
}} }}
</h2> </h2>
</div> </div>

View file

@ -44,21 +44,22 @@ const nodeData = reactive<any>({
page: 1, page: 1,
pageSize: 10, pageSize: 10,
round: "", round: "",
nodeId: null,
node: null,
name: "เลือกหน่วยงาน/ส่วนราชการ", name: "เลือกหน่วยงาน/ส่วนราชการ",
keyword: "", keyword: "",
nodeId: null,
node: null,
}); });
const conditionTotal = computed(() => {
let num: string = "";
if (store.formFilter.isProbation && store.formFilter.isShowRetire) {
num = "(2)";
} else if (store.formFilter.isProbation || store.formFilter.isShowRetire) {
num = "(1)";
} else "";
return num; // const conditionTotal = computed(() => {
}); // let num: string = "";
// if (store.formFilter.isProbation && store.formFilter.isShowRetire) {
// num = "(2)";
// } else if (store.formFilter.isProbation || store.formFilter.isShowRetire) {
// num = "(1)";
// } else "";
// return num;
// });
/** /**
* function เรยกขอมลตำแหนงประเภท * function เรยกขอมลตำแหนงประเภท
@ -143,12 +144,15 @@ function fetchDataPerson() {
queryParams.type = empType.value; queryParams.type = empType.value;
} }
if (store.nodeData.node !== null && store.nodeData.nodeId !== null) { if (store.formFilter.node !== null && store.formFilter.nodeId !== null) {
queryParams.node = store.nodeData.node; queryParams.node = store.formFilter.node;
queryParams.nodeId = store.nodeData.nodeId; queryParams.nodeId = store.formFilter.nodeId;
}
if (store.formFilter.nodeId) {
queryParams.isAll = store.formFilter.isAll;
} }
queryParams.isAll = store.formFilter.isAll;
http http
.get( .get(
config.API.registryNew(empType.value !== "officer" ? "-employee" : ""), config.API.registryNew(empType.value !== "officer" ? "-employee" : ""),
@ -267,7 +271,7 @@ async function selectType() {
store.labelOption.posLevel != "ทั้งหมด" || store.labelOption.posLevel != "ทั้งหมด" ||
store.formFilter.isShowRetire || store.formFilter.isShowRetire ||
store.formFilter.isProbation || store.formFilter.isProbation ||
store.nodeData.nodeId != null store.formFilter.nodeId != null
) { ) {
store.formFilter.page = 1; store.formFilter.page = 1;
fetchDataPerson(); fetchDataPerson();
@ -316,6 +320,8 @@ function clearSelect(t: string) {
} else if (t === "org") { } else if (t === "org") {
nodeData.node = null; nodeData.node = null;
nodeData.nodeId = null; nodeData.nodeId = null;
store.formFilter.node = null;
store.formFilter.nodeId = null;
store.labelOption.node = store.labelOption.node =
empType.value === "officer" empType.value === "officer"
? "เลือกหน่วยงาน/ส่วนราชการ" ? "เลือกหน่วยงาน/ส่วนราชการ"
@ -332,8 +338,8 @@ async function fetchTree(id: string) {
.then((res) => { .then((res) => {
const data = res.data.result; const data = res.data.result;
node.value = data; node.value = data;
store.nodeData.node = nodeData.node; store.formFilter.node = nodeData.node;
store.nodeData.nodeId = nodeData.nodeId; store.formFilter.nodeId = nodeData.nodeId;
}) })
.catch((err) => { .catch((err) => {
messageError($q, err); messageError($q, err);
@ -358,8 +364,8 @@ function fetchActive() {
} }
function sendNode() { function sendNode() {
nodeData.node = store.nodeData.node; nodeData.node = store.formFilter.node;
nodeData.nodeId = store.nodeData.nodeId; nodeData.nodeId = store.formFilter.nodeId;
store.labelOption.node = nodeData.name; store.labelOption.node = nodeData.name;
selectNode.value = false; selectNode.value = false;
fetchDataPerson(); fetchDataPerson();
@ -376,15 +382,15 @@ watch(
function updateSelectedTreeMain(data: any) { function updateSelectedTreeMain(data: any) {
if (nodeData.node === data.orgLevel && nodeData.nodeId === data.orgTreeId) { if (nodeData.node === data.orgLevel && nodeData.nodeId === data.orgTreeId) {
store.nodeData.node = null; store.formFilter.node = null;
store.nodeData.nodeId = null; store.formFilter.nodeId = null;
nodeData.name = nodeData.name =
empType.value === "officer" empType.value === "officer"
? "เลือกหน่วยงาน/ส่วนราชการ" ? "เลือกหน่วยงาน/ส่วนราชการ"
: "เลือกหน่วยงาน"; : "เลือกหน่วยงาน";
} else { } else {
store.nodeData.node = data.orgLevel; store.formFilter.node = data.orgLevel;
store.nodeData.nodeId = data.orgTreeId; store.formFilter.nodeId = data.orgTreeId;
nodeData.name = data.orgName; nodeData.name = data.orgName;
} }
} }
@ -466,12 +472,8 @@ onMounted(async () => {
</div> --> </div> -->
<div <div
:class="
!isShowBtnFilter
? 'row q-mt-sm q-gutter-sm justify-center'
: 'row q-gutter-sm justify-center'
"
v-if="isShowFilter" v-if="isShowFilter"
class="row q-mt-sm q-gutter-sm justify-center"
> >
<q-btn-dropdown <q-btn-dropdown
flat flat
@ -603,7 +605,7 @@ onMounted(async () => {
/> />
<q-toggle <q-toggle
v-if="empType !== 'officer'" v-if="empType !== 'officer' && store.formFilter.nodeId"
v-model="store.formFilter.isAll" v-model="store.formFilter.isAll"
color="primary" color="primary"
label="แสดงตำแหน่งทั้งหมด" label="แสดงตำแหน่งทั้งหมด"
@ -646,7 +648,7 @@ onMounted(async () => {
</div> </div>
<div <div
v-if="empType === 'officer'" v-if="empType === 'officer' && store.formFilter.nodeId"
class="row q-gutter-sm justify-center" class="row q-gutter-sm justify-center"
> >
<q-toggle <q-toggle
@ -731,7 +733,7 @@ onMounted(async () => {
<q-item <q-item
clickable clickable
@click.stop="updateSelectedTreeMain(prop.node)" @click.stop="updateSelectedTreeMain(prop.node)"
:active="store.nodeData.nodeId === prop.node.orgTreeId" :active="store.formFilter.nodeId === prop.node.orgTreeId"
active-class="my-list-link text-primary text-weight-medium" active-class="my-list-link text-primary text-weight-medium"
class="row col-12 items-center text-dark q-py-xs q-pl-sm rounded-borders my-list" class="row col-12 items-center text-dark q-py-xs q-pl-sm rounded-borders my-list"
> >