From b6c97528aeff3a976faa2f9f80bd3fbf42aedfdd Mon Sep 17 00:00:00 2001 From: 648540858 <648540858@qq.com> Date: 星期五, 01 七月 2022 18:36:35 +0800 Subject: [PATCH] 添加界面停止逻辑 --- web_src/src/components/channelList.vue | 138 +++++++++++++++++++++++----------------------- 1 files changed, 69 insertions(+), 69 deletions(-) diff --git a/web_src/src/components/channelList.vue b/web_src/src/components/channelList.vue index 60f3112..d27e62b 100644 --- a/web_src/src/components/channelList.vue +++ b/web_src/src/components/channelList.vue @@ -2,10 +2,10 @@ <div id="channelList" style="width: 100%"> <div class="page-header"> <div class="page-title"> - <el-button icon="el-icon-arrow-left" size="mini" style="margin-right: 1rem;" type="primary" @click="showDevice"> - 杩斿洖 - </el-button> - 閫氶亾鍒楄〃({{ parentChannelId == 0 ? deviceId : parentChannelId }})</div> + <el-button icon="el-icon-back" size="mini" style="font-size: 20px; color: #000;" type="text" @click="showDevice" ></el-button> + <el-divider direction="vertical"></el-divider> + 閫氶亾鍒楄〃 + </div> <div class="page-header-btn"> 鎼滅储: <el-input @input="search" style="margin-right: 1rem; width: auto;" size="mini" placeholder="鍏抽敭瀛�" @@ -25,86 +25,85 @@ <el-option label="鍦ㄧ嚎" value="true"></el-option> <el-option label="绂荤嚎" value="false"></el-option> </el-select> - <el-checkbox size="mini" v-model="autoList" @change="autoListChange"> - 鑷姩鍒锋柊 - </el-checkbox> + <el-button icon="el-icon-refresh-right" circle size="mini" @click="refresh()"></el-button> </div> </div> <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="200"> + <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> - <el-table-column prop="name" label="閫氶亾鍚嶇О"> + <el-table-column prop="deviceId" label="璁惧缂栧彿" min-width="200"> </el-table-column> - <el-table-column label="蹇収" width="80" align="center"> - <template slot-scope="scope"> -<!-- <img style="max-height: 3rem;max-width: 4rem;"--> -<!-- v-if="scope.row.subCount === 0 && scope.row.parental === 0"--> -<!-- :deviceId="scope.row.deviceId"--> -<!-- :channelId="scope.row.channelId"--> -<!-- :src="getSnap(scope.row)"--> -<!-- @error="getSnapErrorEvent($event.target.deviceId, $event.target.channelId)"--> -<!-- alt="">--> - <el-image - :src="getSnap(scope.row)" - :preview-src-list="getBigSnap(scope.row)" - @error="getSnapErrorEvent(scope.row.deviceId, cope.row.channelId)" - :fit="'contain'"> - <div slot="error" class="image-slot"> - <i class="el-icon-picture-outline"></i> - </div> - </el-image> + <el-table-column prop="name" label="閫氶亾鍚嶇О" min-width="200"> + </el-table-column> + <el-table-column label="蹇収" min-width="120"> + <template v-slot:default="scope"> + <el-image + :src="getSnap(scope.row)" + :preview-src-list="getBigSnap(scope.row)" + @error="getSnapErrorEvent(scope.row.deviceId, scope.row.channelId)" + :fit="'contain'" + style="width: 60px"> + <div slot="error" class="image-slot"> + <i class="el-icon-picture-outline"></i> + </div> + </el-image> </template> </el-table-column> - <el-table-column prop="subCount" label="瀛愯妭鐐规暟"> + <el-table-column prop="subCount" label="瀛愯妭鐐规暟" min-width="120"> </el-table-column> - <el-table-column prop="manufacture" label="鍘傚"> + <el-table-column prop="manufacture" label="鍘傚" min-width="120"> </el-table-column> - <el-table-column label="浣嶇疆淇℃伅" align="center"> + <el-table-column label="浣嶇疆淇℃伅" min-width="200"> <template slot-scope="scope"> <span v-if="scope.row.longitude*scope.row.latitude > 0">{{ scope.row.longitude }},<br>{{ scope.row.latitude }}</span> <span v-if="scope.row.longitude*scope.row.latitude === 0">鏃�</span> </template> </el-table-column> - <el-table-column prop="ptztypeText" label="浜戝彴绫诲瀷"/> - <el-table-column label="寮�鍚煶棰�" align="center"> + <el-table-column prop="ptztypeText" label="浜戝彴绫诲瀷" min-width="120"/> + <el-table-column label="寮�鍚煶棰�" min-width="120"> <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="鐘舵��" width="180" 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.status == 1">寮�鍚�</el-tag> - <el-tag size="medium" type="info" v-if="scope.row.status == 0">鍏抽棴</el-tag> + <el-tag size="medium" v-if="scope.row.status === 1">鍦ㄧ嚎</el-tag> + <el-tag size="medium" type="info" v-if="scope.row.status === 0">绂荤嚎</el-tag> </div> </template> </el-table-column> - <el-table-column label="鎿嶄綔" width="280" align="center" fixed="right"> + <el-table-column label="鎿嶄綔" min-width="280" 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.subCount > 0 || scope.row.parental === 1" - @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> + <!-- <el-button size="mini" icon="el-icon-video-play" v-if="scope.row.parental == 0" @click="sendDevicePush(scope.row)">鎾斁</el-button> --> + <el-button size="medium" icon="el-icon-video-play" type="text" @click="sendDevicePush(scope.row)">鎾斁</el-button> + <el-button size="medium" icon="el-icon-switch-button" type="text" style="color: #f56c6c" v-if="!!scope.row.streamId" + @click="stopDevicePush(scope.row)">鍋滄 + </el-button> + <el-divider direction="vertical"></el-divider> + <el-button size="medium" icon="el-icon-s-open" type="text" v-if="scope.row.subCount > 0 || scope.row.parental === 1" + @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" icon="el-icon-video-camera" type="text" @click="queryRecords(scope.row)">璁惧褰曞儚 + </el-button> </template> </el-table-column> </el-table> - <el-pagination style="float: right" @size-change="handleSizeChange" @current-change="currentChange" - :current-page="currentPage" :page-size="count" :page-sizes="[15, 20, 30, 50]" - layout="total, sizes, prev, pager, next" :total="total"> + <el-pagination + style="float: right" + @size-change="handleSizeChange" + @current-change="currentChange" + :current-page="currentPage" + :page-size="count" + :page-sizes="[15, 25, 35, 50]" + layout="total, sizes, prev, pager, next" + :total="total"> </el-pagination> </div> </template> @@ -113,6 +112,8 @@ import devicePlayer from './dialog/devicePlayer.vue' import uiHeader from '../layout/UiHeader.vue' import moment from "moment"; +import DviceService from "./service/DeviceService"; +import DeviceService from "./service/DeviceService"; export default { name: 'channelList', @@ -122,6 +123,8 @@ }, data() { return { + deviceService: new DeviceService(), + device: null, deviceId: this.$route.params.deviceId, parentChannelId: this.$route.params.parentChannelId, deviceChannelList: [], @@ -137,16 +140,21 @@ total: 0, beforeUrl: "/deviceList", isLoging: false, - autoList: true, loadSnap: {} }; }, mounted() { - this.initData(); - if (this.autoList) { - this.updateLooper = setInterval(this.initData, 5000); + if (this.deviceId) { + this.deviceService.getDevice(this.deviceId, (result)=>{ + this.device = result; + + }, (error)=>{ + console.log("鑾峰彇璁惧淇℃伅澶辫触") + console.error(error) + }) } + this.initData(); }, destroyed() { @@ -179,12 +187,8 @@ }) }, handleSizeChange: function (val) { - var url = `/${this.$router.currentRoute.name}/${this.$router.params.deviceId}/${this.$router.params.parentChannelId}/${val}/1` - this.$router.push(url).then(() => { - this.initParam(); - this.initData(); - }) - + this.count = val; + this.getDeviceChannelList(); }, getDeviceChannelList: function () { let that = this; @@ -349,12 +353,8 @@ console.log(JSON.stringify(res)); }); }, - autoListChange: function () { - if (this.autoList) { - this.updateLooper = setInterval(this.initData, 1500); - } else { - window.clearInterval(this.updateLooper); - } + refresh: function () { + this.initData(); } } -- Gitblit v1.8.0