From 479c6a1f60b7e856f9946d7bbd7c1bfe9bec5cd0 Mon Sep 17 00:00:00 2001 From: fangxiang Date: Mon, 16 Aug 2021 16:20:35 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=B2=A1=E6=9C=89=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E6=97=B6=E8=BF=98=E4=BC=9A=E5=8F=91=E9=80=81=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E8=AF=B7=E6=B1=82=E7=9A=84BUG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/BackgroundImageDialog.vue | 14 +++++++++++ src/components/RecoveryDatabaseDialog.vue | 14 +++++++++++ src/components/UpgradeDialog.vue | 30 ++++++++++++++++++++--- src/i18n/zh-CN/index.ts | 1 + 4 files changed, 55 insertions(+), 4 deletions(-) diff --git a/src/components/BackgroundImageDialog.vue b/src/components/BackgroundImageDialog.vue index 2d33a36..f9ffc7c 100644 --- a/src/components/BackgroundImageDialog.vue +++ b/src/components/BackgroundImageDialog.vue @@ -41,6 +41,8 @@ :hide-upload-btn="true" @uploaded="onUploaded" @failed="onFailed" + @added="(files) => files && (file_count += files.length)" + @removed="(files) => files && (file_count -= files.length)" /> @@ -102,12 +104,14 @@ export default defineComponent({ let uploader: any = ref(null); let loading = ref(false); let upload_url = ref(""); + let file_count = ref(0); return { show_dialog, loading, upload_url, uploader, + file_count, loga(a: any) { console.log(a); }, @@ -146,6 +150,7 @@ export default defineComponent({ resetData() { loading.value = false; upload_url.value = ""; + file_count.value = 0; }, showBackgroundImage() { viewerApi({ @@ -164,6 +169,15 @@ export default defineComponent({ }); }, async onSubmit() { + if (file_count.value <= 0) { + $q.notify({ + type: "warning", + message: $t.t("please select file first") + "!", + position: "top", + timeout: 1500, + }); + return; + } loading.value = true; try { $q.dialog({ diff --git a/src/components/RecoveryDatabaseDialog.vue b/src/components/RecoveryDatabaseDialog.vue index 51ecc22..5f0b313 100644 --- a/src/components/RecoveryDatabaseDialog.vue +++ b/src/components/RecoveryDatabaseDialog.vue @@ -41,6 +41,8 @@ :hide-upload-btn="true" @uploaded="onUploaded" @failed="onFailed" + @added="(files) => files && (file_count += files.length)" + @removed="(files) => files && (file_count -= files.length)" /> @@ -94,12 +96,14 @@ export default defineComponent({ let uploader: any = ref(null); let loading = ref(false); let upload_url = ref(""); + let file_count = ref(0); return { show_dialog, loading, upload_url, uploader, + file_count, generatorFileUploadHeaders(files: File[]) { if (files.length > 0) { return [ @@ -132,8 +136,18 @@ export default defineComponent({ resetData() { loading.value = false; upload_url.value = ""; + file_count.value = 0; }, async onSubmit() { + if (file_count.value <= 0) { + $q.notify({ + type: "warning", + message: $t.t("please select file first") + "!", + position: "top", + timeout: 1500, + }); + return; + } loading.value = true; try { $q.dialog({ diff --git a/src/components/UpgradeDialog.vue b/src/components/UpgradeDialog.vue index cde4bb9..7c15a7b 100644 --- a/src/components/UpgradeDialog.vue +++ b/src/components/UpgradeDialog.vue @@ -35,6 +35,7 @@ :hint="$t('please input') + $t('upgrade type') + ':'" :options="select_options" v-model="upgrade_type" + @update:model-value="file_count = 0" > @@ -53,6 +54,8 @@ :hide-upload-btn="true" @uploaded="onUploaded" @failed="onFailed" + @added="(files) => files && (file_count += files.length)" + @removed="(files) => files && (file_count -= files.length)" /> @@ -120,6 +125,7 @@ export default defineComponent({ let loading = ref(false); let upload_url_software = ref(""); let upload_url_rootfs = ref(""); + let file_count = ref(0); let select_options = ["software", "rootfs"]; let upgrade_type = ref("software"); @@ -131,6 +137,7 @@ export default defineComponent({ upload_url_rootfs, uploader_software, uploader_rootfs, + file_count, upgrade_type, select_options, generatorFileUploadHeaders(files: File[]) { @@ -148,6 +155,9 @@ export default defineComponent({ } return []; }, + loga(a: any) { + console.log(a); + }, showDialog() { show_dialog.value = true; @@ -170,10 +180,24 @@ export default defineComponent({ loading.value = false; upload_url_software.value = ""; upload_url_rootfs.value = ""; + file_count.value = 0; }, - async onSubmit() { + async onSubmit(a: any) { + if (file_count.value <= 0) { + $q.notify({ + type: "warning", + message: $t.t("please select file first") + "!", + position: "top", + timeout: 1500, + }); + return; + } loading.value = true; try { + let upgrader = + upgrade_type.value == "software" + ? uploader_software.value + : uploader_rootfs.value; $q.dialog({ title: "Confirm", message: $t.t("use this file to upgrade") + "?", @@ -181,9 +205,7 @@ export default defineComponent({ persistent: true, }) .onOk(() => { - upgrade_type.value == "software" - ? uploader_software.value.upload() - : uploader_rootfs.value.upload(); + upgrader.upload(); }) .onCancel(() => { loading.value = false; diff --git a/src/i18n/zh-CN/index.ts b/src/i18n/zh-CN/index.ts index a039708..a63e098 100644 --- a/src/i18n/zh-CN/index.ts +++ b/src/i18n/zh-CN/index.ts @@ -88,4 +88,5 @@ export default { "use this file to upgrade": "使用这个升级文件", software: "软件", rootfs: "文件系统", + "please select file first": "请先选择文件", };