From 9b8915a8035534d7b62e2c01dd79c785d25a50ce Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E6=9B=B9=E7=A3=8A?= <45566618@qq.com>
Date: Mon, 27 May 2024 19:41:21 +0800
Subject: [PATCH] =?UTF-8?q?=E4=B8=8B=E8=BD=BD=E5=A2=9E=E5=8A=A0loading?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../src/jeecg/components/JUpload/JUpload.vue | 48 ++++++++++++++-
.../checkKecheng/dqxqkcMain.vue | 4 +-
.../checkKecheng/dqxqkcMenu.vue | 4 +-
.../downloadAssembly.vue | 54 +++++++++++++++-
src/views/zy/jiaoXueDanYuanNeiRong/index.vue | 41 ++++++++++++-
src/views/zyk/ZykInfoList.vue | 61 ++++++++++++++++++-
6 files changed, 198 insertions(+), 14 deletions(-)
diff --git a/src/components/Form/src/jeecg/components/JUpload/JUpload.vue b/src/components/Form/src/jeecg/components/JUpload/JUpload.vue
index db9957e..7e089d3 100644
--- a/src/components/Form/src/jeecg/components/JUpload/JUpload.vue
+++ b/src/components/Form/src/jeecg/components/JUpload/JUpload.vue
@@ -21,7 +21,9 @@
{{ text }}
-
+
+
@@ -42,6 +44,7 @@
import { buildUUID } from '/@/utils/uuid';
import CryptoJS from 'crypto-js';
+ const spinning = ref(false);
const { createMessage, createConfirm } = useMessage();
const { prefixCls } = useDesign('j-upload');
const attrs = useAttrs();
@@ -396,7 +399,39 @@
if (isImageMode.value) {
createImgPreview({ imageList: [file.url], maskClosable: true });
} else {
- window.open(file.url);
+ // window.open(file.url);
+ openWindowWithLoading(file.url);
+ }
+ }
+
+ /**
+ * 自定义下载事件,带加载中
+ */
+ function openWindowWithLoading(url){
+ let xhr = new XMLHttpRequest();
+ spinning.value = true;
+ xhr.open('GET',url,true);
+ // xhr.onprogress = function (e){
+ // let percent = Math.floor(e.loaded / e.total * 100);//百分比加载,用于进度条
+ // console.log(percent);
+ // }
+ xhr.send();
+ xhr.responseType = "arraybuffer";
+ xhr.onreadystatechange = event =>{
+ console.log(xhr);
+ if(xhr.readyState == 4){
+ if(xhr.status == 200){
+ let fileName = url.substring(url.lastIndexOf("/")+1);
+ let blob = new Blob([xhr.response]);
+ const downLoadLink = document.createElement('a');
+ downLoadLink.download = fileName;
+ downLoadLink.href = URL.createObjectURL(blob);
+ downLoadLink.click();
+ }else if (xhr.status == 404){
+ createMessage.warning('没有找到可下载的资源!');
+ }
+ }
+ spinning.value = false;
}
}
@@ -785,4 +820,13 @@
}
}
}
+
+ .example {
+ text-align: center;
+ background: rgba(0, 0, 0, 0);
+ border-radius: 4px;
+ position: absolute;
+ left: 50%;
+ top: 50%;
+ }
diff --git a/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMain.vue b/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMain.vue
index 894593d..93d608b 100644
--- a/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMain.vue
+++ b/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMain.vue
@@ -45,9 +45,9 @@
//进入就加载
onMounted(() => {
- console.log('rwbh:',rwbh);
+ // console.log('rwbh:',rwbh);
defHttp.get({ url: '/ktgl/kcKechengbiao/getKcxxByRwbhXqxn', params: { rwbh: rwbh,xqxn:xqxn } }).then((res) => {
- console.log(`🚀 ~ 1111 defHttp.get ~ res:`, res)
+ // console.log(`🚀 ~ 1111 defHttp.get ~ res:`, res)
kcxxInfo.value = res;
});
});
diff --git a/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue b/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue
index 5780829..214c243 100644
--- a/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue
+++ b/src/views/site/renKeJiaoCheng/checkKecheng/dqxqkcMenu.vue
@@ -100,7 +100,7 @@
}else if(zytype=='zycd'){
href = "/zy/dqkcCdxx";
}
-
+
router.push({path:href,query: {rwbh,xqxn,type}});
}
@@ -110,7 +110,7 @@
//进入就加载
onMounted(() => {
- console.log('rwbh:',rwbh);
+ // console.log('rwbh:',rwbh);
});
diff --git a/src/views/zy/jiaoXueDanYuanNeiRong/downloadAssembly.vue b/src/views/zy/jiaoXueDanYuanNeiRong/downloadAssembly.vue
index 40f93b4..b43d290 100644
--- a/src/views/zy/jiaoXueDanYuanNeiRong/downloadAssembly.vue
+++ b/src/views/zy/jiaoXueDanYuanNeiRong/downloadAssembly.vue
@@ -7,7 +7,8 @@
- {{ getFileName() }}
+
+ {{ getFileName() }}
@@ -15,10 +16,16 @@
-
+
\ No newline at end of file
+
+ function downLoadFile(){
+ if(!props.filePath) return null;
+ let url = getFileAccessHttpUrl(props.filePath);
+ openWindowWithLoading(url);
+ }
+
+ function openWindowWithLoading(url){
+ let xhr = new XMLHttpRequest();
+ spinning.value = true;
+ xhr.open('GET',url,true);
+ xhr.send();
+ xhr.responseType = "arraybuffer";
+ xhr.onreadystatechange = event =>{
+ if(xhr.readyState == 4){
+ if(xhr.status == 200){
+ let fileName = url.substring(url.lastIndexOf("/")+1);
+ let blob = new Blob([xhr.response]);
+ const downLoadLink = document.createElement('a');
+ downLoadLink.download = fileName;
+ downLoadLink.href = URL.createObjectURL(blob);
+ downLoadLink.click();
+ }else if (xhr.status == 404){
+ createMessage.warning('没有找到可下载的资源!');
+ }
+ }
+ spinning.value = false;
+ }
+ }
+
+
+
+
diff --git a/src/views/zy/jiaoXueDanYuanNeiRong/index.vue b/src/views/zy/jiaoXueDanYuanNeiRong/index.vue
index a4a88bf..2cf2089 100644
--- a/src/views/zy/jiaoXueDanYuanNeiRong/index.vue
+++ b/src/views/zy/jiaoXueDanYuanNeiRong/index.vue
@@ -146,8 +146,9 @@
-
-
+