From ba77f2853f7c4bcf54d2e6c445f14048f3782727 Mon Sep 17 00:00:00 2001
From: ssongliu <songlius11@163.com>
Date: Mon, 5 Dec 2022 16:27:47 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20=E5=A4=87=E4=BB=BD=E8=B4=A6=E5=8F=B7?=
 =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=88=87=E6=8D=A2=E6=97=B6=E6=B8=85=E7=A9=BA?=
 =?UTF-8?q?=E8=A1=A8=E5=8D=95=E4=BF=A1=E6=81=AF?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 frontend/src/views/setting/tabs/backup.vue | 18 +++++++++++++++---
 go.mod                                     |  2 +-
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/frontend/src/views/setting/tabs/backup.vue b/frontend/src/views/setting/tabs/backup.vue
index 2f28750e5..1b82eee3d 100644
--- a/frontend/src/views/setting/tabs/backup.vue
+++ b/frontend/src/views/setting/tabs/backup.vue
@@ -63,7 +63,12 @@
             <div v-loading="loading">
                 <el-form ref="formRef" label-position="left" :model="form" label-width="160px">
                     <el-form-item :label="$t('commons.table.type')" prop="type" :rules="Rules.requiredSelect">
-                        <el-select style="width: 100%" v-model="form.type" :disabled="operation === 'edit'">
+                        <el-select
+                            style="width: 100%"
+                            v-model="form.type"
+                            @change="changeType"
+                            :disabled="operation === 'edit'"
+                        >
                             <el-option
                                 v-for="item in typeOptions"
                                 :key="item.label"
@@ -254,6 +259,13 @@ const onEdit = (row: Backup.BackupInfo) => {
     backupVisiable.value = true;
 };
 
+const changeType = async (val: string) => {
+    let itemType = val;
+    restForm();
+    buckets.value = [];
+    form.type = itemType;
+};
+
 const onSubmit = async (formEl: FormInstance | undefined) => {
     if (!formEl) return;
     formEl.validate(async (valid) => {
@@ -290,10 +302,10 @@ const getBuckets = async () => {
         credential: form.credential,
     })
         .then((res) => {
-            loading.value = true;
+            loading.value = false;
             buckets.value = res.data;
         })
-        .finally(() => {
+        .catch(() => {
             buckets.value = [];
             loading.value = false;
         });
diff --git a/go.mod b/go.mod
index 35dea251f..40cb63512 100644
--- a/go.mod
+++ b/go.mod
@@ -5,7 +5,6 @@ go 1.18
 require (
 	github.com/aliyun/aliyun-oss-go-sdk v2.2.5+incompatible
 	github.com/aws/aws-sdk-go v1.44.99
-	github.com/cenkalti/backoff/v4 v4.1.3
 	github.com/compose-spec/compose-go v1.6.0
 	github.com/dgraph-io/badger/v3 v3.2103.2
 	github.com/docker/docker v20.10.18+incompatible
@@ -64,6 +63,7 @@ require (
 	github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect
 	github.com/aliyun/alibaba-cloud-sdk-go v1.61.1755 // indirect
 	github.com/andybalholm/brotli v1.0.4 // indirect
+	github.com/cenkalti/backoff/v4 v4.1.3 // indirect
 	github.com/cespare/xxhash v1.1.0 // indirect
 	github.com/cespare/xxhash/v2 v2.1.2 // indirect
 	github.com/cloudflare/cloudflare-go v0.49.0 // indirect