| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-05-08 09:30:10 |
| | | * @LastEditTime: 2023-06-29 14:28:18 |
| | | * @FilePath: \srs-police-affairs\src\views\police\index.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | <template> |
| | | <div class="police-page container"> |
| | | <div v-show="boxShow" class="container-content"> |
| | | <el-main |
| | | v-loading="equimentLoading" |
| | | element-loading-text="拼命加载中" |
| | | element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.5)" |
| | | style="overflow: hidden;padding: 0px;" |
| | | > |
| | | <el-main v-loading="equimentLoading" element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.5)" style="overflow: hidden;padding: 0px;"> |
| | | <div class="switch-box" v-show="!detailFlag"> |
| | | 资源类别: |
| | | <el-select |
| | | v-model="typeValue" |
| | | @change="navClick" |
| | | placeholder="请选择" |
| | | class="type-select-css" |
| | | > |
| | | <el-option |
| | | v-for="item in options" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | class="option-css" |
| | | ></el-option> |
| | | <el-select v-model="typeValue" @change="navClick" placeholder="请选择" class="type-select-css"> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value" |
| | | class="option-css"></el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | | <div class="list-show" v-if="!detailFlag"> |
| | | <div class="search-box"> |
| | | <span style="display: inline-block; white-space: nowrap;">资源名称:</span> |
| | | <el-input |
| | | size="small" |
| | | placeholder="请输入…" |
| | | v-model="searchValue" |
| | | @change="searchChange" |
| | | clearable |
| | | ></el-input> |
| | | <el-input size="small" placeholder="请输入…" v-model="searchValue" @change="searchChange" |
| | | clearable></el-input> |
| | | </div> |
| | | |
| | | <div class="list" ref="tableBox"> |
| | | <el-table |
| | | :data="equimentTableData" |
| | | <el-table :data="equimentTableData" |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', borderColor: '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', borderColor: '#324e75', cursor: 'default' }" |
| | | :height="currentTableHeight" |
| | | > |
| | | <el-table-column |
| | | prop="newName" |
| | | :show-overflow-tooltip="true" |
| | | label="名称" |
| | | :min-width="typeValue == 0 || typeValue == 2 ? '56%' : '68%'" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | prop="status" |
| | | label="状态" |
| | | :min-width="typeValue == 0 || typeValue == 2 ? '14%' : '14%'" |
| | | > |
| | | :height="currentTableHeight"> |
| | | <el-table-column prop="newName" :show-overflow-tooltip="true" label="名称" |
| | | :min-width="typeValue == 0 || typeValue == 2 ? '56%' : '68%'"></el-table-column> |
| | | <el-table-column prop="status" label="状态" |
| | | :min-width="typeValue == 0 || typeValue == 2 ? '14%' : '14%'"> |
| | | <template slot-scope="scope"> |
| | | <div |
| | | class="state-box" |
| | | :class="{ online: scope.row.status == '1' }" |
| | | ></div> |
| | | <div class="state-box" :class="{ online: scope.row.status == '1' }"></div> |
| | | </template> |
| | | </el-table-column> |
| | | <div slot="empty" style="text-align: center;">{{ emptyText }}</div> |
| | | <el-table-column |
| | | label="操作" |
| | | align="center" |
| | | :min-width="typeValue == 0 || typeValue == 2 ? '30%' : '18%'" |
| | | > |
| | | <el-table-column label="操作" align="center" |
| | | :min-width="typeValue == 0 || typeValue == 2 || typeValue == 3 ? '30%' : '18%'"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | :disabled="whetherPosition(scope.row)" |
| | | @click="rowClick(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="定位" |
| | | > |
| | | <i |
| | | class="el-icon-location" |
| | | :style="{ color: positionColor(scope.row) }" |
| | | ></i> |
| | | <el-button :disabled="whetherPosition(scope.row)" @click="rowClick(scope.row)" |
| | | type="text" size="small" title="定位"> |
| | | <i class="el-icon-location" :style="{ color: positionColor(scope.row) }"></i> |
| | | </el-button> |
| | | <el-button |
| | | v-show="navType == 0 || navType == 2" |
| | | @click="equipmentTrack(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="轨迹" |
| | | > |
| | | <el-button v-show="navType == 0 || navType == 2 || navType == 3" |
| | | @click="equipmentTrack(scope.row)" type="text" size="small" title="轨迹"> |
| | | <i class="el-icon-police-track"></i> |
| | | </el-button> |
| | | <el-button |
| | | v-show="navType != 2" |
| | | @click="play(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="播放视频" |
| | | > |
| | | <el-button v-show="navType != 2 && navType != 3" @click="play(scope.row)" type="text" |
| | | size="small" title="播放视频"> |
| | | <i class="el-icon-video-play"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div |
| | | class="pages all-pagination-sty" |
| | | ref="tablePagination" |
| | | style="padding-top:-15px" |
| | | > |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :page-size="equimentPage.pageSize" |
| | | :total="equimentPage.total" |
| | | :pager-count="4" |
| | | :current-page="equimentPage.currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | <div class="pages all-pagination-sty" ref="tablePagination" style="padding-top:-15px"> |
| | | <el-pagination background layout="prev, pager, next" :page-size="equimentPage.pageSize" |
| | | :total="equimentPage.total" :pager-count="4" :current-page="equimentPage.currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div>状态:</div> |
| | | <div> |
| | | {{ |
| | | currentSelectEquipment.status ? (currentSelectEquipment.status == 0 ? '离线' : '在线') : |
| | | '' |
| | | currentSelectEquipment.status ? (currentSelectEquipment.status == 0 ? '离线' : '在线') : |
| | | '' |
| | | }} |
| | | </div> |
| | | </li> |
| | |
| | | <li> |
| | | <div>选择时间:</div> |
| | | <div class="datetime"> |
| | | <el-date-picker |
| | | v-model="trackTime" |
| | | type="daterange" |
| | | unlink-panels |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | size="mini" |
| | | :editable="false" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | <el-date-picker v-model="trackTime" type="daterange" unlink-panels range-separator="至" |
| | | start-placeholder="开始日期" size="mini" :editable="false" |
| | | end-placeholder="结束日期"></el-date-picker> |
| | | </div> |
| | | </li> |
| | | |
| | |
| | | |
| | | <div v-show="searchExtensivelyValBoxShow" class="searchExtensively-val-box"> |
| | | <div> |
| | | <div |
| | | @click="searchExtensivelyVlaClick(item)" |
| | | v-for="(item, index) in searchExtensivelyArray" |
| | | :key="index" |
| | | >{{ item.name }}</div> |
| | | <div @click="searchExtensivelyVlaClick(item)" v-for="(item, index) in searchExtensivelyArray" :key="index"> |
| | | {{ item.name }}</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | :title="dialogTitle" |
| | | :visible.sync="dialogVisible" |
| | | :before-close="dialogBeforeClose" |
| | | :modal="true" |
| | | :modal-append-to-body="false" |
| | | :close-on-click-modal="false" |
| | | class="car-video-box" |
| | | > |
| | | <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :modal="true" |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="car-video-box"> |
| | | <video-loading v-show="videoPlayShow"></video-loading> |
| | | |
| | | <video |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | ref="videoElement" |
| | | id="videoElement" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" |
| | | style="object-fit: fill"></video> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | |
| | | |
| | | return |
| | | } |
| | | console.log('点击了表格', row) |
| | | |
| | | this.$EventBus.$emit('toPosition', { |
| | | layerName: 'carLayers', |
| | | siteJd: row.lng, |
| | |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | |
| | | & > div { |
| | | &>div { |
| | | flex: 1; |
| | | } |
| | | } |
| | |
| | | color: #fff; |
| | | border-bottom: 1px solid #fff; |
| | | |
| | | & > div { |
| | | &>div { |
| | | text-align: center; |
| | | } |
| | | |
| | | & > div:first-child { |
| | | &>div:first-child { |
| | | flex: 2; |
| | | } |
| | | |
| | | & > div:last-child { |
| | | &>div:last-child { |
| | | flex: 6; |
| | | |
| | | & > div { |
| | | &>div { |
| | | width: 100% !important; |
| | | } |
| | | } |
| | |
| | | border-radius: 10px; |
| | | overflow: hidden; |
| | | |
| | | & > div { |
| | | &>div { |
| | | height: 100%; |
| | | overflow-y: auto; |
| | | |