| src/views/home/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/house/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/police/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/policeInfor/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/video/list.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/video/region.vue | ●●●●● patch | view | raw | blame | history |
src/views/home/index.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-02-22 17:35:06 * @LastEditTime: 2023-02-23 08:45:07 * @FilePath: \srs-police-affairs\src\views\home\index.vue * @Description: 小区-栋-层-房屋 * @@ -1989,6 +1989,8 @@ // cylinderLayer != null && cylinderLayer != undefined && cylinderLayer != '' && cylinderLayer.remove() this.$store.commit('SET_DETAILSPOPUP', { showBox: false, showBtn: false @@ -1997,6 +1999,11 @@ global.viewer.dataSources.removeAll() this.$EventBus.$emit('mapRemoveLayer', { layerName: 'personNumLayer', type: 'VectorLayer' }) this.$EventBus.$emit('mapRemoveLayer', { layerName: 'polygonLayer', type: 'VectorLayer' }) src/views/house/index.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-02-22 15:12:21 * @LastEditTime: 2023-02-23 08:46:15 * @FilePath: \srs-police-affairs\src\views\house\index.vue * @Description: 小区-栋-层-房屋 * @@ -13,50 +13,21 @@ <div class="house-page container"> <div v-show="boxShow" class="container-content"> <div v-show="contentShow" class="search-box"> <el-popover ref="popover" placement="bottom" trigger="manual" v-model="searchTreeShowFlag" popper-class="tree-search-popup" @mousedown.native="preventFocusLost" > <el-tree v-show="searchLazyFlag == true" ref="popupTree" style="overflow: auto;" class="select-tree-box" :load="loadNode" :lazy="true" :props="props" @current-change="currentChangeHandle" @mousedown.native="preventFocusLost" ></el-tree> <el-popover ref="popover" placement="bottom" trigger="manual" v-model="searchTreeShowFlag" popper-class="tree-search-popup" @mousedown.native="preventFocusLost"> <el-tree v-show="searchLazyFlag == true" ref="popupTree" style="overflow: auto;" class="select-tree-box" :load="loadNode" :lazy="true" :props="props" @current-change="currentChangeHandle" @mousedown.native="preventFocusLost"></el-tree> <el-tree v-show="searchLazyFlag == false" :empty-text="treeEmptyText" ref="popupTree" style="overflow: auto;" class="select-tree-box" :data="searchTreeData" :props="defaultProps" :default-expand-all="true" @current-change="currentChangeHandle" @mousedown.native="preventFocusLost" ></el-tree> <el-tree v-show="searchLazyFlag == false" :empty-text="treeEmptyText" ref="popupTree" style="overflow: auto;" class="select-tree-box" :data="searchTreeData" :props="defaultProps" :default-expand-all="true" @current-change="currentChangeHandle" @mousedown.native="preventFocusLost"></el-tree> </el-popover> <el-input ref="searchTreeInput" v-model="searchTreeName" @input="searchInputTree" @focus="searchTreeShowFlag = true" @blur="searchTreeShowFlag = false" v-popover:popover placeholder="请输入搜索条件" style="cursor: pointer;" ></el-input> <el-input ref="searchTreeInput" v-model="searchTreeName" @input="searchInputTree" @focus="searchTreeShowFlag = true" @blur="searchTreeShowFlag = false" v-popover:popover placeholder="请输入搜索条件" style="cursor: pointer;"></el-input> </div> <div v-show="contentShow" class="result-content" ref="resultContentBox"> @@ -68,15 +39,9 @@ <div class="housing-bg"> <div class="block"> <el-carousel height="150px"> <el-carousel-item v-for="(item, index) in villageInfo.pic_url_list" :key="index" > <el-image style=" height: 100%" :src="item" :preview-src-list="villageInfo.pic_url_list" ></el-image> <el-carousel-item v-for="(item, index) in villageInfo.pic_url_list" :key="index"> <el-image style=" height: 100%" :src="item" :preview-src-list="villageInfo.pic_url_list"></el-image> </el-carousel-item> </el-carousel> </div> @@ -102,42 +67,16 @@ </div> <div class="nav-tab" ref="navTabBox"> <div class="nav" :class="navType == 0 ? 'choosed' : ''" @click="navClick" data-type="0" >基本信息</div> <div class="nav" :class="navType == 1 ? 'choosed' : ''" @click="navClick" data-type="1" >报警信息</div> <div class="nav" :class="navType == 0 ? 'choosed' : ''" @click="navClick" data-type="0">基本信息</div> <div class="nav" :class="navType == 1 ? 'choosed' : ''" @click="navClick" data-type="1">报警信息</div> </div> <div class="base-info" v-show="navType == 0"> <div class="sub-nav-list"> <div class="sub-nav" :class="{ on: subNavType == 1 }" @click="subNavType = 1" >楼栋</div> <div class="sub-nav" :class="{ on: subNavType == 2 }" @click="subNavType = 2" >出入口</div> <div class="sub-nav" :class="{ on: subNavType == 3 }" @click="subNavType = 3" >停车场</div> <div class="sub-nav" :class="{ on: subNavType == 4 }" @click="subNavType = 4" >商业</div> <div class="sub-nav" :class="{ on: subNavType == 1 }" @click="subNavType = 1">楼栋</div> <div class="sub-nav" :class="{ on: subNavType == 2 }" @click="subNavType = 2">出入口</div> <div class="sub-nav" :class="{ on: subNavType == 3 }" @click="subNavType = 3">停车场</div> <div class="sub-nav" :class="{ on: subNavType == 4 }" @click="subNavType = 4">商业</div> </div> <div class="floor-content" v-show="subNavType == 1"> @@ -148,18 +87,11 @@ <div class="build-outBox" ref="BuildOutBox"> <div class="build-box" style="left: 0px;"> <!-- :style="{ width: `calc(${Math.ceil(buildingList.length / 10)} * (356 / 1920) * 100vw` }" --> <div class="ridgepole-list" v-for="index of Math.ceil(buildingList.length / 10)" :key="index" > <div v-for="(item, index) in buildingList.slice((index - 1) * 10, index * 10)" :key="index" @click="buildingClick(item)" :class="{ on: buildingChoosed.name == item.name }" :title="item.name" > <div class="ridgepole-list" v-for="index of Math.ceil(buildingList.length / 10)" :key="index"> <div v-for="(item, index) in buildingList.slice((index - 1) * 10, index * 10)" :key="index" @click="buildingClick(item)" :class="{ on: buildingChoosed.name == item.name }" :title="item.name"> {{ item.name }} @@ -168,10 +100,7 @@ </div> </div> <div class="nextBtn rightBtn" @click="nextBtn"> <i v-show="buildingList.length > 10 && nextBtnShow" class="el-icon-caret-right" ></i> <i v-show="buildingList.length > 10 && nextBtnShow" class="el-icon-caret-right"></i> </div> </div> @@ -251,19 +180,9 @@ <div class="condo" v-show="isShowUnitChoose"> <div class="type">选择单元</div> <div class="type-select"> <el-select size="small" v-model="unitValue" placeholder="请选择" @change="chooseUnit" > <el-option v-for="item in unitOptions" :key="item.value" :label="item.label" :value="item.value" class="unit-option" ></el-option> <el-select size="small" v-model="unitValue" placeholder="请选择" @change="chooseUnit"> <el-option v-for="item in unitOptions" :key="item.value" :label="item.label" :value="item.value" class="unit-option"></el-option> </el-select> </div> </div> @@ -311,29 +230,17 @@ </div> </div> </div>--> <el-main v-loading="pictLoading" element-loading-background="rgba(17, 38, 163, .1)" element-loading-text="数据正在加载中" element-loading-spinner="el-icon-loading" v-show="isShowHouseBox" > <el-main v-loading="pictLoading" element-loading-background="rgba(17, 38, 163, .1)" element-loading-text="数据正在加载中" element-loading-spinner="el-icon-loading" v-show="isShowHouseBox"> <div class="floor-outBox"> <div @click="lastFloorBtn" class="floorBtn" v-show="lastFloorShow" > <div @click="lastFloorBtn" class="floorBtn" v-show="lastFloorShow"> <i class="el-icon-caret-left"></i> </div> <div class="floor-box"> <div class="floor-num" style="left: 0"> <div :class="{ on: floorsType == index }" @click="floorsType = index" v-for="index in Math.ceil(unitHouseChoosed.length / 5)" :key="index" > <div :class="{ on: floorsType == index }" @click="floorsType = index" v-for="index in Math.ceil(unitHouseChoosed.length / 5)" :key="index"> {{ unitHouseChoosed[index * 5 - 5].floor_num }}-{{ unitHouseChoosed[index * 5 @@ -343,28 +250,19 @@ </div> </div> </div> <div @click="nextFloorBtn" class="floorBtn rightFloorBtn" v-show="nextFloorShow" > <div @click="nextFloorBtn" class="floorBtn rightFloorBtn" v-show="nextFloorShow"> <i class="el-icon-caret-right"></i> </div> </div> <div class="floor-detail"> <div v-for="(item, index) in unitHouseChoosed.slice((floorsType - 1) * 5, floorsType * 5)" :key="index" > <div v-for="(item, index) in unitHouseChoosed.slice((floorsType - 1) * 5, floorsType * 5)" :key="index"> <div class="title">{{ item.floor_num }}层:</div> <div class="detail"> <div v-for="(value, index) in item.floor_house" :key="index" <div v-for="(value, index) in item.floor_house" :key="index" @click="residentDetailsClick(value)" :class="{ on: floorChoosed == value.properties.fojcu }" > :class="{ on: floorChoosed == value.properties.fojcu }"> <!-- :class="[{ 'chuzu': value.houseType == '出租' }, { 'zizhu': value.houseType == '自住' }, { 'kongzhi': value.houseType == '空置' }, { 'shangye': value.houseType == '商业' }]" --> {{ value.properties.fojcu }} <!-- <div class="flow"></div> @@ -379,60 +277,36 @@ </div> <div class="come-out-content" v-show="subNavType == 2"> <el-table :data="comeOutData" style="width: 100%" <el-table :data="comeOutData" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'comeOut')" > <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true" ></el-table-column> :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'comeOut')"> <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true"></el-table-column> <el-table-column prop="x" label="经度" width="100"></el-table-column> <el-table-column prop="y" label="纬度" width="100"></el-table-column> </el-table> </div> <div class="park-content" v-show="subNavType == 3"> <el-table :data="parkingLotData" style="width: 100%" <el-table :data="parkingLotData" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'park')" > <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true" ></el-table-column> :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'park')"> <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true"></el-table-column> <el-table-column prop="x" label="经度" width="100"></el-table-column> <el-table-column prop="y" label="纬度" width="100"></el-table-column> </el-table> </div> <div class="business-content" v-show="subNavType == 4"> <el-table :data="businessData" style="width: 100%" <el-table :data="businessData" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'business')" > <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true" ></el-table-column> :row-class-name="tableRowClassName" @row-click="deepDataRowClick($event, 'business')"> <el-table-column prop="name" label="名称" width="180" :show-overflow-tooltip="true"></el-table-column> <el-table-column prop="x" label="经度" width="100"></el-table-column> <el-table-column prop="y" label="纬度" width="100"></el-table-column> </el-table> @@ -440,62 +314,35 @@ </div> <div class="police-info" v-if="navType == 1" ref="policeTableBox"> <el-table :data="callPoliceData" style="width: 100%" :height="currentTableHeight" <el-table :data="callPoliceData" style="width: 100%" :height="currentTableHeight" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" :row-class-name="tableRowClassName" @row-click="clickData" > <el-table-column prop="JJDWMC" :show-overflow-tooltip="true" label="接警单位" min-width="34%" ></el-table-column> :row-class-name="tableRowClassName" @row-click="clickData"> <el-table-column prop="JJDWMC" :show-overflow-tooltip="true" label="接警单位" min-width="34%"></el-table-column> <el-table-column label="报警时间" min-width="26%"> <template slot-scope="scope"> <span>{{ scope.row.BJSJ.substring(0, 10) }}</span> </template> </el-table-column> <el-table-column prop="JJYXM" :show-overflow-tooltip="true" label="接警员" min-width="20%" ></el-table-column> <el-table-column prop="BJRXM" :show-overflow-tooltip="true" label="报警人" min-width="20%" ></el-table-column> <el-table-column prop="JJYXM" :show-overflow-tooltip="true" label="接警员" min-width="20%"></el-table-column> <el-table-column prop="BJRXM" :show-overflow-tooltip="true" label="报警人" min-width="20%"></el-table-column> </el-table> <div class="pages" ref="ElPagination"> <el-pagination background layout="prev, pager, next" :page-size="callPolicePage.pageSize" :page-count="callPolicePage.count" :current-page="callPolicePage.currentPage" @current-change="handleCurrentChange" ></el-pagination> <el-pagination background layout="prev, pager, next" :page-size="callPolicePage.pageSize" :page-count="callPolicePage.count" :current-page="callPolicePage.currentPage" @current-change="handleCurrentChange"></el-pagination> </div> </div> </div> </div> <!-- <transition name="special-animal"></transition>--> <div class="search-content"> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <div class="clear" v-show="isShowClearBtn" @click="clearSearchValue" title="清空"> <img src="../../../public/img/icon/clear.png" alt /> </div> @@ -503,23 +350,13 @@ </div> <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="报警信息" :modal="true" :visible.sync="policeSituationVisible" :append-to-body="true" :before-close="policeSituationBeforeClose" :close-on-click-modal="true" class="policeSituation-details-box" > <el-dialog title="报警信息" :modal="true" :visible.sync="policeSituationVisible" :append-to-body="true" :before-close="policeSituationBeforeClose" :close-on-click-modal="true" class="policeSituation-details-box"> <div class="box"> <div class="item"> <div>接警单位编号:</div> @@ -580,34 +417,19 @@ </div> </el-dialog> <el-dialog :title="residentDetailsTitle" :modal="false" :visible.sync="residentDetailsShow" :before-close="residentDetailsClose" :close-on-click-modal="true" class="resident-details-box" width="24%" > <el-table :data="houseDate" <el-dialog :title="residentDetailsTitle" :modal="false" :visible.sync="residentDetailsShow" :before-close="residentDetailsClose" :close-on-click-modal="true" class="resident-details-box" width="24%"> <el-table :data="houseDate" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" > :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }"> <el-table-column prop="realName" label="姓名"></el-table-column> <el-table-column prop="phone" label="电话"></el-table-column> <el-table-column prop="cardNo" label="身份证号"></el-table-column> </el-table> </el-dialog> <el-dialog :title="keyPersonTitle" :modal="false" :visible.sync="keyPersonVisible" :before-close="keyPersonBeforeClose" :close-on-click-modal="true" class="keyPerson-details-box" > <el-dialog :title="keyPersonTitle" :modal="false" :visible.sync="keyPersonVisible" :before-close="keyPersonBeforeClose" :close-on-click-modal="true" class="keyPerson-details-box"> <div class="header"> <div> 姓名: @@ -618,18 +440,11 @@ <input type="text" v-model="callPhone" placeholder="请输入联系电话" /> </div> <el-button type="primary" icon="el-icon-search" @click="searchPeopleDetail">搜索</el-button> <el-button type="primary" icon="el-icon-delete" @click="clearPeopleDetailSearchValue" >清空</el-button> <el-button type="primary" icon="el-icon-delete" @click="clearPeopleDetailSearchValue">清空</el-button> </div> <el-table :data="personDetailArr" style="width: 100%" <el-table :data="personDetailArr" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }" > :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75', 'cursor': 'pointer' }"> <el-table-column label="序号" type="index" width="50" align="center"> <template slot-scope="scope"> <span>{{(peoplePage.currentPage - 1) * peoplePage.pageSize + scope.$index + 1}}</span> @@ -644,14 +459,9 @@ <el-table-column prop="areaName" label="所属责任区"></el-table-column> </el-table> <div class="pages" ref="tablePagination"> <el-pagination background layout="prev, pager, next" :page-size="peoplePage.pageSize" :total="peoplePage.total" :current-page="peoplePage.currentPage" @current-change="peopleHandleCurrentChange" ></el-pagination> <el-pagination background layout="prev, pager, next" :page-size="peoplePage.pageSize" :total="peoplePage.total" :current-page="peoplePage.currentPage" @current-change="peopleHandleCurrentChange"></el-pagination> </div> </el-dialog> </div> @@ -1588,11 +1398,11 @@ }) this.$parent.$parent.resize('0px') this.$EventBus.$emit('mapClearLayer', { this.$EventBus.$emit('mapRemoveLayer', { layerName: 'searchLayer', type: 'VectorLayer' }) this.$EventBus.$emit('mapClearLayer', { this.$EventBus.$emit('mapRemoveLayer', { layerName: 'deepDataLayer', type: 'VectorLayer' }) @@ -1720,11 +1530,9 @@ left: 10px; right: 10px; bottom: 4px; background: linear-gradient( 135deg, background: linear-gradient(135deg, rgb(33 150 243 / 74%), rgb(254 254 254 / 0%) ); rgb(254 254 254 / 0%)); z-index: -1; } } @@ -1995,6 +1803,7 @@ } .house-element-info { .condo, .legend { display: flex; @@ -2152,16 +1961,12 @@ } .focus { top: calc( (100% - 18px) / 4 * 2 + 6px ); top: calc((100% - 18px) / 4 * 2 + 6px); background: rgb(255, 121, 108); } .warning { top: calc( (100% - 18px) / 4 * 3 + 12px ); top: calc((100% - 18px) / 4 * 3 + 12px); background: rgb(254, 172, 4); } } @@ -2334,11 +2139,9 @@ height: 100%; overflow: hidden; border-radius: 2px; background: linear-gradient( 135deg, background: linear-gradient(135deg, rgba(252, 252, 252, 0.108), rgb(254, 254, 254) ); rgb(254, 254, 254)); animation: prog 3s ease infinite; } src/views/police/index.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-02-21 16:54:24 * @LastEditTime: 2023-02-23 08:46:42 * @FilePath: \srs-police-affairs\src\views\police\index.vue * @Description: 辖区管理 * @@ -14,84 +14,40 @@ <div v-show="boxShow" class="container-content"> <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"> 资源名称: <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入…" /> <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入…" /> </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: 'pointer' }" :height="currentTableHeight" > <el-table-column prop="newName" :show-overflow-tooltip="true" label="名称" :min-width="typeValue == 0 ? '56%' : '68%'" ></el-table-column> <el-table-column prop="status" label="状态" :min-width="typeValue == 0 ? '14%' : '14%'" > :height="currentTableHeight"> <el-table-column prop="newName" :show-overflow-tooltip="true" label="名称" :min-width="typeValue == 0 ? '56%' : '68%'"></el-table-column> <el-table-column prop="status" label="状态" :min-width="typeValue == 0 ? '14%' : '14%'"> <template slot-scope="scope"> <div class="state-box" :class="{ online: scope.row.status == '1' }"></div> </template> </el-table-column> <el-table-column label="操作" align="center" :min-width="typeValue == 0 ? '30%' : '18%'" > <el-table-column label="操作" align="center" :min-width="typeValue == 0 ? '30%' : '18%'"> <template slot-scope="scope"> <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位" > <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> <i class="el-icon-location"></i> </el-button> <el-button v-show="navType == 0" @click="equipmentTrack(scope.row)" type="text" size="small" title="轨迹" > <el-button v-show="navType == 0" @click="equipmentTrack(scope.row)" type="text" size="small" title="轨迹"> <i class="el-icon-position"></i> </el-button> <el-button @click="play(scope.row)" type="text" size="small" title="播放视频" > <el-button @click="play(scope.row)" type="text" size="small" title="播放视频"> <i class="el-icon-video-play"></i> </el-button> </template> @@ -99,15 +55,9 @@ </el-table> <div class="pages" ref="tablePagination"> <el-pagination background layout="prev, pager, next" :page-size="equimentPage.pageSize" :page-count="equimentPage.count" :pager-count="4" :current-page="equimentPage.currentPage" @current-change="handleCurrentChange" ></el-pagination> <el-pagination background layout="prev, pager, next" :page-size="equimentPage.pageSize" :page-count="equimentPage.count" :pager-count="4" :current-page="equimentPage.currentPage" @current-change="handleCurrentChange"></el-pagination> </div> </div> </div> @@ -144,16 +94,9 @@ <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> @@ -166,13 +109,8 @@ </div> <div class="search-content"> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <div class="clear" v-show="isShowClearBtn" @click="clearSearchValue" title="清空"> <img src="../../../public/img/icon/clear.png" alt /> </div> @@ -181,31 +119,15 @@ <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" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box" > <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" style="object-fit: fill" ></video> <el-dialog :title="dialogTitle" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box"> <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" style="object-fit: fill"></video> </el-dialog> </div> </template> @@ -723,7 +645,7 @@ type: 'VectorLayer' }) this.$EventBus.$emit('mapClearLayer', { this.$EventBus.$emit('mapRemoveLayer', { layerName: 'searchLayer', type: 'VectorLayer' }) src/views/policeInfor/index.vue
@@ -14,84 +14,40 @@ <div v-show="boxShow" class="container-content"> <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"> 资源名称: <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入…" /> <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入…" /> </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: 'pointer' }" :height="currentTableHeight" > <el-table-column prop="newName" :show-overflow-tooltip="true" label="名称" :min-width="typeValue == 0 ? '56%' : '68%'" ></el-table-column> <el-table-column prop="status" label="状态" :min-width="typeValue == 0 ? '14%' : '14%'" > :height="currentTableHeight"> <el-table-column prop="newName" :show-overflow-tooltip="true" label="名称" :min-width="typeValue == 0 ? '56%' : '68%'"></el-table-column> <el-table-column prop="status" label="状态" :min-width="typeValue == 0 ? '14%' : '14%'"> <template slot-scope="scope"> <div class="state-box" :class="{ online: scope.row.status == '1' }"></div> </template> </el-table-column> <el-table-column label="操作" align="center" :min-width="typeValue == 0 ? '30%' : '18%'" > <el-table-column label="操作" align="center" :min-width="typeValue == 0 ? '30%' : '18%'"> <template slot-scope="scope"> <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位" > <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> <i class="el-icon-location"></i> </el-button> <el-button v-show="navType == 0" @click="equipmentTrack(scope.row)" type="text" size="small" title="轨迹" > <el-button v-show="navType == 0" @click="equipmentTrack(scope.row)" type="text" size="small" title="轨迹"> <i class="el-icon-position"></i> </el-button> <el-button @click="play(scope.row)" type="text" size="small" title="播放视频" > <el-button @click="play(scope.row)" type="text" size="small" title="播放视频"> <i class="el-icon-video-play"></i> </el-button> </template> @@ -99,15 +55,9 @@ </el-table> <div class="pages" ref="tablePagination"> <el-pagination background layout="prev, pager, next" :page-size="equimentPage.pageSize" :page-count="equimentPage.count" :pager-count="4" :current-page="equimentPage.currentPage" @current-change="handleCurrentChange" ></el-pagination> <el-pagination background layout="prev, pager, next" :page-size="equimentPage.pageSize" :page-count="equimentPage.count" :pager-count="4" :current-page="equimentPage.currentPage" @current-change="handleCurrentChange"></el-pagination> </div> </div> </div> @@ -144,16 +94,9 @@ <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> @@ -166,13 +109,8 @@ </div> <div class="search-content"> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <div class="clear" v-show="isShowClearBtn" @click="clearSearchValue" title="清空"> <img src="../../../public/img/icon/clear.png" alt /> </div> @@ -181,31 +119,15 @@ <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" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box" > <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" style="object-fit: fill" ></video> <el-dialog :title="dialogTitle" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box"> <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" style="object-fit: fill"></video> </el-dialog> </div> </template> @@ -723,7 +645,7 @@ type: 'VectorLayer' }) this.$EventBus.$emit('mapClearLayer', { this.$EventBus.$emit('mapRemoveLayer', { layerName: 'searchLayer', type: 'VectorLayer' }) src/views/video/list.vue
@@ -14,12 +14,7 @@ <div v-show="boxShow" class="container-content"> <div class="search-box"> 点位名称: <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入…" /> <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入…" /> </div> <div class="draw-btn"> @@ -39,21 +34,11 @@ <div class="down-tree"> <el-scrollbar> <el-tree v-show="searchLazyFlag" :props="props" :load="loadNode" lazy node-key="id" @node-click="treeClick" :default-expanded-keys="defaultExpandedKeys" > <el-tree v-show="searchLazyFlag" :props="props" :load="loadNode" lazy node-key="id" @node-click="treeClick" :default-expanded-keys="defaultExpandedKeys"> <span class="custom-tree-node" slot-scope="node"> <i v-show="node.data.leaf" class="status-box" :class="{ online: Number(node.data.status) === 1 }" ></i> <i v-show="node.data.leaf" class="status-box" :class="{ online: Number(node.data.status) === 1 }"></i> <span> {{ @@ -63,18 +48,10 @@ </span> </el-tree> <el-tree v-show="searchLazyFlag == false" :data="searchTreeData" :props="defaultProps" :default-expand-all="true" @node-click="treeClick" > <el-tree v-show="searchLazyFlag == false" :data="searchTreeData" :props="defaultProps" :default-expand-all="true" @node-click="treeClick"> <span class="custom-tree-node" slot-scope="node"> <i class="status-box" :class="{ online: Number(node.data.status) === 1 }" ></i> <i class="status-box" :class="{ online: Number(node.data.status) === 1 }"></i> <span> {{ @@ -88,13 +65,8 @@ </div> <div class="search-content"> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <input v-model="searchExtensivelyValue" @input="searchExtensivelyChange" @focus="searchExtensivelyFocus" type="text" placeholder="请输入搜索条件" /> <div class="clear" v-show="isShowClearBtn" @click="clearSearchValue" title="清空"> <img src="../../../public/img/icon/clear.png" alt /> </div> @@ -103,39 +75,17 @@ <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" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box" > <video id="videoElement" autoplay controls width="100%" height="100%" style="object-fit: fill" ></video> <el-dialog :title="dialogTitle" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box"> <video id="videoElement" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> </el-dialog> <el-dialog :title="drawDialogTitle" :modal="false" :visible.sync="drawDialogVisible" :before-close="drawDialogBeforeClose" :close-on-click-modal="true" class="video-draw-box" > <el-dialog :title="drawDialogTitle" :modal="false" :visible.sync="drawDialogVisible" :before-close="drawDialogBeforeClose" :close-on-click-modal="true" class="video-draw-box"> <div> <div>名称:</div> <input type="text" v-model="drawName" placeholder="请输入绘制线的名称" /> @@ -335,7 +285,7 @@ graphicLayer.activate(type, (lastEventData) => { flag = true this.drawInfo = lastEventData console.log(1111,JSON.stringify(lastEventData)); console.log(1111, JSON.stringify(lastEventData)) this.getRegionList(type, JSON.stringify(lastEventData)) this.drawDialogVisible = true @@ -365,7 +315,7 @@ if (overlay) { drawPlotLayers.addOverlay(overlay) plot.edit(overlay, (e) => { console.log('overlay',overlay); console.log('overlay', overlay) document.oncontextmenu = function () { return false } @@ -743,17 +693,17 @@ type: 'VectorLayer' }) this.$EventBus.$emit('mapClearLayer', { this.$EventBus.$emit('mapRemoveLayer', { layerName: 'searchLayer', type: 'VectorLayer' }) this.$EventBus.$emit('mapClearLayer', { this.$EventBus.$emit('mapRemoveLayer', { layerName: 'treeValLayer', type: 'VectorLayer' }) this.$EventBus.$emit('mapClearLayer', { this.$EventBus.$emit('mapRemoveLayer', { layerName: 'treeValAllLayer', type: 'VectorLayer' }) src/views/video/region.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-02-17 10:34:59 * @LastEditTime: 2023-02-23 08:47:38 * @FilePath: \srs-police-affairs\src\views\video\region.vue * @Description: 辖区管理 * @@ -15,33 +15,21 @@ <div v-show="boxShow" class="container-content"> <div class="search-box"> 范围名称: <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入搜索条件" /> <input v-model="searchValue" @input="searchChange" type="text" placeholder="请输入搜索条件" /> <button @click="searchClick" class="el-icon-search"></button> </div> <div v-show="true" class="search-val-box"> <div @click="searchVlaClick(item)" v-for="(item, index) in searchArray" :key="index" >{{ item.name }}</div> <div @click="searchVlaClick(item)" v-for="(item, index) in searchArray" :key="index">{{ item.name }} </div> </div> <div class="list-show"> <div class="car-list"> <div class="list-box"> <el-table :data="saveRangeList" style="width: 100%" <el-table :data="saveRangeList" style="width: 100%" :header-cell-style="{ 'text-align': 'center', 'background-color': 'rgba(9, 40, 199, 0.5)', 'borderColor': '#324e75' }" :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" @cell-click="rowClick" > :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" @cell-click="rowClick"> <el-table-column prop="name" label="范围名称" min-width="50%"></el-table-column> <el-table-column prop="extent" label="长度/km" min-width="50%"> <!-- <template slot-scope="scope"> @@ -51,20 +39,11 @@ </el-table-column> <el-table-column prop="id" label="操作" min-width="50%"> <template slot-scope="scope"> <el-button @click="flytoRange(scope.row)" type="text" size="small" title="定位" > <el-button @click="flytoRange(scope.row)" type="text" size="small" title="定位"> <i class="el-icon-location"></i> </el-button> <el-button @click="deleteRegionSaveList(scope.row.id)" type="text" size="small" title="删除" > <el-button @click="deleteRegionSaveList(scope.row.id)" type="text" size="small" title="删除"> <i class="el-icon-delete"></i> </el-button> </template> @@ -72,14 +51,9 @@ </el-table> </div> <div class="pages"> <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount" :current-page="currentPage" @current-change="handleCurrentChange" ></el-pagination> <el-pagination background layout="prev, pager, next" :page-size="pagesize" :page-count="pagesCount" :current-page="currentPage" @current-change="handleCurrentChange"></el-pagination> </div> </div> </div> @@ -87,24 +61,12 @@ </div> <div class="item video1" v-show="isShowVideo.video1"> <div class="select" v-show="isShowSelect.video1"> <el-select size="small" v-model="monitor.type1" @change="((val) => { navClick(val, 1) })" placeholder="请选择" ref="videoSelect1" > <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css" > <div class="video-status" :style="{background:(item.item.status==0?'#adadad':'#4ccc7d')}" ></div> <el-select size="small" v-model="monitor.type1" @change="((val) => { navClick(val, 1) })" placeholder="请选择" ref="videoSelect1"> <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css"> <div class="video-status" :style="{ background: (item.item.status == 0 ? '#adadad' : '#4ccc7d') }"> </div> {{ item.label }} </el-option> </el-select> @@ -113,37 +75,18 @@ </div> </div> <div class="video" v-show="!isShowOutline.video1"> <video id="videoElement1" autoplay controls width="100%" height="100%" style="object-fit: fill" ></video> <video id="videoElement1" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> </div> <div class="outline" v-show="isShowOutline.video1">设备离线</div> </div> <div class="item video2" v-show="isShowVideo.video2"> <div class="select" v-show="isShowSelect.video2"> <el-select size="small" v-model="monitor.type2" @change="((val) => { navClick(val, 2) })" placeholder="请选择" ref="videoSelect2" > <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css" > <div class="video-status" :style="{background:(item.item.status==0?'#adadad':'#4ccc7d')}" ></div> <el-select size="small" v-model="monitor.type2" @change="((val) => { navClick(val, 2) })" placeholder="请选择" ref="videoSelect2"> <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css"> <div class="video-status" :style="{ background: (item.item.status == 0 ? '#adadad' : '#4ccc7d') }"> </div> {{ item.label }} </el-option> </el-select> @@ -152,37 +95,18 @@ </div> </div> <div class="video" v-show="!isShowOutline.video2"> <video id="videoElement2" autoplay controls width="100%" height="100%" style="object-fit: fill" ></video> <video id="videoElement2" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> </div> <div class="outline" v-show="isShowOutline.video2">设备离线</div> </div> <div class="item video3" v-show="isShowVideo.video3"> <div class="select" v-show="isShowSelect.video3"> <el-select size="small" v-model="monitor.type3" @change="((val) => { navClick(val, 3) })" placeholder="请选择" ref="videoSelect3" > <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css" > <div class="video-status" :style="{background:(item.item.status==0?'#adadad':'#4ccc7d')}" ></div> <el-select size="small" v-model="monitor.type3" @change="((val) => { navClick(val, 3) })" placeholder="请选择" ref="videoSelect3"> <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css"> <div class="video-status" :style="{ background: (item.item.status == 0 ? '#adadad' : '#4ccc7d') }"> </div> {{ item.label }} </el-option> </el-select> @@ -191,37 +115,18 @@ </div> </div> <div class="video" v-show="!isShowOutline.video3"> <video id="videoElement3" autoplay controls width="100%" height="100%" style="object-fit: fill" ></video> <video id="videoElement3" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> </div> <div class="outline" v-show="isShowOutline.video3">设备离线</div> </div> <div class="item video4" v-show="isShowVideo.video4"> <div class="select" v-show="isShowSelect.video4"> <el-select size="small" v-model="monitor.type4" @change="((val) => { navClick(val, 4) })" placeholder="请选择" ref="videoSelect4" > <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css" > <div class="video-status" :style="{background:(item.item.status==0?'#adadad':'#4ccc7d')}" ></div> <el-select size="small" v-model="monitor.type4" @change="((val) => { navClick(val, 4) })" placeholder="请选择" ref="videoSelect4"> <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css"> <div class="video-status" :style="{ background: (item.item.status == 0 ? '#adadad' : '#4ccc7d') }"> </div> {{ item.label }} </el-option> </el-select> @@ -230,37 +135,18 @@ </div> </div> <div class="video" v-show="!isShowOutline.video4"> <video id="videoElement4" autoplay controls width="100%" height="100%" style="object-fit: fill" ></video> <video id="videoElement4" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> </div> <div class="outline" v-show="isShowOutline.video4">设备离线</div> </div> <div class="item video5" v-show="isShowVideo.video5"> <div class="select" v-show="isShowSelect.video5"> <el-select size="small" v-model="monitor.type5" @change="((val) => { navClick(val, 5) })" placeholder="请选择" ref="videoSelect5" > <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css" > <div class="video-status" :style="{background:(item.item.status==0?'#adadad':'#4ccc7d')}" ></div> <el-select size="small" v-model="monitor.type5" @change="((val) => { navClick(val, 5) })" placeholder="请选择" ref="videoSelect5"> <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css"> <div class="video-status" :style="{ background: (item.item.status == 0 ? '#adadad' : '#4ccc7d') }"> </div> {{ item.label }} </el-option> </el-select> @@ -269,37 +155,18 @@ </div> </div> <div class="video" v-show="!isShowOutline.video5"> <video id="videoElement5" autoplay controls width="100%" height="100%" style="object-fit: fill" ></video> <video id="videoElement5" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> </div> <div class="outline" v-show="isShowOutline.video5">设备离线</div> </div> <div class="item video6" v-show="isShowVideo.video6"> <div class="select" v-show="isShowSelect.video6"> <el-select size="small" v-model="monitor.type6" @change="((val) => { navClick(val, 6) })" placeholder="请选择" ref="videoSelect6" > <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css" > <div class="video-status" :style="{background:(item.item.status==0?'#adadad':'#4ccc7d')}" ></div> <el-select size="small" v-model="monitor.type6" @change="((val) => { navClick(val, 6) })" placeholder="请选择" ref="videoSelect6"> <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css"> <div class="video-status" :style="{ background: (item.item.status == 0 ? '#adadad' : '#4ccc7d') }"> </div> {{ item.label }} </el-option> </el-select> @@ -308,39 +175,18 @@ </div> </div> <div class="video" v-show="!isShowOutline.video6"> <video id="videoElement6" autoplay controls width="100%" height="100%" style="object-fit: fill" ></video> <video id="videoElement6" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> </div> <div class="outline" v-show="isShowOutline.video6">设备离线</div> </div> <div class="item video7" v-show="isShowVideo.video7"> <div class="select" v-show="isShowSelect.video7"> <el-select size="small" v-model="monitor.type7" v-show="isShowSelect.video7" @change="((val) => { navClick(val, 7) })" placeholder="请选择" ref="videoSelect7" > <el-option v-show="isShowSelect.video7" v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css" > <div class="video-status" :style="{background:(item.item.status==0?'#adadad':'#4ccc7d')}" ></div> <el-select size="small" v-model="monitor.type7" v-show="isShowSelect.video7" @change="((val) => { navClick(val, 7) })" placeholder="请选择" ref="videoSelect7"> <el-option v-show="isShowSelect.video7" v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css"> <div class="video-status" :style="{ background: (item.item.status == 0 ? '#adadad' : '#4ccc7d') }"> </div> {{ item.label }} </el-option> </el-select> @@ -349,37 +195,18 @@ </div> </div> <div class="video" v-show="!isShowOutline.video7"> <video id="videoElement7" autoplay controls width="100%" height="100%" style="object-fit: fill" ></video> <video id="videoElement7" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> </div> <div class="outline" v-show="isShowOutline.video7">设备离线</div> </div> <div class="item video8" v-show="isShowVideo.video8"> <div class="select" v-show="isShowSelect.video8"> <el-select size="small" v-model="monitor.type8" @change="((val) => { navClick(val, 8) })" placeholder="请选择" ref="videoSelect8" > <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css" > <div class="video-status" :style="{background:(item.item.status==0?'#adadad':'#4ccc7d')}" ></div> <el-select size="small" v-model="monitor.type8" @change="((val) => { navClick(val, 8) })" placeholder="请选择" ref="videoSelect8"> <el-option v-for="item in monitorOption" :key="item.value" :label="item.label" :value="item.value" class="video-option-css"> <div class="video-status" :style="{ background: (item.item.status == 0 ? '#adadad' : '#4ccc7d') }"> </div> {{ item.label }} </el-option> </el-select> @@ -388,35 +215,15 @@ </div> </div> <div class="video" v-show="!isShowOutline.video8"> <video id="videoElement8" autoplay controls width="100%" height="100%" style="object-fit: fill" ></video> <video id="videoElement8" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> </div> <div class="outline" v-show="isShowOutline.video8">设备离线</div> </div> <!-- <div class="deleteVideo" v-show="isShowVideo.video1" @click="deleteVideo">关闭</div> --> <el-dialog :title="dialogTitle" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box" > <video id="videoElement" autoplay controls width="100%" height="100%" style="object-fit: fill" ></video> <el-dialog :title="dialogTitle" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :close-on-click-modal="true" class="car-video-box"> <video id="videoElement" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> </el-dialog> </div> </template> @@ -1145,6 +952,7 @@ cursor: pointer; align-items: center; } .close:hover { color: #65b1ff; } @@ -1175,15 +983,19 @@ .new-item-width { width: 25vw; } .new-video235-left { left: 0 !important; } .new-video146-left { left: 75vw !important; } .new-video7-left { left: 25vw !important; } .new-video8-left { left: 50vw !important; } @@ -1191,6 +1003,7 @@ .video1 { top: calc(60 / 1080 * 100vh); left: calc(1540 / 1920 * 100vw); .video { padding: 1% 1% 0 1%; } @@ -1199,6 +1012,7 @@ .video2 { top: calc(60 / 1080 * 100vh); left: calc(400 / 1920 * 100vw); .video { padding: 1% 1% 0 1%; } @@ -1208,6 +1022,7 @@ left: calc(400 / 1920 * 100vw); // top: calc(340 / 1080 * 100vh); top: calc(400 / 1080 * 100vh); .video { padding: 1% 1% 0 1%; } @@ -1217,6 +1032,7 @@ left: calc(1540 / 1920 * 100vw); // top: calc(340 / 1080 * 100vh); top: calc(400 / 1080 * 100vh); .video { padding: 1% 1% 0 1%; } @@ -1238,6 +1054,7 @@ left: calc(780 / 1920 * 100vw); // top: calc(680 / 1080 * 100vh); top: calc(740 / 1080 * 100vh); .video { padding: 1% 0 1% 0; } @@ -1247,10 +1064,12 @@ left: calc(1160 / 1920 * 100vw); // top: calc(680 / 1080 * 100vh); top: calc(740 / 1080 * 100vh); .video { padding: 1% 0 1% 1%; } } .deleteVideo { // position: absolute; position: fixed; @@ -1264,8 +1083,8 @@ cursor: pointer; z-index: 99; } .deleteVideo-new-left { left: calc(1380 / 1920 * 100vw); } } </style> }</style>