From 57e72abff9643e6a4b89164b9f7ffef3118d0200 Mon Sep 17 00:00:00 2001 From: Gzx1999 Date: Thu, 30 Nov 2023 14:22:45 +0800 Subject: [PATCH] support user search --- .../src/views/Cluster/MachineDetail/User.vue | 29 ++++++++++++++++--- 1 file changed, 25 insertions(+), 4 deletions(-) diff --git a/frontend/src/views/Cluster/MachineDetail/User.vue b/frontend/src/views/Cluster/MachineDetail/User.vue index 842f05e..9d8c96c 100644 --- a/frontend/src/views/Cluster/MachineDetail/User.vue +++ b/frontend/src/views/Cluster/MachineDetail/User.vue @@ -2,10 +2,11 @@
- 当前用户: {{currentUser.Username}} + 当前用户: {{ currentUser.Username }}
@@ -37,20 +38,21 @@ const machineID = ref(route.params.uuid) const userName = ref("") +const allUser = ref([]) const currentUser = ref({}) const userInfo = ref({}) onMounted(() => { getMachineAllUser({ uuid: machineID.value }).then((resp: any) => { if (resp.code === RespCodeOK) { - let users = resp.data.user_all + allUser.value = resp.data.user_all // 嵌套调用,避免两者请求不同步 getCurrentUser({ uuid: machineID.value }).then((resp: any) => { if (resp.code === RespCodeOK) { currentUser.value = resp.data.user_info - userInfo.value = users.filter((item:any) => item.Username === currentUser.value.Username)[0]; + userInfo.value = allUser.value.filter((item: any) => item.Username === currentUser.value.Username)[0]; } else { ElMessage.error("failed to get current machine user info: " + resp.msg) } @@ -66,6 +68,25 @@ onMounted(() => { }) }) +function querySearch(query: string, callback: Function) { + let result: any[] = [] + + allUser.value.forEach((item: any) => { + if (item.Username.indexOf(query) === 0) { + result.push({ "value": item.Username }) + } + }) + callback(result) +} + +function onSelectUser(name: any) { + allUser.value.forEach((item: any) => { + if (item.Username === name.value) { + userInfo.value = item + } + }) +} +