From b1b34c5d00289e8a328a62441bc13a640c7fe592 Mon Sep 17 00:00:00 2001 From: sws <1141121512@qq.com> Date: Fri, 11 Oct 2024 16:03:16 +0800 Subject: [PATCH 1/3] =?UTF-8?q?1.=E4=B8=8A=E4=BC=A0=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/common/upload/upload-model.vue | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/components/common/upload/upload-model.vue b/src/components/common/upload/upload-model.vue index 34803fa1..ccff09bf 100644 --- a/src/components/common/upload/upload-model.vue +++ b/src/components/common/upload/upload-model.vue @@ -30,7 +30,12 @@ - 清空列表 +
+
上传成功:{{ form.file.filter((obj) => obj.status == 'success').length }}
+
上传失败:{{ form.file.filter((obj) => obj.status == 'error').length }}
+
等待上传:{{ form.file.filter((obj) => obj.status == 'ready').length }}
+ 清空列表 +
From 884cfb2da1d15cf62bf3be150c5ffff16c439a25 Mon Sep 17 00:00:00 2001 From: sws <1141121512@qq.com> Date: Fri, 11 Oct 2024 16:18:28 +0800 Subject: [PATCH 2/3] =?UTF-8?q?1.=E4=B8=8A=E4=BC=A0=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/request.ts | 2 +- src/views/layout/index.vue | 63 ++++++++++++++++++++------------------ 2 files changed, 34 insertions(+), 31 deletions(-) diff --git a/src/utils/request.ts b/src/utils/request.ts index c53167a7..5b6c0949 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -68,7 +68,7 @@ service.interceptors.response.use( } }, (error: any) => { - if (error.response.data) { + if (error.response && error.response.data) { const { msg, message } = error.response.data; message_error(msg || message || '系统出错'); } diff --git a/src/views/layout/index.vue b/src/views/layout/index.vue index 548c3845..413cc634 100644 --- a/src/views/layout/index.vue +++ b/src/views/layout/index.vue @@ -156,7 +156,7 @@ const init = () => { // 数据合并 const data_merge = (list: string[]) => { list.forEach((item: any) => { - item.com_data = default_merge(item.com_data, item.key);; + item.com_data = default_merge(item.com_data, item.key); }); return list; }; @@ -291,38 +291,41 @@ const save_formmat_form_data = (data: diy_data_item, close: boolean = false, is_ }); // 数据改造 const new_data = diy_data_transfor_form_data(clone_form); - DiyAPI.save(new_data).then((res) => { - // 如果是导出或预览模式,则不显示保存成功的消息 - if (!(is_export || is_preview)) { - ElMessage.success('保存成功'); - } - if (close) { - ElMessageBox.confirm('您确定要关闭本页吗?', '提示') - .then(() => { - // 关闭页面 - window.close(); - }) - .catch(() => {}); - } else { - // 判断是否需要导出 - if (is_export) { - const index = window.location.href.lastIndexOf('?s='); - const pro_url = window.location.href.substring(0, index); - const new_url = import.meta.env.VITE_APP_BASE_API == '/dev-api' ? import.meta.env.VITE_APP_BASE_API_URL : pro_url; - window.open(new_url + '?s=diyapi/diydownload/id/' + res.data + '.html', '_blank'); + DiyAPI.save(new_data) + .then((res) => { + setTimeout(() => { + save_disabled.value = false; + }, 500); + // 如果是导出或预览模式,则不显示保存成功的消息 + if (!(is_export || is_preview)) { + ElMessage.success('保存成功'); } - if (is_preview) { - preview_dialog.value = true; - diy_id.value = String(res.data); + if (close) { + ElMessageBox.confirm('您确定要关闭本页吗?', '提示') + .then(() => { + // 关闭页面 + window.close(); + }) + .catch(() => {}); + } else { + // 判断是否需要导出 + if (is_export) { + const index = window.location.href.lastIndexOf('?s='); + const pro_url = window.location.href.substring(0, index); + const new_url = import.meta.env.VITE_APP_BASE_API == '/dev-api' ? import.meta.env.VITE_APP_BASE_API_URL : pro_url; + window.open(new_url + '?s=diyapi/diydownload/id/' + res.data + '.html', '_blank'); + } + if (is_preview) { + preview_dialog.value = true; + diy_id.value = String(res.data); + } + form.value.id = String(res.data); + history.pushState({}, '', '?s=diy/saveinfo/id/' + res.data + '.html'); } - form.value.id = String(res.data); - history.pushState({}, '', '?s=diy/saveinfo/id/' + res.data + '.html'); - } - - setTimeout(() => { + }) + .catch((err) => { save_disabled.value = false; - }, 500); - }); + }); }; //#endregion 顶部导航回调方法 ---------------------end // 数据改造 From cb99e5cf6a640c108e2fad940eaa7eae379184fc Mon Sep 17 00:00:00 2001 From: sws <1141121512@qq.com> Date: Fri, 11 Oct 2024 16:37:43 +0800 Subject: [PATCH 3/3] =?UTF-8?q?1.=E4=BF=9D=E5=AD=98=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/request.ts | 12 ++++++++++-- src/views/layout/components/navbar/index.vue | 20 ++++++++++++++++++-- 2 files changed, 28 insertions(+), 4 deletions(-) diff --git a/src/utils/request.ts b/src/utils/request.ts index 5b6c0949..134a9dfc 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -9,7 +9,12 @@ const message_error = (info: string) => { if (messageInstance) { messageInstance.close(); } - messageInstance = ElMessage.error(info); + messageInstance = ElMessage.error({ + type: 'error', + message: info, + duration: 30000, + showClose: true, + }); }; // 创建一个状态变量来跟踪是否已经弹出了退出登录的弹窗 @@ -20,7 +25,7 @@ const index = window.location.href.lastIndexOf('?s='); const pro_url = window.location.href.substring(0, index); const service = axios.create({ baseURL: import.meta.env.VITE_APP_BASE_API == '/dev-api' ? import.meta.env.VITE_APP_BASE_API : pro_url + '?s=', - timeout: 50000, + timeout: 3000, headers: { 'Content-Type': 'application/json;charset=utf-8' }, }); /** @ts-ignore */ @@ -71,7 +76,10 @@ service.interceptors.response.use( if (error.response && error.response.data) { const { msg, message } = error.response.data; message_error(msg || message || '系统出错'); + } else { + message_error(error.message); } + return Promise.reject(error.message); } ); diff --git a/src/views/layout/components/navbar/index.vue b/src/views/layout/components/navbar/index.vue index c29fea73..0f321cfe 100644 --- a/src/views/layout/components/navbar/index.vue +++ b/src/views/layout/components/navbar/index.vue @@ -16,8 +16,8 @@
@@ -166,6 +166,14 @@ const confirm_event = async (formEl: FormInstance | undefined) => { border-color: #fff; color: $cr-primary; } + &.disabled { + opacity: 0.5; + &:hover { + background-color: transparent; + border-color: #fff; + color: #fff; + } + } } .btn-white { background-color: #fff; @@ -176,6 +184,14 @@ const confirm_event = async (formEl: FormInstance | undefined) => { border-color: #1e7ede; color: #fff; } + &.disabled { + opacity: 0.5; + &:hover { + background-color: #fff; + border-color: #fff; + color: $cr-primary; + } + } } } }