From 08c2fa45f7f5e6626f83270363a0d16f7d752d4c Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期二, 14 三月 2023 16:56:13 +0800
Subject: [PATCH] Merge pull request #771 from mrjackwang/wvp-28181-2.0
---
web_src/src/components/dialog/recordDownload.vue | 62 ++++++++++++++++--------------
1 files changed, 33 insertions(+), 29 deletions(-)
diff --git a/web_src/src/components/dialog/recordDownload.vue b/web_src/src/components/dialog/recordDownload.vue
index c50e4ce..4677487 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;
}
@@ -82,24 +71,35 @@
getProgress: function (callback){
this.$axios({
method: 'get',
- url: `/api/gb_record/download/progress/${this.deviceId}/${this.channelId}/${this.stream}`
+ url: `./api/gb_record/download/progress/${this.deviceId}/${this.channelId}/${this.stream}`
}).then((res)=> {
- console.log(res)
- console.log(res.data.progress)
- this.streamInfo = res.data;
- if (parseFloat(res.data.progress) == 1) {
- this.percentage = 100;
+ 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 = (parseFloat(res.data.data.progress)*100).toFixed(1);
+ }
+ if (callback)callback();
}else {
- this.percentage = (res.data.progress*100).toFixed(1);
+ this.$message({
+ showClose: true,
+ message: res.data.msg,
+ type: "error",
+ });
+ this.close();
}
- if (callback)callback();
- }).catch((e) =>{
+ }).catch((e) =>{
+ console.log(e)
});
},
close: function (){
- if (this.streamInfo.progress < 100) {
- this.stopDownloadRecord();
+ this.stopDownloadRecord();
+ if (this.timer !== null) {
+ window.clearTimeout(this.timer);
+ this.timer = null;
}
this.showDialog=false;
this.getProgressRun = false;
@@ -124,7 +124,7 @@
stopDownloadRecord: function (callback) {
this.$axios({
method: 'get',
- url: '/api/gb_record/download/stop/' + this.deviceId + "/" + this.channelId+ "/" + this.stream
+ url: './api/gb_record/download/stop/' + this.deviceId + "/" + this.channelId+ "/" + this.stream
}).then((res)=> {
if (callback) callback(res)
});
@@ -132,7 +132,7 @@
getFileDownload: function (){
this.$axios({
method: 'get',
- url:`/record_proxy/${this.mediaServerId}/api/record/file/download/task/add`,
+ url:`./record_proxy/${this.mediaServerId}/api/record/file/download/task/add`,
params: {
app: this.app,
stream: this.stream,
@@ -140,7 +140,7 @@
endTime: null,
}
}).then((res) =>{
- if (res.data.code === 0 && res.data.msg === "success") {
+ if (res.data.code === 0 ) {
// 鏌ヨ杩涘害
this.title = "褰曞儚鏂囦欢澶勭悊涓�..."
this.taskId = res.data.data;
@@ -164,7 +164,7 @@
getProgressForFile: function (callback){
this.$axios({
method: 'get',
- url:`/record_proxy/${this.mediaServerId}/api/record/file/download/task/list`,
+ url:`./record_proxy/${this.mediaServerId}/api/record/file/download/task/list`,
params: {
app: this.app,
stream: this.stream,
@@ -173,7 +173,11 @@
}
}).then((res) => {
console.log(res)
- if (res.data.code == 0) {
+ if (res.data.code === 0) {
+ if (res.data.data.length === 0){
+ this.percentage = 0
+ return
+ }
this.percentage = parseFloat(res.data.data.percentage)*100
if (res.data.data[0].percentage === '1') {
this.getProgressForFileRun = false;
--
Gitblit v1.8.0