From 3291c4b2e67d510186ca5fbfac8ec5af1a9d4f16 Mon Sep 17 00:00:00 2001
From: 648540858 <648540858@qq.com>
Date: 星期四, 21 三月 2024 16:54:44 +0800
Subject: [PATCH] 修复多平台推流无人观看redis通知
---
web_src/src/components/DeviceList.vue | 125 +++++++++++++++++++++--------------------
1 files changed, 65 insertions(+), 60 deletions(-)
diff --git a/web_src/src/components/DeviceList.vue b/web_src/src/components/DeviceList.vue
old mode 100644
new mode 100755
index d934fe6..5375e5e
--- a/web_src/src/components/DeviceList.vue
+++ b/web_src/src/components/DeviceList.vue
@@ -3,69 +3,75 @@
<div class="page-header">
<div class="page-title">璁惧鍒楄〃</div>
<div class="page-header-btn">
+ <el-button icon="el-icon-plus" size="mini" style="margin-right: 1rem;" type="primary" @click="add">娣诲姞璁惧
+ </el-button>
<el-button icon="el-icon-refresh-right" circle size="mini" :loading="getDeviceListLoading"
@click="getDeviceList()"></el-button>
</div>
</div>
- <!-- <devicePlayer ref="devicePlayer"></devicePlayer> -->
<!--璁惧鍒楄〃-->
- <el-table :data="deviceList" border style="width: 100%;font-size: 12px;" :height="winHeight">
- <el-table-column prop="name" label="鍚嶇О" align="center">
+ <el-table :data="deviceList" style="width: 100%;font-size: 12px;" :height="winHeight" header-row-class-name="table-header">
+ <el-table-column prop="name" label="鍚嶇О" min-width="160">
</el-table-column>
- <el-table-column prop="deviceId" label="璁惧缂栧彿" width="180" align="center">
+ <el-table-column prop="deviceId" label="璁惧缂栧彿" min-width="200" >
</el-table-column>
- <el-table-column label="鍦板潃" width="180" align="center">
+ <el-table-column label="鍦板潃" min-width="160" >
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
- <el-tag size="medium">{{ scope.row.hostAddress }}</el-tag>
+ <el-tag v-if="scope.row.hostAddress" size="medium">{{ scope.row.hostAddress }}</el-tag>
+ <el-tag v-if="!scope.row.hostAddress" size="medium">鏈煡</el-tag>
</div>
</template>
</el-table-column>
- <el-table-column prop="manufacturer" label="鍘傚" align="center">
+ <el-table-column prop="manufacturer" label="鍘傚" min-width="120" >
</el-table-column>
- <el-table-column label="娴佷紶杈撴ā寮�" align="center" width="120">
+ <el-table-column prop="transport" label="淇′护浼犺緭妯″紡" min-width="120" >
+ </el-table-column>
+ <el-table-column label="娴佷紶杈撴ā寮�" min-width="160" >
<template slot-scope="scope">
- <el-select size="mini" @change="transportChange(scope.row)" v-model="scope.row.streamMode" placeholder="璇烽�夋嫨">
+ <el-select size="mini" @change="transportChange(scope.row)" v-model="scope.row.streamMode" placeholder="璇烽�夋嫨" style="width: 120px">
<el-option key="UDP" label="UDP" value="UDP"></el-option>
- <el-option key="TCP-ACTIVE" label="TCP涓诲姩妯″紡" :disabled="true" value="TCP-ACTIVE"></el-option>
+ <el-option key="TCP-ACTIVE" label="TCP涓诲姩妯″紡" value="TCP-ACTIVE"></el-option>
<el-option key="TCP-PASSIVE" label="TCP琚姩妯″紡" value="TCP-PASSIVE"></el-option>
</el-select>
</template>
</el-table-column>
- <el-table-column prop="channelCount" label="閫氶亾鏁�" align="center">
+ <el-table-column prop="channelCount" label="閫氶亾鏁�" min-width="120" >
</el-table-column>
- <el-table-column label="鐘舵��" width="120" align="center">
+ <el-table-column label="鐘舵��" min-width="120">
<template slot-scope="scope">
<div slot="reference" class="name-wrapper">
- <el-tag size="medium" v-if="scope.row.online == 1">鍦ㄧ嚎</el-tag>
- <el-tag size="medium" type="info" v-if="scope.row.online == 0">绂荤嚎</el-tag>
+ <el-tag size="medium" v-if="scope.row.onLine">鍦ㄧ嚎</el-tag>
+ <el-tag size="medium" type="info" v-if="!scope.row.onLine">绂荤嚎</el-tag>
</div>
</template>
</el-table-column>
- <el-table-column prop="keepaliveTime" label="鏈�杩戝績璺�" align="center" width="140">
+ <el-table-column prop="keepaliveTime" label="鏈�杩戝績璺�" min-width="160" >
</el-table-column>
- <el-table-column prop="registerTime" label="鏈�杩戞敞鍐�" align="center" width="140">
+ <el-table-column prop="registerTime" label="鏈�杩戞敞鍐�" min-width="160">
</el-table-column>
- <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" align="center" width="140">
- </el-table-column>
- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" align="center" width="140">
- </el-table-column>
+<!-- <el-table-column prop="updateTime" label="鏇存柊鏃堕棿" width="140">-->
+<!-- </el-table-column>-->
+<!-- <el-table-column prop="createTime" label="鍒涘缓鏃堕棿" width="140">-->
+<!-- </el-table-column>-->
- <el-table-column label="鎿嶄綔" width="450" align="center" fixed="right">
+ <el-table-column label="鎿嶄綔" min-width="450" fixed="right">
<template slot-scope="scope">
- <el-button size="mini" v-if="scope.row.online!=0" icon="el-icon-refresh" @click="refDevice(scope.row)"
+ <el-button type="text" size="medium" v-bind:disabled="scope.row.online==0" icon="el-icon-refresh" @click="refDevice(scope.row)"
@mouseover="getTooltipContent(scope.row.deviceId)">鍒锋柊
</el-button>
- <el-button-group>
- <el-button size="mini" icon="el-icon-video-camera-solid" v-bind:disabled="scope.row.online==0"
- type="primary" @click="showChannelList(scope.row)">閫氶亾
- </el-button>
- <el-button size="mini" icon="el-icon-location" v-bind:disabled="scope.row.online==0" type="primary"
- @click="showDevicePosition(scope.row)">瀹氫綅
- </el-button>
- <el-button size="mini" icon="el-icon-edit" type="primary" @click="edit(scope.row)">缂栬緫</el-button>
- <el-button size="mini" icon="el-icon-delete" type="danger" @click="deleteDevice(scope.row)">鍒犻櫎</el-button>
- </el-button-group>
+ <el-divider direction="vertical"></el-divider>
+ <el-button type="text" size="medium" icon="el-icon-video-camera"
+ @click="showChannelList(scope.row)">閫氶亾
+ </el-button>
+ <el-divider direction="vertical"></el-divider>
+ <el-button size="medium" icon="el-icon-location" type="text"
+ @click="showDevicePosition(scope.row)">瀹氫綅
+ </el-button>
+ <el-divider direction="vertical"></el-divider>
+ <el-button size="medium" icon="el-icon-edit" type="text" @click="edit(scope.row)">缂栬緫</el-button>
+ <el-divider direction="vertical"></el-divider>
+ <el-button size="medium" icon="el-icon-delete" type="text" @click="deleteDevice(scope.row)" style="color: #f56c6c">鍒犻櫎</el-button>
</template>
</el-table-column>
</el-table>
@@ -145,24 +151,24 @@
this.getDeviceList();
},
getDeviceList: function () {
- let that = this;
this.getDeviceListLoading = true;
this.$axios({
method: 'get',
url: `/api/device/query/devices`,
params: {
- page: that.currentPage,
- count: that.count
+ page: this.currentPage,
+ count: this.count
}
- }).then(function (res) {
- that.total = res.data.total;
- that.deviceList = res.data.list;
- that.getDeviceListLoading = false;
- }).catch(function (error) {
+ }).then( (res)=> {
+ if (res.data.code === 0) {
+ this.total = res.data.data.total;
+ this.deviceList = res.data.data.list;
+ }
+ this.getDeviceListLoading = false;
+ }).catch( (error)=> {
console.error(error);
- that.getDeviceListLoading = false;
+ this.getDeviceListLoading = false;
});
-
},
deleteDevice: function (row) {
let msg = "纭畾鍒犻櫎姝よ澶囷紵"
@@ -191,10 +197,10 @@
},
showChannelList: function (row) {
- this.$router.push(`/channelList/${row.deviceId}/0/15/1`);
+ this.$router.push(`/channelList/${row.deviceId}/0`);
},
showDevicePosition: function (row) {
- this.$router.push(`/devicePosition/${row.deviceId}/0/15/1`);
+ this.$router.push(`/map?deviceId=${row.deviceId}`);
},
//gb28181骞冲彴瀵规帴
@@ -203,7 +209,7 @@
console.log("鍒锋柊瀵瑰簲璁惧:" + itemData.deviceId);
let that = this;
this.$axios({
- method: 'post',
+ method: 'get',
url: '/api/device/query/devices/' + itemData.deviceId + '/sync'
}).then((res) => {
console.log("鍒锋柊璁惧缁撴灉锛�" + JSON.stringify(res));
@@ -252,21 +258,6 @@
})
return result;
},
- //閫氱煡璁惧涓婁紶濯掍綋娴�
- sendDevicePush: function (itemData) {
- // let deviceId = this.currentDevice.deviceId;
- // let channelId = itemData.channelId;
- // console.log("閫氱煡璁惧鎺ㄦ祦1锛�" + deviceId + " : " + channelId);
- // let that = this;
- // this.$axios({
- // method: 'get',
- // url: '/api/play/' + deviceId + '/' + channelId
- // }).then(function(res) {
- // let ssrc = res.data.ssrc;
- // that.$refs.devicePlayer.play(ssrc,deviceId,channelId);
- // }).catch(function(e) {
- // });
- },
transportChange: function (row) {
console.log(`淇敼浼犺緭鏂瑰紡涓� ${row.streamMode}锛�${row.deviceId} `);
let that = this;
@@ -289,7 +280,20 @@
setTimeout(this.getDeviceList, 200)
})
+ },
+ add: function () {
+ this.$refs.deviceEdit.openDialog(null, () => {
+ this.$refs.deviceEdit.close();
+ this.$message({
+ showClose: true,
+ message: "娣诲姞鎴愬姛",
+ type: "success",
+ });
+ setTimeout(this.getDeviceList, 200)
+
+ })
}
+
}
};
@@ -347,4 +351,5 @@
padding: 0.3rem;
width: 14.4rem;
}
+
</style>
--
Gitblit v1.8.0