From 903fcfaaf82e3b1aeb615372bbc2eb982ed616e2 Mon Sep 17 00:00:00 2001
From: guanqb <18720758508@163.com>
Date: Thu, 02 Feb 2023 11:33:53 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs
---
src/views/home/index.vue | 36 +++
src/views/police/index.vue | 229 +++++++------------------
src/views/home/components/bottomContainer.vue | 4
src/api/home/index.js | 6
src/views/activity/index.vue | 248 +++++++--------------------
5 files changed, 165 insertions(+), 358 deletions(-)
diff --git a/src/api/home/index.js b/src/api/home/index.js
index a4c8655..3d5770a 100644
--- a/src/api/home/index.js
+++ b/src/api/home/index.js
@@ -2,7 +2,7 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2022-12-27 14:19:19
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2023-02-01 14:50:48
+ * @LastEditTime: 2023-02-01 16:56:46
* @FilePath: \srs-police-affairs\src\api\home\index.js
* @Description:
*
@@ -28,11 +28,11 @@
})
}
-export const getAnswerPolices = () => {
+export const getAnswerPolices = (params) => {
return request({
url: `/api/doorplate/doorplate/acceptAlarmList`,
method: 'get',
- params: {}
+ params: params
})
}
diff --git a/src/views/activity/index.vue b/src/views/activity/index.vue
index 1d0cc45..e49ab65 100644
--- a/src/views/activity/index.vue
+++ b/src/views/activity/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-01-03 15:52:12
+ * @LastEditTime: 2023-02-02 10:04:06
* @FilePath: \srs-police-affairs\src\views\activity\index.vue
* @Description: 安保活动
*
@@ -44,46 +44,26 @@
placeholder="选择日期"
style="width:268px"
></el-date-picker>-->
- <el-date-picker
- v-model="selectTime"
- type="daterange"
- align="right"
- unlink-panels
- format="yyyy-MM-dd HH:mm:ss"
- value-format="yyyy-MM-dd HH:mm:ss"
- range-separator="至"
- start-placeholder="开始日期"
- end-placeholder="结束日期"
- :picker-options="pickerOptions"
- @change="activityTimeChange"
- ></el-date-picker>
+ <el-date-picker v-model="selectTime" type="daterange" align="right" unlink-panels
+ format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" range-separator="至"
+ start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions"
+ @change="activityTimeChange"></el-date-picker>
</div>
</div>
<div>
<div class="category">活动名称:</div>
<div class="category-value">
- <input
- type="text"
- placeholder="请输入活动名称"
- v-model="searchActivity"
- class="category-input"
- @input="inputChange"
- />
+ <input type="text" placeholder="请输入…" v-model="searchActivity" class="category-input"
+ @input="inputChange" />
<button class="category-button el-icon-search" @click="searchClick"></button>
</div>
</div>
</div>
<div class="result-content">
<div class="table-box">
- <div
- v-show="activityList.length > 0"
- class="row-box"
- :class="{ on: currentClickIndex === index }"
- v-for="(item, index) in activityList"
- :key="index"
- @click="activityListClick(item, index)"
- >
+ <div v-show="activityList.length > 0" class="row-box" :class="{ on: currentClickIndex === index }"
+ v-for="(item, index) in activityList" :key="index" @click="activityListClick(item, index)">
<div class="row-title">常规安保</div>
<div class="row-content">
<div>
@@ -96,9 +76,7 @@
</div>
<div>
<div class="category">活动时间:</div>
- <div
- class="category-value"
- >{{ item.startTime }} 至 {{ item.endTime }}</div>
+ <div class="category-value">{{ item.startTime }} 至 {{ item.endTime }}</div>
</div>
<div>
<div class="category">活动详情:</div>
@@ -110,14 +88,8 @@
<div v-show="activityList == 0" class="no-data">暂无数据</div>
</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>
@@ -130,10 +102,7 @@
<ul>
<li>
<button @click="draw('billboard', 'policeman')" title="警员">
- <img
- src="../../../public/img/icon/police-people-btn.png"
- style="height:100%"
- />
+ <img src="../../../public/img/icon/police-people-btn.png" style="height:100%" />
</button>
</li>
<li>
@@ -228,9 +197,7 @@
</div>
<div class="row-box">
<div class="category">活动时间:</div>
- <div
- class="category-value"
- >{{ activityDetails.startTime }} 至 {{ activityDetails.endTime }}</div>
+ <div class="category-value">{{ activityDetails.startTime }} 至 {{ activityDetails.endTime }}</div>
</div>
<div class="row-box">
<div class="category">活动内容:</div>
@@ -238,39 +205,27 @@
</div>
</div>
- <div class="plan-control" v-show="dialogVisible&&(isHavePolice||isHaveArrow||isHaveLine)">
+ <div class="plan-control" v-show="dialogVisible && (isHavePolice || isHaveArrow || isHaveLine)">
<div class="row-box" v-show="isHavePolice">
<div class="category">警力资源:</div>
<div class="category-value">
- <el-switch
- v-model="policeSwitch"
- @change="switchChange"
- active-color="#13ce66"
- inactive-color="#ccc"
- ></el-switch>
+ <el-switch v-model="policeSwitch" @change="switchChange" active-color="#13ce66"
+ inactive-color="#ccc"></el-switch>
</div>
</div>
<div class="row-box" v-show="isHaveArrow">
<div class="category">作战标绘:</div>
<div class="category-value">
- <el-switch
- v-model="arrowBtnSwitch"
- @change="switchArrowBtnChange"
- active-color="#13ce66"
- inactive-color="#ccc"
- ></el-switch>
+ <el-switch v-model="arrowBtnSwitch" @change="switchArrowBtnChange" active-color="#13ce66"
+ inactive-color="#ccc"></el-switch>
</div>
</div>
<div class="row-box" v-show="isHaveLine">
<div class="category">巡逻路线:</div>
<div class="category-value">
- <el-switch
- v-model="polylineBtnSwitch"
- @change="switchBtnChange"
- active-color="#13ce66"
- inactive-color="#ccc"
- ></el-switch>
+ <el-switch v-model="polylineBtnSwitch" @change="switchBtnChange" active-color="#13ce66"
+ inactive-color="#ccc"></el-switch>
</div>
</div>
</div>
@@ -302,13 +257,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>
@@ -316,145 +266,66 @@
</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>
<div class="item video5" v-show="polylineBtnSwitch">
<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"
- ></el-option>
+ <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"></el-option>
</el-select>
</div>
<div class="video">
- <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>
<div class="item video6" v-show="polylineBtnSwitch">
<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"
- ></el-option>
+ <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"></el-option>
</el-select>
</div>
<div class="video">
- <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>
<div class="item video7" v-show="polylineBtnSwitch">
<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"
- ></el-option>
+ <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"></el-option>
</el-select>
</div>
<div class="video">
- <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>
<div class="item video8" v-show="polylineBtnSwitch">
<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"
- ></el-option>
+ <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"></el-option>
</el-select>
</div>
<div class="video">
- <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>
- <el-dialog
- :title="policeChooseTitle"
- :modal="false"
- :visible.sync="policeChooseVisible"
- :before-close="policeChooseBeforeClose"
- :close-on-click-modal="true"
- class="choose-police-box"
- >
+ <el-dialog :title="policeChooseTitle" :modal="false" :visible.sync="policeChooseVisible"
+ :before-close="policeChooseBeforeClose" :close-on-click-modal="true" class="choose-police-box">
<div>
<el-select size="small" v-model="policeType" placeholder="请选择">
- <el-option
- v-for="item in policeOption"
- :key="item.value"
- :label="item.label"
- :value="item.value"
- ></el-option>
+ <el-option v-for="item in policeOption" :key="item.value" :label="item.label"
+ :value="item.value"></el-option>
</el-select>
<el-button @click="determine">确定</el-button>
<el-button @click="cancel">取消</el-button>
@@ -1691,11 +1562,11 @@
.search-box {
padding: 0 10px;
- & > div:first-child {
+ &>div:first-child {
margin-top: 0;
}
- & > div {
+ &>div {
margin-top: 10px;
display: flex;
align-items: center;
@@ -1770,7 +1641,7 @@
border-radius: 8px;
.row-content {
- & > div {
+ &>div {
display: flex;
line-height: 28px;
@@ -1843,7 +1714,7 @@
.right {
height: 100%;
- & > div {
+ &>div {
display: flex;
}
@@ -1864,8 +1735,10 @@
}
}
}
+
.left {
width: 80%;
+
h3 {
font-size: 16px;
height: 30px;
@@ -1878,10 +1751,13 @@
.right {
width: 20%;
padding-top: 35px;
+
ul {
flex-direction: column;
+
li {
height: 50px;
+
button {
background-color: #2a56cf;
}
@@ -1956,7 +1832,7 @@
line-height: 28px;
display: flex;
- & > div {
+ &>div {
text-align: left;
}
@@ -1980,12 +1856,13 @@
background-color: $bg-color;
border-radius: 8px;
z-index: 98;
+
.row-box {
width: 100%;
line-height: 28px;
display: flex;
- & > div {
+ &>div {
text-align: left;
}
@@ -2063,6 +1940,7 @@
top: 0;
right: 70px;
cursor: pointer;
+
img {
width: 16px;
height: 16px;
@@ -2103,7 +1981,7 @@
border-radius: 10px;
overflow: hidden;
- & > div {
+ &>div {
height: 100%;
overflow-y: auto;
diff --git a/src/views/home/components/bottomContainer.vue b/src/views/home/components/bottomContainer.vue
index cf61945..13a001f 100644
--- a/src/views/home/components/bottomContainer.vue
+++ b/src/views/home/components/bottomContainer.vue
@@ -2,7 +2,7 @@
* @Author: shuishen 1109946754@qq.com
* @Date: 2023-01-13 15:52:59
* @LastEditors: shuishen 1109946754@qq.com
- * @LastEditTime: 2023-01-29 10:18:29
+ * @LastEditTime: 2023-02-01 16:57:05
* @FilePath: \srs-police-affairs\src\views\home\components\bottomContainer.vue
* @Description:
*
@@ -434,7 +434,7 @@
// 获取实时接警记录
getAnswerPolices () {
- getAnswerPolices().then(res => {
+ getAnswerPolices({ deptId: this.userInfo.dept_id }).then(res => {
this.policeSituationRealtimeArr = []
if (res.data.result.length > 0) {
diff --git a/src/views/home/index.vue b/src/views/home/index.vue
index ce1d3ed..b0b7df0 100644
--- a/src/views/home/index.vue
+++ b/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-01-30 15:54:32
+ * @LastEditTime: 2023-02-02 11:32:42
* @FilePath: \srs-police-affairs\src\views\home\index.vue
* @Description: 小区-栋-层-房屋
*
@@ -45,8 +45,9 @@
</div>
<div ref="RegionSelect" style="left: 0;" class="region-select">
- <map-select class="map-select" @selectCheck="policeStationSelect" :checkValue="policeStationCheckValue"
- :options="policeStationOptions" :optionsName="'name'"></map-select>
+ <map-select v-if="selectAllShow" class="map-select" @selectCheck="policeStationSelect"
+ :checkValue="policeStationCheckValue" :options="policeStationOptions"
+ :optionsName="'name'"></map-select>
<map-select class="map-select" @selectCheck="areaSelect" :checkValue="areaCheckValue" :options="areaOptions"
:optionsName="'name'"></map-select>
@@ -468,6 +469,8 @@
data () {
return {
+ // 是否显示第一级select
+ selectAllShow: false,
houseLayerShow: true,
carLayerShow: false,
cameraLayerShow: false,
@@ -580,6 +583,12 @@
that.policeSituationSiteClick(params)
})
+ if (this.userInfo.dept_id == '1123598813738675201') {
+ this.selectAllShow = true
+ } else {
+ this.selectAllShow = false
+ }
+
this.getPoliceStationTree(1)
// setTimeout(() => {
@@ -612,6 +621,7 @@
getPoliceStationTree (type, id) {
getPoliceStationTree(type, id ? id : '').then(res => {
if (type == 1) {
+
this.policeStationOptions = res.data.data
this.policeStationOptions.unshift({
@@ -619,7 +629,23 @@
id: 1
})
- this.initPoliceStationLayer()
+
+ if (this.userInfo.dept_id != '1123598813738675201') {
+
+ let currentItem
+
+ res.data.data.some(item => {
+ if (item.id == this.userInfo.dept_id) currentItem = item
+ })
+
+ this.initAreaOptionLayer(currentItem)
+ this.getPoliceStationTree(2, this.userInfo.dept_id)
+ this.policeStaionChecked = currentItem
+
+ } else {
+ this.initPoliceStationLayer()
+ }
+
} else if (type == 2) {
this.areaOptions = res.data.data
@@ -673,7 +699,7 @@
},
getEquipmentAll (params) {
- getEquipmentAll(params).then(res => {
+ getEquipmentAll({ ...params, deptId: this.userInfo.dept_id }).then(res => {
if (params.type == 0) {
this.carList = res.data.data
} else {
diff --git a/src/views/police/index.vue b/src/views/police/index.vue
index d64159f..c18e83b 100644
--- a/src/views/police/index.vue
+++ b/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-01-30 11:45:29
+ * @LastEditTime: 2023-02-02 10:01:04
* @FilePath: \srs-police-affairs\src\views\police\index.vue
* @Description: 辖区管理
*
@@ -14,52 +14,27 @@
<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"
- :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="name"
- :show-overflow-tooltip="true"
- label="名称"
- min-width="30%"
- ></el-table-column>
- <el-table-column
- prop="channelId"
- :show-overflow-tooltip="true"
- label="通道编号"
- min-width="24%"
- ></el-table-column>
+ <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="name" :show-overflow-tooltip="true" label="名称"
+ min-width="30%"></el-table-column>
+ <el-table-column prop="channelId" :show-overflow-tooltip="true" label="通道编号"
+ min-width="24%"></el-table-column>
<el-table-column prop="status" label="状态" min-width="18%">
<template slot-scope="scope">
<div class="state-box" :class="{ online: scope.row.status == '1' }"></div>
@@ -68,29 +43,14 @@
<el-table-column label="操作" align="center" min-width="28%">
<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>
@@ -98,15 +58,9 @@
</el-table>
<div class="pages" ref="tablePagination">
- <el-pagination
- background
- layout="prev, pager, next"
- you: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" you:page-size="equimentPage.pageSize"
+ :page-count="equimentPage.count" :pager-count="4" :current-page="equimentPage.currentPage"
+ @current-change="handleCurrentChange"></el-pagination>
</div>
</div>
</div>
@@ -134,8 +88,8 @@
<div>状态:</div>
<div>
{{
- currentSelectEquipment.status ? (currentSelectEquipment.status == 0 ? '离线' :
- '在线') : ''
+ currentSelectEquipment.status ? (currentSelectEquipment.status == 0 ? '离线' : '在线') :
+ ''
}}
</div>
</li>
@@ -143,16 +97,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>
@@ -165,13 +112,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>
@@ -180,31 +122,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>
@@ -214,8 +140,7 @@
import { getSearchExtensively } from '@/api/dept/index.js'
import { getDevices } from '@/api/video/index.js'
import flvjs from 'flv.js'
-import { getEquipmentPaging } from "@/api/home/index.js"
-
+import { getEquipmentPaging } from '@/api/home/index.js'
let tc = null
let track = null
@@ -230,13 +155,15 @@
currentTableHeight: 0,
detailFlag: false,
trackTime: [],
- options: [{
- value: '0',
- label: '警车'
- }, {
- value: '1',
- label: '摄像头'
- }
+ options: [
+ {
+ value: '0',
+ label: '警车'
+ },
+ {
+ value: '1',
+ label: '摄像头'
+ }
// , {
// value: '3',
// label: '电台'
@@ -323,7 +250,7 @@
if (this.navType == 0) {
this.$EventBus.$emit('layerPointAdd', {
layerName: 'carLayers',
- type: "billboard",
+ type: 'billboard',
params: {
...item,
url: '/img/icon/car.png'
@@ -333,7 +260,7 @@
} else if (this.navType == 1) {
this.$EventBus.$emit('layerPointAdd', {
layerName: 'policeMonitoringLayers',
- type: "billboard",
+ type: 'billboard',
params: {
...item,
url: '/img/icon/camera.png'
@@ -351,7 +278,6 @@
}
})
},
-
// 类别切换
navClick (type) {
@@ -492,39 +418,17 @@
global.viewer.scene.globe.depthTestAgainstTerrain = false
if (this.trackTime.length == 0) {
- this.$message({ message: "请选择开始时间", duration: 2000 })
+ this.$message({ message: '请选择开始时间', duration: 2000 })
return
}
const startTime = new Date(this.trackTime[0])
- const start =
- startTime.getFullYear() +
- "-" +
- this.disposeTime(startTime.getMonth() + 1) +
- "-" +
- this.disposeTime(startTime.getDate()) +
- " " +
- this.disposeTime(startTime.getHours()) +
- ":" +
- this.disposeTime(startTime.getMinutes()) +
- ":" +
- this.disposeTime(startTime.getSeconds())
+ const start = startTime.getFullYear() + '-' + this.disposeTime(startTime.getMonth() + 1) + '-' + this.disposeTime(startTime.getDate()) + ' ' + this.disposeTime(startTime.getHours()) + ':' + this.disposeTime(startTime.getMinutes()) + ':' + this.disposeTime(startTime.getSeconds())
if (this.trackTime.length == 1) {
- this.$message({ message: "请选择结束时间", duration: 2000 })
+ this.$message({ message: '请选择结束时间', duration: 2000 })
return
}
const endTime = new Date(this.trackTime[1])
- const end =
- endTime.getFullYear() +
- "-" +
- this.disposeTime(endTime.getMonth() + 1) +
- "-" +
- this.disposeTime(endTime.getDate()) +
- " " +
- this.disposeTime(endTime.getHours()) +
- ":" +
- this.disposeTime(endTime.getMinutes()) +
- ":" +
- this.disposeTime(endTime.getSeconds())
+ const end = endTime.getFullYear() + '-' + this.disposeTime(endTime.getMonth() + 1) + '-' + this.disposeTime(endTime.getDate()) + ' ' + this.disposeTime(endTime.getHours()) + ':' + this.disposeTime(endTime.getMinutes()) + ':' + this.disposeTime(endTime.getSeconds())
this.$EventBus.$emit('mapClearLayer', {
layerName: 'polylineLayer',
@@ -564,23 +468,23 @@
this.$EventBus.$emit('layerPointAdd', {
layerName: 'polylineLayer',
- type: "billboard",
+ type: 'billboard',
params: {
lng: positionsArr[0].longitude,
lat: positionsArr[0].latitude,
alt: 0,
- url: '/img/icon/orgin.png',
+ url: '/img/icon/orgin.png'
}
})
this.$EventBus.$emit('layerPointAdd', {
layerName: 'polylineLayer',
- type: "billboard",
+ type: 'billboard',
params: {
lng: positionsArr[positionsArr.length - 1].longitude,
lat: positionsArr[positionsArr.length - 1].latitude,
alt: 0,
- url: '/img/icon/end.png',
+ url: '/img/icon/end.png'
}
})
@@ -605,7 +509,7 @@
// 处理时间补零操作
disposeTime (s) {
- return s < 10 ? "0" + s : s
+ return s < 10 ? '0' + s : s
},
setTableHeight () {
@@ -640,7 +544,7 @@
this.$EventBus.$emit('toPosition', {
siteJd: `${this.searchExtensivelyArray[0].location.lng}`,
siteWd: `${this.searchExtensivelyArray[0].location.lat}`,
- siteGd: 200,
+ siteGd: 200
})
this.searchExtensivelyValue = this.searchExtensivelyArray[0].name
this.$EventBus.$emit('mapClearLayer', {
@@ -655,7 +559,7 @@
lat: `${this.searchExtensivelyArray[0].location.lat}`,
alt: 0,
text: this.searchExtensivelyArray[0].name
- },
+ }
})
}
},
@@ -682,7 +586,7 @@
this.$EventBus.$emit('toPosition', {
siteJd: `${item.location.lng}`,
siteWd: `${item.location.lat}`,
- siteGd: 200,
+ siteGd: 200
})
this.$EventBus.$emit('mapClearLayer', {
layerName: 'searchLayer',
@@ -700,13 +604,13 @@
})
this.$EventBus.$emit('layerPointAdd', {
layerName: 'searchLayer',
- type: "billboard",
+ type: 'billboard',
params: {
lng: `${item.location.lng}`,
lat: `${item.location.lat}`,
alt: 0,
url: '/img/icon/location.png'
- },
+ }
})
},
@@ -718,8 +622,7 @@
clearSearchValue () {
this.searchExtensivelyValue = ''
this.searchExtensivelyChange()
- },
-
+ }
},
destroyed () {
@@ -775,7 +678,7 @@
align-items: center;
justify-content: space-around;
- & > div {
+ &>div {
flex: 1;
}
}
@@ -889,18 +792,18 @@
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;
}
}
@@ -1002,7 +905,7 @@
border-radius: 10px;
overflow: hidden;
- & > div {
+ &>div {
height: 100%;
overflow-y: auto;
--
Gitblit v1.9.3