From ca1d66cfb81bfcf3e6598beb9d4e53fb9f5a3736 Mon Sep 17 00:00:00 2001
From: sjt <shijinting0321@163.com>
Date: 星期三, 18 一月 2023 15:27:24 +0800
Subject: [PATCH] 数据库脚本版本管理,便于表结构更新维护
---
web_src/src/components/CloudRecordDetail.vue | 49 +++++++++++++++++++++++++++++++++++--------------
1 files changed, 35 insertions(+), 14 deletions(-)
diff --git a/web_src/src/components/CloudRecordDetail.vue b/web_src/src/components/CloudRecordDetail.vue
index 4f6a6dc..8d04eb0 100644
--- a/web_src/src/components/CloudRecordDetail.vue
+++ b/web_src/src/components/CloudRecordDetail.vue
@@ -1,13 +1,15 @@
<template>
<div id="recordDetail">
<el-container>
+
<el-aside width="300px">
+
<div class="record-list-box-box">
<el-date-picker size="mini" v-model="chooseDate" :picker-options="pickerOptions" type="date" value-format="yyyy-MM-dd" placeholder="鏃ユ湡" @change="dateChange()"></el-date-picker>
<div class="record-list-box" :style="recordListStyle">
<ul v-if="detailFiles.length >0" class="infinite-list record-list" v-infinite-scroll="infiniteScroll" >
- <li v-for="item in detailFiles" class="infinite-list-item record-list-item" @click="chooseFile(item)">
- <el-tag v-if="choosedFile != item">
+ <li v-for="item in detailFiles" class="infinite-list-item record-list-item" >
+ <el-tag v-if="choosedFile != item" @click="chooseFile(item)">
<i class="el-icon-video-camera" ></i>
{{ item.substring(0,17)}}
</el-tag>
@@ -15,6 +17,7 @@
<i class="el-icon-video-camera" ></i>
{{ item.substring(0,17)}}
</el-tag>
+ <a class="el-icon-download" style="color: #409EFF;font-weight: 600;margin-left: 10px;" :href="`${basePath}/download.html?url=record/${recordFile.app}/${recordFile.stream}/${chooseDate}/${item}`" target="_blank" />
</li>
</ul>
</div>
@@ -27,7 +30,7 @@
</el-aside>
<el-main style="padding: 22px">
<div class="playBox" :style="playerStyle">
- <player ref="recordVideoPlayer" :videoUrl="videoUrl" fluent autoplay :height="true" ></player>
+ <player ref="recordVideoPlayer" :videoUrl="videoUrl" :height="true" style="width: 100%" ></player>
</div>
<div class="player-option-box" >
<el-slider
@@ -74,7 +77,7 @@
<li class="task-list-item" v-for="item in taskListEnded">
<div class="task-list-item-box" style="height: 2rem;line-height: 2rem;">
<span>{{ item.startTime.substr(10) }}-{{item.endTime.substr(10)}}</span>
- <a class="el-icon-download download-btn" :href="basePath + '/' + item.recordFile" download >
+ <a class="el-icon-download download-btn" :href="basePath + '/download.html?url=../' + item.recordFile" target="_blank">
</a>
</div>
</li>
@@ -102,7 +105,7 @@
<script>
// TODO 鏍规嵁鏌ヨ鐨勬椂闂村垪琛ㄨ缃粦杞ㄧ殑鏈�澶у�间笌鏈�灏忓�硷紝
- import uiHeader from './UiHeader.vue'
+ import uiHeader from '../layout/UiHeader.vue'
import player from './dialog/easyPlayer.vue'
import moment from 'moment'
export default {
@@ -110,10 +113,10 @@
components: {
uiHeader, player
},
- props: ['recordFile', 'mediaServerId', 'dateFiles'],
+ props: ['recordFile', 'mediaServerId', 'dateFiles', 'mediaServerPath'],
data() {
return {
- basePath: process.env.NODE_ENV === 'development'?`${location.origin}/debug/zlm/${this.mediaServerId}`:`${location.origin}/zlm/${this.mediaServerId}`,
+ basePath: `${this.mediaServerPath}`,
dateFilesObj: [],
detailFiles: [],
chooseDate: null,
@@ -248,8 +251,10 @@
count: that.count
}
}).then(function (res) {
- that.total = res.data.data.total;
- that.detailFiles = that.detailFiles.concat(res.data.data.list);
+ if (res.data.code === 0) {
+ that.total = res.data.data.total;
+ that.detailFiles = that.detailFiles.concat(res.data.data.list);
+ }
that.loading = false;
if (callback) callback();
}).catch(function (error) {
@@ -263,7 +268,7 @@
this.videoUrl = "";
}else {
// TODO 鎺у埗鍒楄〃婊氬姩鏉�
- this.videoUrl = `${this.basePath}/${this.mediaServerId}/record/${this.recordFile.app}/${this.recordFile.stream}/${this.chooseDate}/${this.choosedFile}`
+ this.videoUrl = `${this.basePath}/record/${this.recordFile.app}/${this.recordFile.stream}/${this.chooseDate}/${this.choosedFile}`
console.log(this.videoUrl)
}
@@ -305,7 +310,20 @@
let h = parseInt(val/3600);
let m = parseInt((val - h*3600)/60);
let s = parseInt(val - h*3600 - m*60);
- return h + ":" + m + ":" + s
+
+ let hStr = h;
+ let mStr = m;
+ let sStr = s;
+ if (h < 10) {
+ hStr = "0" + hStr;
+ }
+ if (m < 10) {
+ mStr = "0" + mStr;s
+ }
+ if (s < 10) {
+ sStr = "0" + sStr;
+ }
+ return hStr + ":" + mStr + ":" + sStr
},
deleteRecord(){
// TODO
@@ -318,7 +336,7 @@
count: that.count
}
}).then(function (res) {
- if (res.data.code == 0) {
+ if (res.data.code === 0) {
that.total = res.data.data.total;
that.recordList = res.data.data.list;
}
@@ -388,7 +406,7 @@
endTime: moment(this.taskTimeRange[1]).format('YYYY-MM-DD HH:mm:ss'),
}
}).then(function (res) {
- if (res.data.code === 0 && res.data.msg === "success") {
+ if (res.data.code === 0 ) {
that.showTaskBox = false
that.getTaskList(false);
}else {
@@ -410,7 +428,7 @@
isEnd: isEnd,
}
}).then(function (res) {
- if (res.data.code == 0) {
+ if (res.data.code === 0) {
if (isEnd){
that.taskListEnded = res.data.data;
}else {
@@ -420,6 +438,9 @@
}).catch(function (error) {
console.log(error);
});
+ },
+ goBack(){
+ this.$router.push('/cloudRecord');
}
}
};
--
Gitblit v1.8.0