no message

This commit is contained in:
setthawutttty 2024-11-07 10:39:49 +07:00
parent c7bbe78fc7
commit 0b210c17c6
3 changed files with 54 additions and 38 deletions

View file

@ -75,7 +75,7 @@ const rowsDirector = ref<MemBerType[]>([]);
const visibleColumns = ref<string[]>([
"no",
"positionNo",
"posNo",
"role",
"name",
"position",
@ -102,15 +102,15 @@ const columns = ref<QTableProps["columns"]>([
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
// {
// name: "positionNo",
// align: "left",
// label: "",
// sortable: true,
// field: "positionNo",
// headerStyle: "font-size: 14px",
// style: "font-size: 14px",
// },
{
name: "posNo",
align: "left",
label: "เลขที่ตำแหน่ง",
sortable: true,
field: "posNo",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
{
name: "role",
align: "left",
@ -152,15 +152,15 @@ const columns = ref<QTableProps["columns"]>([
}`;
},
},
// {
// name: "actFullName",
// align: "left",
// label: "",
// sortable: true,
// field: "actFullName",
// headerStyle: "font-size: 14px",
// style: "font-size: 14px",
// },
{
name: "actFullName",
align: "left",
label: "รักษาการแทน",
sortable: true,
field: "actFullName",
headerStyle: "font-size: 14px",
style: "font-size: 14px",
},
]);
const columnsMember = ref<QTableProps["columns"]>([
@ -257,11 +257,22 @@ function onAddPerson() {
positionType: item.posType,
positionLevel: item.posLevel,
actFullName: item.actFullName,
positionNo: item.posNo,
posNo: item.posNo,
role: member.value,
}));
rows.value = [...rows.value, ...data];
rows.value.sort((a, b) => (a.role === "chairman" ? -1 : 1));
const roleOrder: Record<"chairman" | "committee" | "caregiver", number> = {
chairman: 0,
committee: 1,
caregiver: 2,
};
rows.value.sort((a, b) => {
return (
roleOrder[a.role as keyof typeof roleOrder] -
roleOrder[b.role as keyof typeof roleOrder]
);
});
close();
}
@ -279,11 +290,11 @@ async function getPerson() {
const data = await res.data.result.data;
const dataTotal = await res.data.result.total;
// rowsDirector.value = data.filter(
// (item: MemBerType, index: number, self: any[]) =>
// index === self.findIndex((t: any) => t.id === item.id)
// );
rowsDirector.value = data.filter(
(item: MemBerType, index: number, self: any[]) =>
index === self.findIndex((t: any) => t.id === item.id)
);
rowsDirector.value = rowsDirector.value.filter(
(item: MemBerType) =>
!rows.value.some((i: PersonsAppointData) => i.profileId == item.id)
);
@ -334,15 +345,7 @@ function onSubmit() {
const body = {
topic: topic.value,
persons: rows.value.map(
({
prefix,
firstName,
lastName,
citizenId,
actFullName,
positionNo,
...newData
}) => newData
({ prefix, firstName, lastName, citizenId, ...newData }) => newData
),
};
dialogConfirm($q, () => {
@ -383,9 +386,23 @@ async function getData() {
position: item.position,
positionType: item.positionType,
positionLevel: item.positionLevel,
posNo: item.posNo,
actFullName: item.actFullName,
role: item.role,
}));
const roleOrder: Record<"chairman" | "committee" | "caregiver", number> =
{
chairman: 0,
committee: 1,
caregiver: 2,
};
rows.value.sort((a, b) => {
return (
roleOrder[a.role as keyof typeof roleOrder] -
roleOrder[b.role as keyof typeof roleOrder]
);
});
hideLoader();
})
.catch((e) => {
@ -663,7 +680,6 @@ onMounted(async () => {
map-options
:options="columnsMember"
option-value="name"
style="min-width: 140px"
class="col-xs-12 col-sm-3 col-md-2"
/>
@ -675,7 +691,7 @@ onMounted(async () => {
ref="table"
:columns="columnsMember"
:rows="rowsDirector"
row-key="id"
row-key="key"
flat
:visible-columns="visibleColumnsMember"
bordered

View file

@ -114,7 +114,7 @@ interface PersonsAppointData {
positionType: string;
positionLevel: string;
actFullName: string;
positionNo: string;
posNo: string;
role?: string;
}

View file

@ -739,7 +739,7 @@ onMounted(async () => {
flat
:columns="columns"
:rows="rows"
row-key="id"
row-key="key"
dense
selection="single"
v-model:selected="selected"