From c6dfb63f8fd5f04fa00ac6c45da2eb6bcc5cada4 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期一, 25 三月 2024 23:59:50 +0800
Subject: [PATCH] 优化hook通知
---
web_src/src/components/channelList.vue | 104 ++++++++++++++++++++++++++++++++++++++++------------
1 files changed, 80 insertions(+), 24 deletions(-)
diff --git a/web_src/src/components/channelList.vue b/web_src/src/components/channelList.vue
index 5547913..a62805b 100755
--- a/web_src/src/components/channelList.vue
+++ b/web_src/src/components/channelList.vue
@@ -13,24 +13,30 @@
prefix-icon="el-icon-search" v-model="searchSrt" clearable></el-input>
閫氶亾绫诲瀷:
- <el-select size="mini" @change="search" style="margin-right: 1rem;" v-model="channelType" placeholder="璇烽�夋嫨"
+ <el-select size="mini" @change="search" style="width: 8rem; margin-right: 1rem;" v-model="channelType" placeholder="璇烽�夋嫨"
default-first-option>
<el-option label="鍏ㄩ儴" value=""></el-option>
<el-option label="璁惧" value="false"></el-option>
<el-option label="瀛愮洰褰�" value="true"></el-option>
</el-select>
鍦ㄧ嚎鐘舵��:
- <el-select size="mini" style="margin-right: 1rem;" @change="search" v-model="online" placeholder="璇烽�夋嫨"
+ <el-select size="mini" style="width: 8rem; margin-right: 1rem;" @change="search" v-model="online" placeholder="璇烽�夋嫨"
default-first-option>
<el-option label="鍏ㄩ儴" value=""></el-option>
<el-option label="鍦ㄧ嚎" value="true"></el-option>
<el-option label="绂荤嚎" value="false"></el-option>
</el-select>
- 娓呮櫚搴�:
- <el-select size="mini" style="margin-right: 1rem;" @change="search" v-model="isSubStream" placeholder="璇烽�夋嫨"
- default-first-option>
- <el-option label="鍘熺敾" :value="false"></el-option>
- <el-option label="娴佺晠" :value="true"></el-option>
+ 鐮佹祦绫诲瀷閲嶇疆:
+ <el-select size="mini" style="width: 16rem; margin-right: 1rem;" @change="subStreamChange" v-model="subStream"
+ placeholder="璇烽�夋嫨鐮佹祦绫诲瀷" default-first-option >
+ <el-option label="stream:0(涓荤爜娴�)" value="stream:0"></el-option>
+ <el-option label="stream:1(瀛愮爜娴�)" value="stream:1"></el-option>
+ <el-option label="streamnumber:0(涓荤爜娴�-2022)" value="streamnumber:0"></el-option>
+ <el-option label="streamnumber:1(瀛愮爜娴�-2022)" value="streamnumber:1"></el-option>
+ <el-option label="streamprofile:0(涓荤爜娴�-澶у崕)" value="streamprofile:0"></el-option>
+ <el-option label="streamprofile:1(瀛愮爜娴�-澶у崕)" value="streamprofile:1"></el-option>
+ <el-option label="streamMode:main(涓荤爜娴�-姘存槦+TP-LINK)" value="streamMode:main"></el-option>
+ <el-option label="streamMode:sub(瀛愮爜娴�-姘存槦+TP-LINK)" value="streamMode:sub"></el-option>
</el-select>
</div>
<el-button icon="el-icon-refresh-right" circle size="mini" @click="refresh()"></el-button>
@@ -46,11 +52,11 @@
<el-main style="padding: 5px;">
<el-table ref="channelListTable" :data="deviceChannelList" :height="winHeight" style="width: 100%"
header-row-class-name="table-header">
- <el-table-column prop="channelId" label="閫氶亾缂栧彿" min-width="200">
+ <el-table-column prop="channelId" label="閫氶亾缂栧彿" min-width="180">
</el-table-column>
- <el-table-column prop="deviceId" label="璁惧缂栧彿" min-width="200">
+ <el-table-column prop="deviceId" label="璁惧缂栧彿" min-width="180">
</el-table-column>
- <el-table-column prop="name" label="閫氶亾鍚嶇О" min-width="200">
+ <el-table-column prop="name" label="閫氶亾鍚嶇О" min-width="180">
<template v-slot:default="scope">
<el-input
v-show="scope.row.edit"
@@ -63,7 +69,7 @@
<span v-show="!scope.row.edit">{{ scope.row.name }}</span>
</template>
</el-table-column>
- <el-table-column label="蹇収" min-width="120">
+ <el-table-column label="蹇収" min-width="100">
<template v-slot:default="scope">
<el-image
:src="getSnap(scope.row)"
@@ -77,11 +83,11 @@
</el-image>
</template>
</el-table-column>
- <el-table-column prop="subCount" label="瀛愯妭鐐规暟" min-width="120">
+ <el-table-column prop="subCount" label="瀛愯妭鐐规暟" min-width="100">
</el-table-column>
- <el-table-column prop="manufacture" label="鍘傚" min-width="120">
+ <el-table-column prop="manufacture" label="鍘傚" min-width="100">
</el-table-column>
- <el-table-column label="浣嶇疆淇℃伅" min-width="200">
+ <el-table-column label="浣嶇疆淇℃伅" min-width="120">
<template v-slot:default="scope">
<el-input
v-show="scope.row.edit"
@@ -94,9 +100,9 @@
<span v-show="!scope.row.edit">{{ scope.row.location }}</span>
</template>
</el-table-column>
- <el-table-column prop="PTZType" label="浜戝彴绫诲瀷" min-width="120">
+ <el-table-column prop="ptzType" label="浜戝彴绫诲瀷" min-width="100">
<template v-slot:default="scope">
- <el-select v-show="scope.row.edit" v-model="scope.row.PTZType"
+ <el-select v-show="scope.row.edit" v-model="scope.row.ptzType"
placeholder="浜戝彴绫诲瀷" filterable>
<el-option
v-for="(value, key) in ptzTypes"
@@ -105,16 +111,31 @@
:value="key"
/>
</el-select>
- <div v-show="!scope.row.edit">{{ scope.row.PTZTypeText }}</div>
+ <div v-show="!scope.row.edit">{{ scope.row.ptzTypeText }}</div>
</template>
</el-table-column>
- <el-table-column label="寮�鍚煶棰�" min-width="120">
+ <el-table-column label="寮�鍚煶棰�" min-width="100">
<template slot-scope="scope">
<el-switch @change="updateChannel(scope.row)" v-model="scope.row.hasAudio" active-color="#409EFF">
</el-switch>
</template>
</el-table-column>
- <el-table-column label="鐘舵��" min-width="120">
+ <el-table-column label="鐮佹祦绫诲瀷" min-width="180">
+ <template slot-scope="scope">
+ <el-select size="mini" style="margin-right: 1rem;" @change="channelSubStreamChange(scope.row)" v-model="scope.row.streamIdentification"
+ placeholder="璇烽�夋嫨鐮佹祦绫诲瀷" default-first-option >
+ <el-option label="stream:0(涓荤爜娴�)" value="stream:0"></el-option>
+ <el-option label="stream:1(瀛愮爜娴�)" value="stream:1"></el-option>
+ <el-option label="streamnumber:0(涓荤爜娴�-2022)" value="streamnumber:0"></el-option>
+ <el-option label="streamnumber:1(瀛愮爜娴�-2022)" value="streamnumber:1"></el-option>
+ <el-option label="streamprofile:0(涓荤爜娴�-澶у崕)" value="streamprofile:0"></el-option>
+ <el-option label="streamprofile:1(瀛愮爜娴�-澶у崕)" value="streamprofile:1"></el-option>
+ <el-option label="streamMode:main(涓荤爜娴�-姘存槦+TP-LINK)" value="streamMode:main"></el-option>
+ <el-option label="streamMode:sub(瀛愮爜娴�-姘存槦+TP-LINK)" value="streamMode:sub"></el-option>
+ </el-select>
+ </template>
+ </el-table-column>
+ <el-table-column label="鐘舵��" min-width="100">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
<el-tag size="medium" v-if="scope.row.status === true">鍦ㄧ嚎</el-tag>
@@ -122,8 +143,6 @@
</div>
</template>
</el-table-column>
-
-
<el-table-column label="鎿嶄綔" min-width="340" fixed="right">
<template slot-scope="scope">
<el-button size="medium" v-bind:disabled="device == null || device.online === 0" icon="el-icon-video-play"
@@ -213,7 +232,7 @@
searchSrt: "",
channelType: "",
online: "",
- isSubStream: false,
+ subStream: "",
winHeight: window.innerHeight - 200,
currentPage: 1,
count: 15,
@@ -293,7 +312,7 @@
that.total = res.data.data.total;
that.deviceChannelList = res.data.data.list;
that.deviceChannelList.forEach(e => {
- e.PTZType = e.PTZType + "";
+ e.ptzType = e.ptzType + "";
that.$set(e, "edit", false);
that.$set(e, "location", "");
if (e.longitude && e.latitude) {
@@ -441,7 +460,7 @@
this.total = res.data.data.total;
this.deviceChannelList = res.data.data.list;
this.deviceChannelList.forEach(e => {
- e.PTZType = e.PTZType + "";
+ e.ptzType = e.ptzType + "";
this.$set(e, "edit", false);
this.$set(e, "location", "");
if (e.longitude && e.latitude) {
@@ -495,6 +514,43 @@
console.log(JSON.stringify(res));
});
},
+ subStreamChange: function () {
+ this.$confirm('纭畾閲嶇疆鎵�鏈夐�氶亾鐨勭爜娴佺被鍨�?', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.$axios({
+ method: 'post',
+ url: `/api/device/query/channel/stream/identification/update/`,
+ params: {
+ deviceId: this.deviceId,
+ streamIdentification: this.subStream
+ }
+ }).then((res)=> {
+ console.log(JSON.stringify(res));
+ this.initData()
+ }).finally(()=>{
+ this.subStream = ""
+ })
+ }).catch(() => {
+ this.subStream = ""
+ });
+
+ },
+ channelSubStreamChange: function (row) {
+ this.$axios({
+ method: 'post',
+ url: `/api/device/query/channel/stream/identification/update/`,
+ params: {
+ deviceId: this.deviceId,
+ channelId: row.channelId,
+ streamIdentification: row.streamIdentification
+ }
+ }).then(function (res) {
+ console.log(JSON.stringify(res));
+ });
+ },
refresh: function () {
this.initData();
},
--
Gitblit v1.8.0