| | |
| | | <devicePlayer ref="devicePlayer" v-loading="isLoging"></devicePlayer> |
| | | <!--设备列表--> |
| | | <el-table ref="channelListTable" :data="deviceChannelList" :height="winHeight" border style="width: 100%"> |
| | | <el-table-column prop="channelId" label="通道编号" width="210"> |
| | | </el-table-column> |
| | | <el-table-column prop="deviceId" label="设备编号" width="210"> |
| | | <el-table-column prop="channelId" label="通道编号" width="200"> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="通道名称"> |
| | | </el-table-column> |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="subCount" label="子节点数"> |
| | | </el-table-column> |
| | | <el-table-column prop="manufacture" label="厂家"> |
| | | </el-table-column> |
| | | <el-table-column label="位置信息" align="center"> |
| | | <template slot-scope="scope"> |
| | | <span>{{scope.row.longitude}},{{scope.row.latitude}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ptztypeText" label="云台类型"/> |
| | | <el-table-column label="开启音频" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-switch @change="updateChannel(scope.row)" v-model="scope.row.hasAudio" active-color="#409EFF"> |
| | |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="ptztypeText" label="云台类型"> |
| | | </el-table-column> |
| | | |
| | | |
| | | <el-table-column label="操作" width="280" align="center" fixed="right"> |
| | | <template slot-scope="scope"> |
| | | <el-button-group> |
| | | <!-- <el-button size="mini" icon="el-icon-video-play" v-if="scope.row.parental == 0" @click="sendDevicePush(scope.row)">播放</el-button> --> |
| | | <el-button size="mini" icon="el-icon-video-play" @click="sendDevicePush(scope.row)">播放</el-button> |
| | | <el-button size="mini" icon="el-icon-switch-button" type="danger" v-if="!!scope.row.streamId" @click="stopDevicePush(scope.row)">停止</el-button> |
| | | <el-button size="mini" icon="el-icon-s-open" type="primary" v-if="scope.row.parental == 1" @click="changeSubchannel(scope.row)">查看</el-button> |
| | | <el-button size="mini" icon="el-icon-s-open" type="primary" v-if="scope.row.subCount > 0" @click="changeSubchannel(scope.row)">查看</el-button> |
| | | <el-button size="mini" icon="el-icon-video-camera" type="primary" @click="queryRecords(scope.row)">设备录象</el-button> |
| | | <!-- <el-button size="mini" @click="sendDevicePush(scope.row)">录像查询</el-button> --> |
| | | </el-button-group> |
| | |
| | | }, |
| | | currentChange: function (val) { |
| | | var url = `/${this.$router.currentRoute.name}/${this.deviceId}/${this.parentChannelId}/${this.count}/${val}` |
| | | console.log(url) |
| | | this.$router.push(url).then(() => { |
| | | this.initParam(); |
| | | this.initData(); |
| | |
| | | method: 'get', |
| | | url: `/api/device/query/devices/${this.$route.params.deviceId}/channels`, |
| | | params:{ |
| | | page: that.currentPage, |
| | | page: that.currentPage, |
| | | count: that.count, |
| | | query: that.searchSrt, |
| | | online: that.online, |
| | | channelType: that.channelType |
| | | } |
| | | } |
| | | }).then(function (res) { |
| | | console.log(res); |
| | | that.total = res.data.total; |
| | | that.deviceChannelList = res.data.list; |
| | | // 防止出现表格错位 |
| | |
| | | |
| | | //通知设备上传媒体流 |
| | | sendDevicePush: function (itemData) { |
| | | console.log(itemData); |
| | | let deviceId = this.deviceId; |
| | | this.isLoging = true; |
| | | let channelId = itemData.channelId; |
| | |
| | | url: '/api/play/start/' + deviceId + '/' + channelId |
| | | }).then(function (res) { |
| | | that.isLoging = false; |
| | | if (res.data.code == 0) { |
| | | if (res.data.code === 0) { |
| | | |
| | | setTimeout(()=>{ |
| | | console.log("下载截图") |
| | | |
| | | let snapId = deviceId + "_" + channelId; |
| | | that.loadSnap[snapId] = 0; |
| | | that.getSnapErrorEvent(snapId) |
| | |
| | | streamInfo: res.data.data, |
| | | hasAudio: itemData.hasAudio |
| | | }); |
| | | that.initData(); |
| | | setTimeout(()=>{ |
| | | that.initData(); |
| | | },1000) |
| | | |
| | | }else { |
| | | that.$message.error(res.data.msg); |
| | | } |
| | |
| | | this.$refs.devicePlayer.openDialog("record", deviceId, channelId, {date: format}) |
| | | }, |
| | | stopDevicePush: function (itemData) { |
| | | console.log(itemData) |
| | | var that = this; |
| | | this.$axios({ |
| | | method: 'get', |
| | | url: '/api/play/stop/' + this.deviceId + "/" + itemData.channelId |
| | | }).then(function (res) { |
| | | console.log(JSON.stringify(res)); |
| | | that.initData(); |
| | | }).catch(function (error) { |
| | | if (error.response.status === 402) { // 已经停止过 |
| | |
| | | }) |
| | | }, |
| | | changeSubchannel(itemData) { |
| | | console.log(this.$router.currentRoute) |
| | | this.beforeUrl = this.$router.currentRoute.path; |
| | | |
| | | var url = `/${this.$router.currentRoute.name}/${this.$router.currentRoute.params.deviceId}/${itemData.channelId}/${this.$router.currentRoute.params.count}/1` |
| | |
| | | }); |
| | | }, |
| | | search: function () { |
| | | console.log(this.searchSrt) |
| | | this.currentPage = 1; |
| | | this.total = 0; |
| | | this.initData(); |
| | | }, |
| | | updateChannel: function (row) { |
| | | console.log(row) |
| | | this.$axios({ |
| | | method: 'post', |
| | | url: `/api/device/query/channel/update/${this.deviceId}`, |