From 62e82ea9ee6a73cf7cdcfe1ab1a7b49a23f571e3 Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 15 十月 2021 17:58:28 +0800 Subject: [PATCH] 录像下载修复 --- web_src/src/components/CloudRecord.vue | 48 +++++++++++++++++++++++------------------------- 1 files changed, 23 insertions(+), 25 deletions(-) diff --git a/web_src/src/components/CloudRecord.vue b/web_src/src/components/CloudRecord.vue index c269270..f5d052a 100644 --- a/web_src/src/components/CloudRecord.vue +++ b/web_src/src/components/CloudRecord.vue @@ -7,22 +7,24 @@ <el-main> <div style="background-color: #FFFFFF; margin-bottom: 1rem; position: relative; padding: 0.5rem; text-align: left;"> <span style="font-size: 1rem; font-weight: bold;">浜戠褰曞儚</span> + <div style="position: absolute; right: 5rem; top: 0.3rem;"> + 鑺傜偣閫夋嫨: + <el-select size="mini" @change="chooseMediaChange" style="width: 16rem; margin-right: 1rem;" v-model="mediaServerId" placeholder="璇烽�夋嫨" :disabled="recordDetail"> + <el-option + v-for="item in mediaServerList" + :key="item.id" + :label="item.id" + :value="item.id"> + </el-option> + </el-select> + </div> <div style="position: absolute; right: 1rem; top: 0.3rem;"> <el-button v-if="!recordDetail" icon="el-icon-refresh-right" circle size="mini" :loading="loading" @click="getRecordList()"></el-button> <el-button v-if="recordDetail" icon="el-icon-arrow-left" circle size="mini" @click="backToList()"></el-button> </div> </div> <div v-if="!recordDetail"> - <div style="background-color: #FFFFFF; margin-bottom: 1rem; position: relative; padding: 0.5rem; text-align: left;font-size: 14px;"> - 鑺傜偣閫夋嫨: <el-select size="mini" @change="chooseMediaChange" style="width: 16rem; margin-right: 1rem;" v-model="mediaServer" placeholder="璇烽�夋嫨" default-first-option> - <el-option - v-for="item in mediaServerList" - :key="item.generalMediaServerId" - :label="item.generalMediaServerId + '( ' + item.wanIp + ' )'" - :value="item"> - </el-option> - </el-select> - </div> + <!--璁惧鍒楄〃--> <el-table :data="recordList" border style="width: 100%" :height="winHeight"> <el-table-column prop="app" label="搴旂敤鍚�" align="center"> @@ -51,7 +53,7 @@ :total="total"> </el-pagination> </div> - <cloud-record-detail ref="cloudRecordDetail" v-if="recordDetail" :recordFile="chooseRecord" :mediaServer="mediaServer" ></cloud-record-detail> + <cloud-record-detail ref="cloudRecordDetail" v-if="recordDetail" :recordFile="chooseRecord" :mediaServerId="mediaServerId" ></cloud-record-detail> </el-main> </el-container> </div> @@ -60,6 +62,7 @@ <script> import uiHeader from './UiHeader.vue' import cloudRecordDetail from './CloudRecordDetail.vue' + import MediaServer from './service/MediaServer' export default { name: 'app', components: { @@ -68,7 +71,7 @@ data() { return { mediaServerList: [], // 婊呬綋鑺傜偣鍒楄〃 - mediaServer: null, // 濯掍綋鏈嶅姟 + mediaServerId: null, // 濯掍綋鏈嶅姟 recordList: [], // 璁惧鍒楄〃 chooseRecord: null, // 濯掍綋鏈嶅姟 @@ -78,6 +81,7 @@ count:15, total:0, loading: false, + mediaServerObj : new MediaServer(), recordDetail: false }; @@ -107,26 +111,19 @@ }, getMediaServerList: function (){ let that = this; - this.$axios({ - method: 'get', - url:`/api/server/media_server/list`, - }).then(function (res) { - console.log(res) - that.mediaServerList = res.data; + that.mediaServerObj.getOnlineMediaServerList((data)=>{ + that.mediaServerList = data.data; if (that.mediaServerList.length > 0) { - that.mediaServer = that.mediaServerList[0] + that.mediaServerId = that.mediaServerList[0].id that.getRecordList(); } - - }).catch(function (error) { - console.log(error); - }); + }) }, getRecordList: function (){ let that = this; this.$axios({ method: 'get', - url:`/record_proxy/${that.mediaServer.generalMediaServerId}/api/record/list`, + url:`/record_proxy/${that.mediaServerId}/api/record/list`, params: { page: that.currentPage, count: that.count @@ -146,7 +143,8 @@ }, chooseMediaChange(val){ console.log(val) - this.mediaServer = val; + this.total = 0; + this.recordList = []; this.getRecordList(); }, showRecordDetail(row){ -- Gitblit v1.8.0