From 8ef5e2618d6fed0bbfea1aca99ca010b1e041718 Mon Sep 17 00:00:00 2001 From: wangjunyi <junyi.wang@hiscene.com> Date: 星期四, 27 四月 2023 17:39:45 +0800 Subject: [PATCH] 解决国标设备-通道-设备录像处的视频下载问题 --- web_src/src/components/dialog/recordDownload.vue | 45 +++++++++++++++++++++++++++------------------ 1 files changed, 27 insertions(+), 18 deletions(-) diff --git a/web_src/src/components/dialog/recordDownload.vue b/web_src/src/components/dialog/recordDownload.vue index b718a8b..c90cf13 100644 --- a/web_src/src/components/dialog/recordDownload.vue +++ b/web_src/src/components/dialog/recordDownload.vue @@ -6,18 +6,6 @@ <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-col> </el-row> @@ -51,6 +39,7 @@ taskId: null, getProgressRun: false, getProgressForFileRun: false, + timer: null }; }, @@ -66,7 +55,7 @@ this.percentage = 0.0; this.getProgressTimer() }, - getProgressTimer(){ + getProgressTimer: function (){ if (!this.getProgressRun) { return; } @@ -84,23 +73,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 +161,7 @@ } setTimeout( ()=>{ if (!this.showDialog) return; - this.getProgressForFile(this.getProgressForFileTimer()) + this.getProgressForFile(this.getProgressForFileTimer) }, 1000) }, getProgressForFile: function (callback){ @@ -175,7 +177,14 @@ }).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) -- Gitblit v1.8.0