add member number of group
This commit is contained in:
@@ -64,7 +64,7 @@
|
||||
:td-props="props"
|
||||
:permitted="user.isPermittedTo('group', 'write')"
|
||||
v-on:onClick="openGroupDialog(props.col.label, props.row)"
|
||||
:value="props.value"
|
||||
:value="props.value + ' (' + getAmount(props.row.name) + ')'"
|
||||
/>
|
||||
</template>
|
||||
<template v-slot:body-cell-option="props">
|
||||
@@ -122,6 +122,8 @@ import { i18n } from 'src/boot/lang';
|
||||
import type { Group, Groups } from 'src/vueLib/models/group';
|
||||
import SearchableInput from '../components/SearchableInput.vue';
|
||||
import TopButtonGroup from '../components/TopButtonGroup.vue';
|
||||
import { getAllMembers } from '../members/MembersTable';
|
||||
import type { Members } from 'src/vueLib/models/member';
|
||||
|
||||
const { NotifyResponse } = useNotify();
|
||||
const groupDialog = ref();
|
||||
@@ -135,13 +137,16 @@ const selected = ref<Groups>([]);
|
||||
const openSubmenu = ref(false);
|
||||
const filter = ref('');
|
||||
const user = useUserStore();
|
||||
const members = ref<Members>([]);
|
||||
|
||||
const { groups, pagination, loading, columns, updateGroups } = useGroupTable();
|
||||
|
||||
//load on mounting page
|
||||
onMounted(() => {
|
||||
onMounted(async () => {
|
||||
loading.value = true;
|
||||
|
||||
members.value = await getAllMembers();
|
||||
|
||||
appApi
|
||||
.post('database/open', { dbPath: databaseName.value, create: true })
|
||||
.then(() => {
|
||||
@@ -216,6 +221,11 @@ async function save() {
|
||||
})
|
||||
.catch((err) => NotifyResponse(err, 'error'));
|
||||
}
|
||||
|
||||
function getAmount(name: string) {
|
||||
const amount = members.value.filter((e) => e.group?.name == name);
|
||||
return amount.length;
|
||||
}
|
||||
</script>
|
||||
|
||||
<style>
|
||||
|
||||
@@ -402,3 +402,27 @@ export function useMemberTable() {
|
||||
exportCsv,
|
||||
};
|
||||
}
|
||||
|
||||
export async function getAllMembers(): Promise<Members> {
|
||||
const { NotifyResponse } = useNotify();
|
||||
|
||||
const allMembers = ref<Members>([]);
|
||||
|
||||
await appApi
|
||||
.get('members')
|
||||
.then((resp) => {
|
||||
if (resp.data === null) {
|
||||
return [];
|
||||
}
|
||||
allMembers.value = resp.data as Members;
|
||||
if (allMembers.value === null) {
|
||||
return [];
|
||||
}
|
||||
})
|
||||
|
||||
.catch((err) => {
|
||||
NotifyResponse(err, 'error');
|
||||
});
|
||||
|
||||
return allMembers.value;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user