2
2
<v-container fluid class =" admin-page" >
3
3
<v-card class =" fill-height d-flex flex-column" >
4
4
<v-tabs v-model =" activeTab" color =" primary" align-tabs =" center" >
5
- <v-tab :value =" 1" >{{ $t('admin.tabs.userManagement') }}</v-tab >
6
- <v-tab :value =" 2" >{{ $t('admin.tabs.rolesManagement') }}</v-tab >
5
+ <v-tab :value =" 1" @click =" fetchUsersAndRoles" >{{
6
+ $t('admin.tabs.userManagement') }}</v-tab >
7
+ <v-tab :value =" 2" @click =" fetchRoles" >{{ $t('admin.tabs.rolesManagement') }}</v-tab >
7
8
<v-tab :value =" 3" >{{ $t('admin.tabs.systemSettings') }}</v-tab >
8
9
<v-tab :value =" 4" >{{ $t('admin.tabs.logs') }}</v-tab >
9
10
</v-tabs >
10
11
11
12
<v-card-text >
12
13
<v-window v-model =" activeTab" >
13
14
<v-window-item :value =" 1" >
14
- <user-management-tab />
15
+ <user-management-tab ref = " userManagementTabRef " />
15
16
</v-window-item >
16
17
17
18
<v-window-item :value =" 2" >
18
- <roles-management-tab />
19
+ <roles-management-tab ref = " rolesManagementTabRef " />
19
20
</v-window-item >
20
21
21
22
<v-window-item :value =" 3" >
22
- <system-settings-tab />
23
+ <system-settings-tab ref = " systemSettingsTabRef " />
23
24
</v-window-item >
24
25
25
26
<v-window-item :value =" 4" >
26
- <logs-tab />
27
+ <logs-tab ref = " logsTab " />
27
28
</v-window-item >
28
29
</v-window >
29
30
</v-card-text >
30
31
</v-card >
31
32
</v-container >
32
33
</template >
33
34
35
+
34
36
<script setup>
35
- import { ref } from ' vue' ;
36
37
import UserManagementTab from ' ./UserManagementTab.vue' ;
37
38
import RolesManagementTab from ' ./RolesManagementTab.vue' ;
38
39
import SystemSettingsTab from ' ./SystemSettingsTab.vue' ;
39
40
import LogsTab from ' ./LogsTab.vue' ;
41
+ import { ref } from ' vue' ;
42
+
43
+ const userManagementTabRef = ref (null );
44
+ const rolesManagementTabRef = ref (null );
45
+ const systemSettingsTabRef = ref (null );
46
+ const logsTab = ref (null );
47
+
48
+ const fetchUsersAndRoles = () => {
49
+ if (userManagementTabRef? .value ? .fetchUsers )
50
+ userManagementTabRef .value .fetchUsers ();
51
+ if (userManagementTabRef? .value ? .fetchRoles )
52
+ userManagementTabRef .value .fetchRoles ();
53
+ }
54
+
55
+ const fetchRoles = () => {
56
+ if (rolesManagementTabRef? .value ? .fetchRoles )
57
+ rolesManagementTabRef .value .fetchRoles ();
58
+ }
40
59
41
60
const activeTab = ref (1 );
42
61
< / script>
@@ -46,4 +65,4 @@ const activeTab = ref(1);
46
65
padding- top: 2rem ;
47
66
padding- bottom: 2rem ;
48
67
}
49
- </style >
68
+ < / style>
0 commit comments