diff --git a/frontend/src/api/interface/backup.ts b/frontend/src/api/interface/backup.ts index d87675aee5d1..c29c5e1fd410 100644 --- a/frontend/src/api/interface/backup.ts +++ b/frontend/src/api/interface/backup.ts @@ -6,6 +6,7 @@ export namespace Backup { type: string; accessKey: string; bucket: string; + bucketInput: boolean; credential: string; backupPath: string; vars: string; diff --git a/frontend/src/views/setting/backup-account/cos/index.vue b/frontend/src/views/setting/backup-account/cos/index.vue index a98e7e8acb3a..e5c4ce2ba987 100644 --- a/frontend/src/views/setting/backup-account/cos/index.vue +++ b/frontend/src/views/setting/backup-account/cos/index.vue @@ -54,18 +54,17 @@ - - - - - - {{ $t('setting.loadBucket') }} - - {{ $t('commons.rule.requiredSelect') }} + + + +
+ + + + + {{ $t('setting.loadBucket') }} + +
; const formRef = ref(); const buckets = ref(); const regionInput = ref(); -const errBuckets = ref(); const endpointProto = ref('http'); const emit = defineEmits(['search']); @@ -181,35 +179,27 @@ const handleClose = () => { drawerVisible.value = false; }; -const getBuckets = async (formEl: FormInstance | undefined) => { - if (!formEl) return; - formEl.validate(async (valid) => { - if (!valid) return; - loading.value = true; - let item = deepCopy(cosData.value.rowData!.varsJson); - item['endpoint'] = spliceHttp(endpointProto.value, cosData.value.rowData!.varsJson['endpointItem']); - listBucket({ - type: cosData.value.rowData!.type, - vars: JSON.stringify(item), - accessKey: cosData.value.rowData!.accessKey, - credential: cosData.value.rowData!.credential, +const getBuckets = async () => { + loading.value = true; + let item = deepCopy(cosData.value.rowData!.varsJson); + item['endpoint'] = spliceHttp(endpointProto.value, cosData.value.rowData!.varsJson['endpointItem']); + listBucket({ + type: cosData.value.rowData!.type, + vars: JSON.stringify(item), + accessKey: cosData.value.rowData!.accessKey, + credential: cosData.value.rowData!.credential, + }) + .then((res) => { + loading.value = false; + buckets.value = res.data; }) - .then((res) => { - loading.value = false; - buckets.value = res.data; - }) - .catch(() => { - buckets.value = []; - loading.value = false; - }); - }); + .catch(() => { + buckets.value = []; + loading.value = false; + }); }; const onSubmit = async (formEl: FormInstance | undefined) => { - if (!cosData.value.rowData.bucket) { - errBuckets.value = true; - return; - } if (!formEl) return; formEl.validate(async (valid) => { if (!valid) return; diff --git a/frontend/src/views/setting/backup-account/kodo/index.vue b/frontend/src/views/setting/backup-account/kodo/index.vue index 2ba5d565cdb1..889e4cde9e77 100644 --- a/frontend/src/views/setting/backup-account/kodo/index.vue +++ b/frontend/src/views/setting/backup-account/kodo/index.vue @@ -36,18 +36,21 @@ - - + + - - - - {{ $t('setting.loadBucket') }} - - {{ $t('commons.rule.requiredSelect') }} + /> +
+ + + + + {{ $t('setting.loadBucket') }} + +
@@ -95,7 +98,6 @@ const loading = ref(false); type FormInstance = InstanceType; const formRef = ref(); const buckets = ref(); -const errBuckets = ref(); const domainProto = ref('http'); const emit = defineEmits(['search']); @@ -129,35 +131,27 @@ const handleClose = () => { drawerVisible.value = false; }; -const getBuckets = async (formEl: FormInstance | undefined) => { - if (!formEl) return; - formEl.validate(async (valid) => { - if (!valid) return; - loading.value = true; - let item = deepCopy(kodoData.value.rowData!.varsJson); - item['domain'] = spliceHttp(domainProto.value, kodoData.value.rowData!.varsJson['domainItem']); - listBucket({ - type: kodoData.value.rowData!.type, - vars: JSON.stringify(item), - accessKey: kodoData.value.rowData!.accessKey, - credential: kodoData.value.rowData!.credential, +const getBuckets = async () => { + loading.value = true; + let item = deepCopy(kodoData.value.rowData!.varsJson); + item['domain'] = spliceHttp(domainProto.value, kodoData.value.rowData!.varsJson['domainItem']); + listBucket({ + type: kodoData.value.rowData!.type, + vars: JSON.stringify(item), + accessKey: kodoData.value.rowData!.accessKey, + credential: kodoData.value.rowData!.credential, + }) + .then((res) => { + loading.value = false; + buckets.value = res.data; }) - .then((res) => { - loading.value = false; - buckets.value = res.data; - }) - .catch(() => { - buckets.value = []; - loading.value = false; - }); - }); + .catch(() => { + buckets.value = []; + loading.value = false; + }); }; const onSubmit = async (formEl: FormInstance | undefined) => { - if (!kodoData.value.rowData.bucket) { - errBuckets.value = true; - return; - } if (!formEl) return; formEl.validate(async (valid) => { if (!valid) return; diff --git a/frontend/src/views/setting/backup-account/minio/index.vue b/frontend/src/views/setting/backup-account/minio/index.vue index 6faa3a959f8c..1af3bf2e6185 100644 --- a/frontend/src/views/setting/backup-account/minio/index.vue +++ b/frontend/src/views/setting/backup-account/minio/index.vue @@ -32,18 +32,21 @@ - - + + - - - - {{ $t('setting.loadBucket') }} - - {{ $t('commons.rule.requiredSelect') }} + /> +
+ + + + + {{ $t('setting.loadBucket') }} + +
@@ -80,7 +83,6 @@ const loading = ref(false); type FormInstance = InstanceType; const formRef = ref(); const buckets = ref(); -const errBuckets = ref(); const endpointProto = ref('http'); const emit = defineEmits(['search']); @@ -111,36 +113,28 @@ const handleClose = () => { drawerVisible.value = false; }; -const getBuckets = async (formEl: FormInstance | undefined) => { - if (!formEl) return; - formEl.validate(async (valid) => { - if (!valid) return; - loading.value = true; - let item = deepCopy(minioData.value.rowData!.varsJson); - item['endpoint'] = spliceHttp(endpointProto.value, minioData.value.rowData!.varsJson['endpointItem']); - item['endpointItem'] = undefined; - listBucket({ - type: minioData.value.rowData!.type, - vars: JSON.stringify(item), - accessKey: minioData.value.rowData!.accessKey, - credential: minioData.value.rowData!.credential, +const getBuckets = async () => { + loading.value = true; + let item = deepCopy(minioData.value.rowData!.varsJson); + item['endpoint'] = spliceHttp(endpointProto.value, minioData.value.rowData!.varsJson['endpointItem']); + item['endpointItem'] = undefined; + listBucket({ + type: minioData.value.rowData!.type, + vars: JSON.stringify(item), + accessKey: minioData.value.rowData!.accessKey, + credential: minioData.value.rowData!.credential, + }) + .then((res) => { + loading.value = false; + buckets.value = res.data; }) - .then((res) => { - loading.value = false; - buckets.value = res.data; - }) - .catch(() => { - buckets.value = []; - loading.value = false; - }); - }); + .catch(() => { + buckets.value = []; + loading.value = false; + }); }; const onSubmit = async (formEl: FormInstance | undefined) => { - if (!minioData.value.rowData.bucket) { - errBuckets.value = true; - return; - } if (!formEl) return; formEl.validate(async (valid) => { if (!valid) return; diff --git a/frontend/src/views/setting/backup-account/oss/index.vue b/frontend/src/views/setting/backup-account/oss/index.vue index b7942c1ec397..4c4d1fe2a54e 100644 --- a/frontend/src/views/setting/backup-account/oss/index.vue +++ b/frontend/src/views/setting/backup-account/oss/index.vue @@ -32,18 +32,17 @@ - - - - - - {{ $t('setting.loadBucket') }} - - {{ $t('commons.rule.requiredSelect') }} + + + +
+ + + + + {{ $t('setting.loadBucket') }} + +
; const formRef = ref(); const buckets = ref(); -const errBuckets = ref(); const endpointProto = ref('http'); const emit = defineEmits(['search']); @@ -133,35 +131,27 @@ const handleClose = () => { drawerVisible.value = false; }; -const getBuckets = async (formEl: FormInstance | undefined) => { - if (!formEl) return; - formEl.validate(async (valid) => { - if (!valid) return; - loading.value = true; - let item = deepCopy(ossData.value.rowData!.varsJson); - item['endpoint'] = spliceHttp(endpointProto.value, ossData.value.rowData!.varsJson['endpointItem']); - listBucket({ - type: ossData.value.rowData!.type, - vars: JSON.stringify(item), - accessKey: ossData.value.rowData!.accessKey, - credential: ossData.value.rowData!.credential, +const getBuckets = async () => { + loading.value = true; + let item = deepCopy(ossData.value.rowData!.varsJson); + item['endpoint'] = spliceHttp(endpointProto.value, ossData.value.rowData!.varsJson['endpointItem']); + listBucket({ + type: ossData.value.rowData!.type, + vars: JSON.stringify(item), + accessKey: ossData.value.rowData!.accessKey, + credential: ossData.value.rowData!.credential, + }) + .then((res) => { + loading.value = false; + buckets.value = res.data; }) - .then((res) => { - loading.value = false; - buckets.value = res.data; - }) - .catch(() => { - buckets.value = []; - loading.value = false; - }); - }); + .catch(() => { + buckets.value = []; + loading.value = false; + }); }; const onSubmit = async (formEl: FormInstance | undefined) => { - if (!ossData.value.rowData.bucket) { - errBuckets.value = true; - return; - } if (!formEl) return; formEl.validate(async (valid) => { if (!valid) return; diff --git a/frontend/src/views/setting/backup-account/s3/index.vue b/frontend/src/views/setting/backup-account/s3/index.vue index 7ac43eae9ed9..6cfb651f805c 100644 --- a/frontend/src/views/setting/backup-account/s3/index.vue +++ b/frontend/src/views/setting/backup-account/s3/index.vue @@ -35,14 +35,17 @@ - - - - - - {{ $t('setting.loadBucket') }} - - {{ $t('commons.rule.requiredSelect') }} + + + +
+ + + + + {{ $t('setting.loadBucket') }} + +
; const formRef = ref(); const buckets = ref(); -const errBuckets = ref(); const endpointProto = ref('http'); const emit = defineEmits(['search']); @@ -132,35 +134,27 @@ const handleClose = () => { drawerVisible.value = false; }; -const getBuckets = async (formEl: FormInstance | undefined) => { - if (!formEl) return; - formEl.validate(async (valid) => { - if (!valid) return; - loading.value = true; - let item = deepCopy(s3Data.value.rowData!.varsJson); - item['endpoint'] = spliceHttp(endpointProto.value, s3Data.value.rowData!.varsJson['endpointItem']); - listBucket({ - type: s3Data.value.rowData!.type, - vars: JSON.stringify(item), - accessKey: s3Data.value.rowData!.accessKey, - credential: s3Data.value.rowData!.credential, +const getBuckets = async () => { + loading.value = true; + let item = deepCopy(s3Data.value.rowData!.varsJson); + item['endpoint'] = spliceHttp(endpointProto.value, s3Data.value.rowData!.varsJson['endpointItem']); + listBucket({ + type: s3Data.value.rowData!.type, + vars: JSON.stringify(item), + accessKey: s3Data.value.rowData!.accessKey, + credential: s3Data.value.rowData!.credential, + }) + .then((res) => { + loading.value = false; + buckets.value = res.data; }) - .then((res) => { - loading.value = false; - buckets.value = res.data; - }) - .catch(() => { - buckets.value = []; - loading.value = false; - }); - }); + .catch(() => { + buckets.value = []; + loading.value = false; + }); }; const onSubmit = async (formEl: FormInstance | undefined) => { - if (!s3Data.value.rowData.bucket) { - errBuckets.value = true; - return; - } if (!formEl) return; formEl.validate(async (valid) => { if (!valid) return;