From 23b8667b7f6be60858f1149a3a5fdac9daee17c1 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 15 五月 2023 16:08:31 +0800
Subject: [PATCH] 优化部分sql实现
---
web_src/src/components/dialog/recordDownload.vue | 62 ++++++++++++++++++++-----------
1 files changed, 40 insertions(+), 22 deletions(-)
diff --git a/web_src/src/components/dialog/recordDownload.vue b/web_src/src/components/dialog/recordDownload.vue
index b718a8b..7a94540 100644
--- a/web_src/src/components/dialog/recordDownload.vue
+++ b/web_src/src/components/dialog/recordDownload.vue
@@ -6,19 +6,8 @@
<el-progress :percentage="percentage"></el-progress>
</el-col>
<el-col :span="6" >
-<!-- <el-dropdown size="mini" title="鎾斁鍊嶉��" style="margin-left: 1px;" @command="gbScale">-->
-<!-- <el-button-group>-->
-<!-- <el-button size="mini" style="width: 100%">-->
-<!-- {{scale}}鍊嶉�� <i class="el-icon-arrow-down el-icon--right"></i>-->
-<!-- </el-button>-->
-<!-- </el-button-group>-->
-<!-- <el-dropdown-menu slot="dropdown">-->
-<!-- <el-dropdown-item command="1">1鍊嶉��</el-dropdown-item>-->
-<!-- <el-dropdown-item command="2">2鍊嶉��</el-dropdown-item>-->
-<!-- <el-dropdown-item command="4">4鍊嶉��</el-dropdown-item>-->
-<!-- </el-dropdown-menu>-->
-<!-- </el-dropdown>-->
<el-button icon="el-icon-download" v-if="percentage < 100" size="mini" title="鐐瑰嚮涓嬭浇鍙皢浠ョ紦瀛橀儴鍒嗕笅杞藉埌鏈湴" @click="download()">鍋滄缂撳瓨骞朵笅杞�</el-button>
+ <el-button icon="el-icon-download" v-if="downloadFile" size="mini" title="鐐瑰嚮涓嬭浇" @click="downloadFileClientEvent()">鐐瑰嚮涓嬭浇</el-button>
</el-col>
</el-row>
</el-dialog>
@@ -33,7 +22,7 @@
export default {
name: 'recordDownload',
created() {
-
+ window.addEventListener('beforeunload', this.stopDownloadRecord)
},
data() {
@@ -51,6 +40,8 @@
taskId: null,
getProgressRun: false,
getProgressForFileRun: false,
+ timer: null,
+ downloadFile: null,
};
},
@@ -66,7 +57,7 @@
this.percentage = 0.0;
this.getProgressTimer()
},
- getProgressTimer(){
+ getProgressTimer: function (){
if (!this.getProgressRun) {
return;
}
@@ -84,23 +75,36 @@
method: 'get',
url: `/api/gb_record/download/progress/${this.deviceId}/${this.channelId}/${this.stream}`
}).then((res)=> {
+ console.log(res)
if (res.data.code === 0) {
this.streamInfo = res.data.data;
if (parseFloat(res.data.progress) == 1) {
this.percentage = 100;
}else {
- this.percentage = (res.data.progress*100).toFixed(1);
+ this.percentage = (parseFloat(res.data.data.progress)*100).toFixed(1);
}
if (callback)callback();
+ }else {
+ this.$message({
+ showClose: true,
+ message: res.data.msg,
+ type: "error",
+ });
+ this.close();
}
}).catch((e) =>{
-
+ console.log(e)
});
},
close: function (){
- if (this.streamInfo.progress < 100) {
+ if (this.streamInfo.progress < 1) {
this.stopDownloadRecord();
+ }
+
+ if (this.timer !== null) {
+ window.clearTimeout(this.timer);
+ this.timer = null;
}
this.showDialog=false;
this.getProgressRun = false;
@@ -159,7 +163,7 @@
}
setTimeout( ()=>{
if (!this.showDialog) return;
- this.getProgressForFile(this.getProgressForFileTimer())
+ this.getProgressForFile(this.getProgressForFileTimer)
}, 1000)
},
getProgressForFile: function (callback){
@@ -175,11 +179,19 @@
}).then((res) => {
console.log(res)
if (res.data.code === 0) {
- this.percentage = parseFloat(res.data.data.percentage)*100
+ if (res.data.data.length === 0){
+ this.percentage = 0
+ // 寰�寰�鍦ㄥ娆¤姹傚悗锛堝疄楠屼簲鍒嗛挓鐨勮棰戞槸涓夋璇锋眰锛夛紝鎵嶄細杩斿洖鏁版嵁锛岀涓�娆¤姹傞�氬父鏄繑鍥炵┖鏁扮粍
+ if (callback)callback()
+ return
+ }
+ // res.data.data搴旀槸鏁扮粍绫诲瀷
+ this.percentage = parseFloat(res.data.data[0].percentage)*100
if (res.data.data[0].percentage === '1') {
this.getProgressForFileRun = false;
- window.open(res.data.data[0].downloadFile)
- this.close();
+ this.downloadFile = res.data.data[0].downloadFile
+ this.title = "鏂囦欢澶勭悊瀹屾垚锛岀偣鍑绘寜鎵笅杞�"
+ // window.open(res.data.data[0].downloadFile)
}else {
if (callback)callback()
}
@@ -187,7 +199,13 @@
}).catch(function (error) {
console.log(error);
});
- }
+ },
+ downloadFileClientEvent: function (){
+ window.open(this.downloadFile )
+ }
+ },
+ destroyed() {
+ window.removeEventListener('beforeunload', this.stopDownloadRecord)
}
};
</script>
--
Gitblit v1.8.0