From 0686543d300e47c4d061a2c7d64e7c03f9da8601 Mon Sep 17 00:00:00 2001 From: Gzx1999 Date: Fri, 1 Dec 2023 16:16:51 +0800 Subject: [PATCH] finish install package function --- .../views/Cluster/MachineDetail/Package.vue | 49 ++++++++++++++----- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/frontend/src/views/Cluster/MachineDetail/Package.vue b/frontend/src/views/Cluster/MachineDetail/Package.vue index 935a2f0..4826768 100644 --- a/frontend/src/views/Cluster/MachineDetail/Package.vue +++ b/frontend/src/views/Cluster/MachineDetail/Package.vue @@ -8,10 +8,9 @@
- - 搜索 - 安装 + + 安装 卸载
@@ -50,7 +49,7 @@ import { ElMessage } from 'element-plus'; import AuthButton from "@/components/AuthButton.vue"; -import { getRepos, getInstalledPackages, getPackageDetail } from "@/request/cluster"; +import { getRepos, getInstalledPackages, getPackageDetail, installPackage } from "@/request/cluster"; import { RespCodeOK } from "@/request/request"; const route = useRoute() @@ -65,10 +64,6 @@ const display = ref(true) const packageName = ref("") const packageInfo = ref({}) -const action = ref("") -const result = ref("") - - onMounted(() => { getRepos({ uuid: machineID.value }).then((resp: any) => { if (resp.code === RespCodeOK) { @@ -94,6 +89,10 @@ onMounted(() => { ElMessage.error("failed to get machine repo info:" + err.msg) }) + updateInstalledPackage() +}) + +function updateInstalledPackage() { getInstalledPackages({ uuid: machineID.value }).then((resp: any) => { if (resp.code === RespCodeOK) { allPackages.value = resp.data.rpm_all @@ -103,7 +102,7 @@ onMounted(() => { }).catch((err: any) => { ElMessage.error("failed to get machine installed packages info:" + err.msg) }) -}) +} function querySuggestions(query: string, callback: Function) { let result: any[] = [] @@ -118,8 +117,10 @@ function querySuggestions(query: string, callback: Function) { } function onPackageSelected() { - getPackageDetail({ uuid: machineID.value, - rpm: packageName.value}).then((resp: any) => { + getPackageDetail({ + uuid: machineID.value, + rpm: packageName.value + }).then((resp: any) => { if (resp.code === RespCodeOK) { packageInfo.value = resp.data.rpm_info @@ -132,6 +133,30 @@ function onPackageSelected() { }) } +const action = ref("") +const result = ref("") + +function onInstallPackage() { + action.value = "软件包安装" + display.value = false + + installPackage({ + // TODO: remove api params + uuid: [machineID.value], + rpm: packageName.value + }).then((resp: any) => { + if (resp.code === RespCodeOK) { + packageInfo.value = resp.data.rpm_info + + result.value = "成功" + updateInstalledPackage() + } else { + ElMessage.error("failed to get machine package detail info: " + resp.msg) + } + }).catch((err: any) => { + ElMessage.error("failed to get machine package detail info:" + err.msg) + }) +} -- Gitee