From 9f16b5c553b479ea12fe368a7ecc748872ea8b98 Mon Sep 17 00:00:00 2001 From: zxl <763096477@qq.com> Date: 星期四, 12 六月 2025 11:11:27 +0800 Subject: [PATCH] 修改配置文件 --- web_src/src/components/channelList.vue | 151 ++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 115 insertions(+), 36 deletions(-) diff --git a/web_src/src/components/channelList.vue b/web_src/src/components/channelList.vue index 5547913..ff1d784 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" @@ -159,13 +178,24 @@ @click="changeSubchannel(scope.row)">鏌ョ湅 </el-button> <el-divider v-if="scope.row.subCount > 0 || scope.row.parental === 1" direction="vertical"></el-divider> - <el-button size="medium" v-bind:disabled="device == null || device.online === 0" - icon="el-icon-video-camera" - type="text" @click="queryRecords(scope.row)">璁惧褰曞儚 - </el-button> - <el-button size="medium" v-bind:disabled="device == null || device.online === 0" icon="el-icon-cloudy" - type="text" @click="queryCloudRecords(scope.row)">浜戠褰曞儚 - </el-button> +<!-- <el-button size="medium" v-bind:disabled="device == null || device.online === 0"--> +<!-- icon="el-icon-video-camera"--> +<!-- type="text" @click="queryRecords(scope.row)">璁惧褰曞儚--> +<!-- </el-button>--> +<!-- <el-button size="medium" v-bind:disabled="device == null || device.online === 0" icon="el-icon-cloudy"--> +<!-- type="text" @click="queryCloudRecords(scope.row)">浜戠褰曞儚--> +<!-- </el-button>--> + <el-dropdown @command="(command)=>{moreClick(command, scope.row)}"> + <el-button size="medium" type="text" > + 鏇村鍔熻兘<i class="el-icon-arrow-down el-icon--right"></i> + </el-button> + <el-dropdown-menu slot="dropdown"> + <el-dropdown-item command="records" v-bind:disabled="device == null || device.online === 0"> + 璁惧褰曞儚</el-dropdown-item> + <el-dropdown-item command="cloudRecords" v-bind:disabled="device == null || device.online === 0" > + 浜戠褰曞儚</el-dropdown-item> + </el-dropdown-menu> + </el-dropdown> </template> </el-table-column> </el-table> @@ -213,7 +243,7 @@ searchSrt: "", channelType: "", online: "", - isSubStream: false, + subStream: "", winHeight: window.innerHeight - 200, currentPage: 1, count: 15, @@ -293,10 +323,12 @@ 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) { + if (e.customLongitude && e.customLatitude) { + that.$set(e, "location", e.customLongitude + "," + e.customLatitude); + }else if (e.longitude && e.latitude) { that.$set(e, "location", e.longitude + "," + e.latitude); } }); @@ -352,6 +384,13 @@ that.isLoging = false; // that.$message.error("璇锋眰瓒呮椂"); }); + }, + moreClick: function (command, itemData) { + if (command === "records") { + this.queryRecords(itemData) + }else if (command === "cloudRecords") { + this.queryCloudRecords(itemData) + } }, queryRecords: function (itemData) { let deviceId = this.deviceId; @@ -441,10 +480,12 @@ 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) { + if (e.customLongitude && e.customLatitude) { + this.$set(e, "location", e.customLongitude + "," + e.customLatitude); + }else if (e.longitude && e.latitude) { this.$set(e, "location", e.longitude + "," + e.latitude); } }); @@ -495,6 +536,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(); }, @@ -526,12 +604,13 @@ if (row.location) { const segements = row.location.split(","); if (segements.length !== 2) { + console.log(1) this.$message.warning("浣嶇疆淇℃伅鏍煎紡鏈夎锛屼緥锛�117.234,36.378"); return; } else { - row.longitude = parseFloat(segements[0]); - row.latitude = parseFloat(segements[1]); - if (!(row.longitude && row.latitude)) { + row.customLongitude = parseFloat(segements[0]); + row.customLatitude = parseFloat(segements[1]); + if (!(row.customLongitude && row.customLatitude)) { this.$message.warning("浣嶇疆淇℃伅鏍煎紡鏈夎锛屼緥锛�117.234,36.378"); return; } -- Gitblit v1.8.0