Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs
7 files modified
4 files added
2 files deleted
| | |
| | | } |
| | | } |
| | | }, |
| | | "comutils": { |
| | | "version": "1.1.19", |
| | | "resolved": "https://registry.npmjs.org/comutils/-/comutils-1.1.19.tgz", |
| | | "integrity": "sha512-JxXB67juILiwhdLwOsYyjUqwWEhHdObI0EClOPk+JDtEuTbac59s0pxGpfCBnNNQ5JommifmcMGneW/4Cg7YWw==" |
| | | }, |
| | | "concat-map": { |
| | | "version": "0.0.1", |
| | | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", |
| | |
| | | "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.6.5.tgz", |
| | | "integrity": "sha512-VYXZQLtjuvKxxcshuRAwjHnciqZVoXAjTjcqBTz4rKc8qih9g9pI3hbDjmqXaHdgL3v8pV6P8Z335XvHzESxLQ==" |
| | | }, |
| | | "vue-seamless-scroll": { |
| | | "version": "1.1.23", |
| | | "resolved": "https://registry.npmjs.org/vue-seamless-scroll/-/vue-seamless-scroll-1.1.23.tgz", |
| | | "integrity": "sha512-HBjUub8WwsKJzbFCrwKPDrZn4e+SSbkKgwWtjKtfLwesiFGwSsVxP44/Z6d3kpXy94qIFOiflJH6l0/9pj7SGA==", |
| | | "requires": { |
| | | "comutils": "^1.1.9" |
| | | } |
| | | }, |
| | | "vue-style-loader": { |
| | | "version": "4.1.3", |
| | | "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", |
| | |
| | | "vue": "^2.6.11", |
| | | "vue-axios": "^3.3.7", |
| | | "vue-router": "^3.2.0", |
| | | "vue-seamless-scroll": "^1.1.23", |
| | | "vuex": "^3.4.0" |
| | | }, |
| | | "devDependencies": { |
| New file |
| | |
| | | /* |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-09-23 17:54:16 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-10-29 15:15:05 |
| | | * @FilePath: \srs-police-affairs\src\assets\data\dt.js |
| | | * @Description: 车辆相关数据 |
| | | * |
| | | * Copyright (c) 2022 by shuishen 1109946754@qq.com, All Rights Reserved. |
| | | */ |
| | | export default [{ |
| | | name: '1号电台', |
| | | lng: 116.022877, |
| | | lat: 28.685077, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '2号电台', |
| | | lng: 116.029917, |
| | | lat: 28.685360, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '3号电台', |
| | | lng: 116.031044, |
| | | lat: 28.679445, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '4号电台', |
| | | lng: 115.966750, |
| | | lat: 28.595163, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '5号电台', |
| | | lng: 116.150081, |
| | | lat: 28.580119, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '6号电台', |
| | | lng: 116.029917, |
| | | lat: 28.685360, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '7号电台', |
| | | lng: 116.235801, |
| | | lat: 28.654740, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '8号电台', |
| | | lng: 116.210143, |
| | | lat: 28.691634, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '9号电台', |
| | | lng: 116.072665, |
| | | lat: 28.639879, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '10号电台', |
| | | lng: 116.121559, |
| | | lat: 28.699041, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '11号电台', |
| | | lng: 116.106692, |
| | | lat: 28.758830, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '12号电台', |
| | | lng: 116.043007, |
| | | lat: 28.736032, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '13号电台', |
| | | lng: 116.002395, |
| | | lat: 28.695900, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '14号电台', |
| | | lng: 116.009437, |
| | | lat: 28.660863, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '15号电台', |
| | | lng: 116.067097, |
| | | lat: 28.621827, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }, { |
| | | name: '16号电台', |
| | | lng: 115.944243, |
| | | lat: 28.669108, |
| | | alt: 100, |
| | | url: '/img/icon/dt.png', |
| | | carId: '赣E12354', |
| | | carType: '大众', |
| | | person: "李会军", |
| | | }] |
| | |
| | | export default [{ |
| | | name: '1号手台', |
| | | name: '1号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.020804, |
| | | lat: 28.678568, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '2号手台', |
| | | name: '2号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.027659, |
| | | lat: 28.678623, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '3号手台', |
| | | name: '3号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.026759, |
| | | lat: 28.680071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '4号手台', |
| | | name: '4号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.018759, |
| | | lat: 28.686071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '5号手台', |
| | | name: '5号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.029759, |
| | | lat: 28.685071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '6号手台', |
| | | name: '6号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.026759, |
| | | lat: 28.684071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '7号手台', |
| | | name: '7号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.031759, |
| | | lat: 28.683071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '8号手台', |
| | | name: '8号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.022759, |
| | | lat: 28.682071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '9号手台', |
| | | name: '9号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.031759, |
| | | lat: 28.681071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '10号手台', |
| | | name: '10号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.031759, |
| | | lat: 28.677071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '11号手台', |
| | | name: '11号手持记录仪', |
| | | person: "李会军", |
| | | lng: 115.947759, |
| | | lat: 28.710071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '12号手台', |
| | | name: '12号手持记录仪', |
| | | person: "李会军", |
| | | lng: 115.977759, |
| | | lat: 28.745071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '13号手台', |
| | | name: '13号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.164759, |
| | | lat: 28.738071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '14号手台', |
| | | name: '14号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.149759, |
| | | lat: 28.665071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '15号手台', |
| | | name: '15号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.301759, |
| | | lat: 28.644071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '16号手台', |
| | | name: '16号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.115759, |
| | | lat: 28.577071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '17号手台', |
| | | name: '17号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.165759, |
| | | lat: 28.548071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '18号手台', |
| | | name: '18号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.020759, |
| | | lat: 28.571071, |
| | |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '19号手台', |
| | | name: '19号手持记录仪', |
| | | person: "李会军", |
| | | lng: 116.002759, |
| | | lat: 28.631071, |
| New file |
| | |
| | | export default [{ |
| | | name: '1号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.020804, |
| | | lat: 28.678568, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '2号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.027659, |
| | | lat: 28.678623, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '3号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.026759, |
| | | lat: 28.680071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '4号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.018759, |
| | | lat: 28.686071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '5号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.029759, |
| | | lat: 28.685071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '6号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.026759, |
| | | lat: 28.684071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '7号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.031759, |
| | | lat: 28.683071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '8号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.022759, |
| | | lat: 28.682071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '9号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.031759, |
| | | lat: 28.681071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '10号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.031759, |
| | | lat: 28.677071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '11号执法记录仪', |
| | | person: "李会军", |
| | | lng: 115.947759, |
| | | lat: 28.710071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '12号执法记录仪', |
| | | person: "李会军", |
| | | lng: 115.977759, |
| | | lat: 28.745071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '13号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.164759, |
| | | lat: 28.738071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '14号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.149759, |
| | | lat: 28.665071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '15号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.301759, |
| | | lat: 28.644071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '16号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.115759, |
| | | lat: 28.577071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '17号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.165759, |
| | | lat: 28.548071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '18号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.020759, |
| | | lat: 28.571071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }, { |
| | | name: '19号执法记录仪', |
| | | person: "李会军", |
| | | lng: 116.002759, |
| | | lat: 28.631071, |
| | | alt: 100, |
| | | url: '/img/icon/zf.png', |
| | | id: 12356456662, |
| | | phoneType: '华为', |
| | | location: '信州区XXXX大道XXXX路' |
| | | }] |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-09-27 16:01:02 |
| | | * @LastEditTime: 2022-10-29 15:20:12 |
| | | * @FilePath: \srs-police-affairs\src\views\activity\index.vue |
| | | * @Description: 安保活动 |
| | | * |
| | |
| | | <div class="category">活动类型:</div> |
| | | <div class="category-value"> |
| | | <el-select size="small" v-model="activityType" placeholder="请选择"> |
| | | <el-option |
| | | v-for="item in activityOptions" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | ></el-option> |
| | | <el-option v-for="item in activityOptions" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | |
| | | <div> |
| | | <div class="category">选择时间:</div> |
| | | <div class="category-value"> |
| | | <el-date-picker |
| | | size="small" |
| | | v-model="selectTime" |
| | | type="date" |
| | | placeholder="选择日期" |
| | | style="width:268px" |
| | | ></el-date-picker> |
| | | <el-date-picker size="small" v-model="selectTime" type="date" placeholder="选择日期" |
| | | style="width:268px"></el-date-picker> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="result-content"> |
| | | <div class="table-box"> |
| | | <div |
| | | class="row-box" |
| | | :class="{on: currentClickIndex === index}" |
| | | v-for="(item, index) in activityList.slice((currentPage-1)*pagesize,currentPage*pagesize)" |
| | | :key="index" |
| | | @click="goAbDetail(item, index)" |
| | | > |
| | | <div class="row-box" :class="{ on: currentClickIndex === index }" |
| | | v-for="(item, index) in activityList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | :key="index" @click="goAbDetail(item, index)"> |
| | | <div class="row-title">常规安保</div> |
| | | <div class="row-content"> |
| | | <div> |
| | |
| | | </div> |
| | | <div> |
| | | <div class="category">活动时间:</div> |
| | | <div |
| | | class="category-value" |
| | | >2022-08-01 00:00:00 至 2022-09-01 00:00:00</div> |
| | | <div class="category-value">2022-08-01 00:00:00 至 2022-09-01 00:00:00</div> |
| | | </div> |
| | | <div> |
| | | <div class="category">活动详情:</div> |
| | |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="activityList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="activityList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | |
| | | </div> |
| | | |
| | | <div class="second-container"> |
| | | <el-tree |
| | | :data="treeData" |
| | | show-checkbox |
| | | node-key="id" |
| | | @check="treeCheckClick" |
| | | @node-click="treeNodeClick" |
| | | ></el-tree> |
| | | <el-tree :data="treeData" show-checkbox node-key="id" @check="treeCheckClick" @node-click="treeNodeClick"> |
| | | </el-tree> |
| | | </div> |
| | | |
| | | <div v-show="dialogVisible" class="activity-details-box"> |
| | |
| | | |
| | | <div class="row-box"> |
| | | <div class="category">活动内容1:</div> |
| | | <div |
| | | class="category-value" |
| | | >在接到停电通知的状况下,管理运作部应事先将停电线路、区域、时光、电梯使用 以及安全防范要求等状况通知每个住户和商户,并在主要出入口发布停电通告;同时, 工程物料部应做好停电前的应变工作。</div> |
| | | <div class="category-value">在接到停电通知的状况下,管理运作部应事先将停电线路、区域、时光、电梯使用 以及安全防范要求等状况通知每个住户和商户,并在主要出入口发布停电通告;同时, |
| | | 工程物料部应做好停电前的应变工作。</div> |
| | | </div> |
| | | |
| | | <div class="row-box"> |
| | | <div class="category">活动内容2:</div> |
| | | <div |
| | | class="category-value" |
| | | >在没有接到任何通知、突然发生停电的状况下,工程物料部应立即确认是内部故障 停电还是外部停电。若系内部故障停电,应立即派人查找原因采取措施,防止故障扩 大;若系外部停电,一方面要防止突然来电引发事故,一方面致电电力局查询停电状 况,了解何时恢复供电,并将了解的状况通知管理运作部。</div> |
| | | <div class="category-value">在没有接到任何通知、突然发生停电的状况下,工程物料部应立即确认是内部故障 停电还是外部停电。若系内部故障停电,应立即派人查找原因采取措施,防止故障扩 |
| | | 大;若系外部停电,一方面要防止突然来电引发事故,一方面致电电力局查询停电状 况,了解何时恢复供电,并将了解的状况通知管理运作部。</div> |
| | | </div> |
| | | |
| | | <div class="row-box"> |
| | |
| | | <div class="row-box"> |
| | | <div class="category">撤离路线:</div> |
| | | <div class="category-value"> |
| | | <el-switch |
| | | v-model="polylineSwitch" |
| | | @change="switchChange" |
| | | active-color="#13ce66" |
| | | inactive-color="#ccc" |
| | | ></el-switch> |
| | | <el-switch v-model="polylineSwitch" @change="switchChange" active-color="#13ce66" |
| | | inactive-color="#ccc"></el-switch> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="row-box"> |
| | | <div class="category">分析范围:</div> |
| | | <div class="category-value"> |
| | | <el-input |
| | | @input="analyseChange" |
| | | size="mini" |
| | | type="number" |
| | | v-model="analyseInput" |
| | | placeholder="请输入范围" |
| | | ></el-input> |
| | | <el-input @input="analyseChange" size="mini" type="number" v-model="analyseInput" |
| | | placeholder="请输入范围"></el-input> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <button @click="restore()">恢复</button> |
| | | </li> |
| | | <li> |
| | | <button @click="view('1',-20,100)">第一视角</button> |
| | | <button @click="view('1', -20, 100)">第一视角</button> |
| | | </li> |
| | | <li> |
| | | <button @click="view('2')">上帝视角</button> |
| | |
| | | |
| | | play () { |
| | | tc.play() |
| | | this.view('2') |
| | | }, |
| | | |
| | | pause () { |
| | |
| | | background: $bg-color; |
| | | |
| | | .title { |
| | | height: 51px; |
| | | line-height: 58px; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | font-weight: 700; |
| | | font-size: 24px; |
| | | letter-spacing: 20px; |
| | |
| | | .search-box { |
| | | padding: 0 10px; |
| | | |
| | | & > div { |
| | | &>div:first-child { |
| | | margin-top: 0; |
| | | } |
| | | |
| | | &>div { |
| | | margin-top: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | |
| | | font-size: 14px; |
| | | |
| | | .row-content { |
| | | & > div { |
| | | &>div { |
| | | display: flex; |
| | | line-height: 28px; |
| | | |
| | |
| | | } |
| | | } |
| | | } |
| | | |
| | | .row-box:hover { |
| | | background-color: rgb(1, 76, 137); |
| | | } |
| | |
| | | :deep(.el-dialog) { |
| | | margin-right: 0px; |
| | | } |
| | | |
| | | .tableClass { |
| | | margin: 0 auto; |
| | | width: 400px; |
| | |
| | | .tableClass td { |
| | | width: 300px; |
| | | } |
| | | } |
| | | |
| | | |
| | | .pages { |
| | | height: 40px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | } |
| | |
| | | :deep(.el-tree-node__content) { |
| | | background: transparent; |
| | | } |
| | | |
| | | :deep(.el-tree-node) { |
| | | background: $bg-color; |
| | | color: #fff; |
| | |
| | | line-height: 28px; |
| | | display: flex; |
| | | |
| | | & > div { |
| | | &>div { |
| | | text-align: left; |
| | | } |
| | | |
| | |
| | | <div class="rightBor"></div> |
| | | </div> |
| | | <div class="timeTab"> |
| | | <span class="beforetime" :class="{ choosed: timetype == 0 }" @click="timeTabClick(0)">近一周</span> |
| | | <span>/</span> |
| | | <span class="beforetime" :class="{ choosed: timetype == 1 }" @click="timeTabClick(1)">近一月</span> |
| | | <span class="beforetime" :class="{ choosed: timetype == 0 }" @click="timeTabClick(0)">周</span> |
| | | <span class="beforetime" :class="{ choosed: timetype == 1 }" @click="timeTabClick(1)">月</span> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="body" ref="tableBox"> |
| | | <ul> |
| | | <li style="color: #fff; background: rgb(1, 76, 137);"> |
| | | <span class="num">序号</span> |
| | | <span class="type">警情类别</span> |
| | | <span class="comingPhone">报警电话</span> |
| | | <span class="dealTime">接警时间</span> |
| | | <span class="dealPolice">经办民警</span> |
| | | <span class="callPeople">报警人</span> |
| | | <span class="callPhone">报警人联系人</span> |
| | | <span class="callContent">报警内容</span> |
| | | </li> |
| | | </ul> |
| | | <vue-seamless-scroll :data="timetype == 0 ? pliceSituationWeekArr : pliceSituationMouthArr" class="warp" |
| | | :style="{ |
| | | height: currentTableHeight - 44 + 'px', width: '100%' |
| | | }"> |
| | | <ul class="item"> |
| | | <li v-for="(item, index) in (timetype == 0 ? pliceSituationWeekArr : pliceSituationMouthArr)" |
| | | :key="index"> |
| | | <span class="num" v-text="item.num"></span> |
| | | <span class="type" v-text="item.type"></span> |
| | | <span class="comingPhone" v-text="item.comingPhone"></span> |
| | | <span class="dealTime" v-text="item.dealTime"></span> |
| | | <span class="dealPolice" v-text="item.dealPolice"></span> |
| | | <span class="callPeople" v-text="item.callPeople"></span> |
| | | <span class="callPhone" v-text="item.callPhone"></span> |
| | | <span class="callContent" v-text="item.callContent"></span> |
| | | </li> |
| | | </ul> |
| | | </vue-seamless-scroll> |
| | | </div> |
| | | |
| | | <!-- <div class="body" ref="tableBox"> |
| | | <el-table :data="timetype == 0 ? pliceSituationWeekArr : pliceSituationMouthArr" 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" |
| | |
| | | <el-table-column prop="callPhone" label="报警人联系人"></el-table-column> |
| | | <el-table-column prop="callContent" label="报警内容"></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> --> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | let interTime |
| | | import vueSeamlessScroll from 'vue-seamless-scroll' |
| | | |
| | | export default { |
| | | data () { |
| | |
| | | { 'num': '3', 'type': '民事纠纷', 'comingPhone': '15511112222', 'dealTime': '2022-10-09', 'dealPolice': '刘警官', 'callPeople': '张某某', 'callPhone': '13466669999', 'callContent': '他先动的手' }, |
| | | { 'num': '4', 'type': '民事纠纷', 'comingPhone': '15511112222', 'dealTime': '2022-10-12', 'dealPolice': '刘警官', 'callPeople': '张某某', 'callPhone': '13466669999', 'callContent': '他先动的手' }, |
| | | { 'num': '5', 'type': '民事纠纷', 'comingPhone': '15511112222', 'dealTime': '2022-10-19', 'dealPolice': '刘警官', 'callPeople': '张某某', 'callPhone': '13466669999', 'callContent': '他先动的手' }, |
| | | { 'num': '6', 'type': '民事纠纷', 'comingPhone': '15511112222', 'dealTime': '2022-10-19', 'dealPolice': '刘警官', 'callPeople': '张某某', 'callPhone': '13466669999', 'callContent': '他先动的手' }, |
| | | { 'num': '7', 'type': '民事纠纷', 'comingPhone': '15511112222', 'dealTime': '2022-10-19', 'dealPolice': '刘警官', 'callPeople': '张某某', 'callPhone': '13466669999', 'callContent': '他先动的手' }, |
| | | { 'num': '8', 'type': '民事纠纷', 'comingPhone': '15511112222', 'dealTime': '2022-10-19', 'dealPolice': '刘警官', 'callPeople': '张某某', 'callPhone': '13466669999', 'callContent': '他先动的手' }, |
| | | { 'num': '9', 'type': '民事纠纷', 'comingPhone': '15511112222', 'dealTime': '2022-10-19', 'dealPolice': '刘警官', 'callPeople': '张某某', 'callPhone': '13466669999', 'callContent': '他先动的手' }, |
| | | ], |
| | | pliceSituationMouthArr: [ |
| | | { 'num': '1', 'type': '聚众斗殴', 'comingPhone': '13466669999', 'dealTime': '2022-09-01', 'dealPolice': '王警官', 'callPeople': '张某三', 'callPhone': '15511112222', 'callContent': '他们先动的手' }, |
| | |
| | | { 'num': '3', 'type': '聚众斗殴', 'comingPhone': '13466669999', 'dealTime': '2022-09-13', 'dealPolice': '王警官', 'callPeople': '张某三', 'callPhone': '15511112222', 'callContent': '他们先动的手' }, |
| | | { 'num': '4', 'type': '聚众斗殴', 'comingPhone': '13466669999', 'dealTime': '2022-09-20', 'dealPolice': '王警官', 'callPeople': '张某三', 'callPhone': '15511112222', 'callContent': '他们先动的手' }, |
| | | { 'num': '5', 'type': '聚众斗殴', 'comingPhone': '13466669999', 'dealTime': '2022-09-21', 'dealPolice': '王警官', 'callPeople': '张某三', 'callPhone': '15511112222', 'callContent': '他们先动的手' }, |
| | | { 'num': '6', 'type': '聚众斗殴', 'comingPhone': '13466669999', 'dealTime': '2022-09-21', 'dealPolice': '王警官', 'callPeople': '张某三', 'callPhone': '15511112222', 'callContent': '他们先动的手' }, |
| | | { 'num': '7', 'type': '聚众斗殴', 'comingPhone': '13466669999', 'dealTime': '2022-09-21', 'dealPolice': '王警官', 'callPeople': '张某三', 'callPhone': '15511112222', 'callContent': '他们先动的手' }, |
| | | { 'num': '8', 'type': '聚众斗殴', 'comingPhone': '13466669999', 'dealTime': '2022-09-21', 'dealPolice': '王警官', 'callPeople': '张某三', 'callPhone': '15511112222', 'callContent': '他们先动的手' }, |
| | | { 'num': '9', 'type': '聚众斗殴', 'comingPhone': '13466669999', 'dealTime': '2022-09-21', 'dealPolice': '王警官', 'callPeople': '张某三', 'callPhone': '15511112222', 'callContent': '他们先动的手' }, |
| | | ], |
| | | currentTableHeight: 0, |
| | | |
| | | } |
| | | }, |
| | | |
| | | components: { |
| | | vueSeamlessScroll |
| | | }, |
| | | |
| | | mounted () { |
| | | this.$nextTick(() => { |
| | | this.tableScroll() |
| | | // this.tableScroll() |
| | | this.setDomStyle() |
| | | }) |
| | | |
| | |
| | | width: 100%; |
| | | |
| | | .header { |
| | | position: relative; |
| | | width: 100%; |
| | | height: 36px; |
| | | |
| | |
| | | } |
| | | |
| | | .timeTab { |
| | | float: right; |
| | | width: 20%; |
| | | height: 36px; |
| | | line-height: 36px; |
| | | position: absolute; |
| | | top: 10px; |
| | | right: 10px; |
| | | display: flex; |
| | | border-radius: 6px; |
| | | overflow: hidden; |
| | | |
| | | span { |
| | | width: 42px; |
| | | height: 26px; |
| | | text-align: center; |
| | | line-height: 26px; |
| | | background: rgb(1, 76, 137); |
| | | } |
| | | |
| | | .beforetime { |
| | | color: rgb(98, 95, 95); |
| | |
| | | height: calc(100% - 56px); |
| | | |
| | | /* 解决自定义滚动条 x 轴显示问题 */ |
| | | .warp { |
| | | margin: 0 auto; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | ul { |
| | | |
| | | li { |
| | | height: 44px; |
| | | line-height: 44px; |
| | | display: flex; |
| | | |
| | | .num { |
| | | width: 8%; |
| | | } |
| | | |
| | | .type { |
| | | width: 10%; |
| | | } |
| | | |
| | | .comingPhone { |
| | | width: 14%; |
| | | } |
| | | |
| | | .dealTime { |
| | | width: 12%; |
| | | } |
| | | |
| | | .dealPolice { |
| | | width: 12%; |
| | | } |
| | | |
| | | .callPeople { |
| | | width: 12%; |
| | | } |
| | | |
| | | .callPhone { |
| | | width: 14%; |
| | | } |
| | | |
| | | .callContent { |
| | | flex: 1; |
| | | } |
| | | } |
| | | |
| | | li:nth-child(2n) { |
| | | background: rgba(20, 50, 123, 1.0); |
| | | color: #fff !important; |
| | | } |
| | | |
| | | li:nth-child(2n-1) { |
| | | background: rgba(29, 38, 105, 1.0); |
| | | color: #fff; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-10-24 11:41:03 |
| | | * @LastEditTime: 2022-10-29 15:10:34 |
| | | * @FilePath: \srs-police-affairs\src\views\police\index.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | <template> |
| | | <div class="container"> |
| | | <div class="switch-box"> |
| | | <div class="police-car" @click="navClick(1)" :class="{'choosed':navType == 1}">警车</div> |
| | | <div class="interphone" @click="navClick(2)" :class="{'choosed':navType == 2}">手台</div> |
| | | <el-select v-model="typeValue" @change="navClick" placeholder="请选择"> |
| | | <el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
| | | </el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | | <div class="list-show" ref="tableBox" v-show="!detailFlag"> |
| | | <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="searchValBoxShow" class="search-val-box"> |
| | | <div> |
| | | <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> |
| | | |
| | | <div class="list" v-show="navType == 1"> |
| | | <el-table |
| | | :data="carList.slice((currentPage-1)*pagesize,currentPage*pagesize)" |
| | | <el-table :data="carList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{'text-align':'center','background-color':'#203c60','borderColor':'#324e75'}" |
| | | :cell-style="{'text-align':'center','borderColor':'#324e75', 'cursor':'pointer'}" |
| | | :height="currentTableHeight" |
| | | > |
| | | :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 type="index" label="序号" width="50"> |
| | | <template slot-scope="scope"> |
| | | <span>{{(currentPage - 1) * pagesize + scope.$index + 1}}</span> |
| | | <span>{{ (currentPage - 1) * pagesize + scope.$index + 1 }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="名称" width="140"></el-table-column> |
| | | <el-table-column prop="carType" label="警车类型" width="120"></el-table-column> |
| | | <el-table-column prop="carType" label="类型" width="120"></el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center"> |
| | | <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 |
| | | @click="carDetail(scope.row)" |
| | | type="text" |
| | | size="small" |
| | | title="轨迹" |
| | | > |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | </template> |
| | |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="carList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | <el-pagination background layout="prev, pager, next" :total="carList.length" :page-size="pagesize" |
| | | pager-count="3" :current-page="currentPage" @current-change="handleCurrentChange"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="list" v-show="navType == 2"> |
| | | <el-table |
| | | :data="phoneList.slice((currentPage-1)*pagesize,currentPage*pagesize)" |
| | | <el-table :data="phoneList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{'text-align':'center','background-color':'#203c60','borderColor':'#324e75'}" |
| | | :cell-style="{'text-align':'center','borderColor':'#324e75', 'cursor':'pointer'}" |
| | | @cell-click="rowClick" |
| | | :height="currentTableHeight" |
| | | > |
| | | :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 type="index" label="序号" width="50"> |
| | | <template slot-scope="scope"> |
| | | <span>{{(currentPage - 1) * pagesize + scope.$index + 1}}</span> |
| | | <span>{{ (currentPage - 1) * pagesize + scope.$index + 1 }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="名称" width="170"></el-table-column> |
| | | <el-table-column prop="phoneType" label="手台类型" width="180"></el-table-column> |
| | | <el-table-column prop="name" label="名称" width="120"></el-table-column> |
| | | <el-table-column prop="phoneType" label="手台类型" width="120"></el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="phoneList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | <el-pagination background layout="prev, pager, next" :total="phoneList.length" :page-size="pagesize" |
| | | pager-count="3" :current-page="currentPage" @current-change="handleCurrentChange"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="list" v-show="navType == 3"> |
| | | <el-table :data="dtList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" style="width: 100%" |
| | | :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 type="index" label="序号" width="50"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ (currentPage - 1) * pagesize + scope.$index + 1 }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="名称" width="140"></el-table-column> |
| | | <el-table-column prop="carType" label="类型" width="120"></el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="dtList.length" :page-size="pagesize" |
| | | pager-count="3" :current-page="currentPage" @current-change="handleCurrentChange"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="list" v-show="navType == 4"> |
| | | <el-table :data="zfList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" style="width: 100%" |
| | | :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 type="index" label="序号" width="50"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ (currentPage - 1) * pagesize + scope.$index + 1 }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="名称" width="120"></el-table-column> |
| | | <el-table-column prop="phoneType" label="手台类型" width="120"></el-table-column> |
| | | |
| | | <el-table-column label="操作" align="center"> |
| | | <template slot-scope="scope"> |
| | | <el-button @click="rowClick(scope.row)" type="text" size="small" title="定位"> |
| | | <i class="el-icon-location"></i> |
| | | </el-button> |
| | | <el-button @click="carDetail(scope.row)" type="text" size="small" title="轨迹"> |
| | | <i class="el-icon-position"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <div class="pages"> |
| | | <el-pagination background layout="prev, pager, next" :total="zfList.length" :page-size="pagesize" |
| | | pager-count="3" :current-page="currentPage" @current-change="handleCurrentChange"> |
| | | </el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <i class="el-icon-back"></i> |
| | | </el-button>详细资料及轨迹查询 |
| | | </div> |
| | | <ul> |
| | | <ul v-show="navType == 1"> |
| | | <li> |
| | | <div>车辆型号:</div> |
| | | <div>1</div> |
| | | <div>SC7103</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>责任人:</div> |
| | | <div>2</div> |
| | | <div>高德光</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>出场日期:</div> |
| | | <div>3</div> |
| | | <div>2019-12-02 00:00:00</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>厂商:</div> |
| | | <div>4</div> |
| | | <div>重庆长安铃木汽车有限公司</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>选择时间:</div> |
| | | <div class="datetime"> |
| | | <el-date-picker |
| | | v-model="trackTime" |
| | | type="datetimerange" |
| | | range-separator="至" |
| | | start-placeholder="开始日期" |
| | | size="mini" |
| | | :editable="false" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | <el-date-picker v-model="trackTime" type="datetimerange" range-separator="至" |
| | | start-placeholder="开始日期" size="mini" :editable="false" end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </div> |
| | | </li> |
| | | |
| | | <li> |
| | | <el-button type="text" @click="lookTrack">查看轨迹</el-button> |
| | | </li> |
| | | </ul> |
| | | |
| | | <ul v-show="navType == 2"> |
| | | <li> |
| | | <div>型号:</div> |
| | | <div>350m</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>责任人:</div> |
| | | <div>高德光</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>出场日期:</div> |
| | | <div>2019-12-02 00:00:00</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>厂商:</div> |
| | | <div>摩托罗拉</div> |
| | | </li> |
| | | |
| | | <li> |
| | | <div>选择时间:</div> |
| | | <div class="datetime"> |
| | | <el-date-picker v-model="trackTime" type="datetimerange" range-separator="至" |
| | | start-placeholder="开始日期" size="mini" :editable="false" end-placeholder="结束日期"> |
| | | </el-date-picker> |
| | | </div> |
| | | </li> |
| | | |
| | |
| | | </ul> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | :title="dialogTitle" |
| | | :modal="true" |
| | | :visible.sync="dialogVisible" |
| | | :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="car-video-box" |
| | | > |
| | | <div |
| | | style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;" |
| | | > |
| | | <video |
| | | src="/video/sp.mp4" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | ref="videoElement" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | <el-dialog :title="dialogTitle" :modal="true" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" class="car-video-box"> |
| | | <div style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"> |
| | | <video src="/video/sp.mp4" autoplay controls width="100%" height="100%" ref="videoElement" |
| | | style="object-fit: fill"></video> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | :title="phoneTitle" |
| | | :modal="true" |
| | | :visible.sync="phoneVisible" |
| | | :before-close="phoneBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="phone-details-box" |
| | | > |
| | | <el-dialog :title="phoneTitle" :modal="true" :visible.sync="phoneVisible" :before-close="phoneBeforeClose" |
| | | :close-on-click-modal="true" class="phone-details-box"> |
| | | <div style="flex: 1; display: flex; flex-direction: column; width: 100%; height: 100%;"> |
| | | <div |
| | | style="flex: 1; display: flex; justify-content: space-between; align-items: center;" |
| | | > |
| | | <div style="flex: 1; display: flex; justify-content: space-between; align-items: center;"> |
| | | <div>责任人:</div> |
| | | <div>{{phoneDetails.person}}</div> |
| | | <div>{{ phoneDetails.person }}</div> |
| | | </div> |
| | | <div |
| | | style="flex: 1; display: flex; justify-content: space-between; align-items: center;" |
| | | > |
| | | <div style="flex: 1; display: flex; justify-content: space-between; align-items: center;"> |
| | | <div>联系方式:</div> |
| | | <div>{{phoneDetails.phoneID}}</div> |
| | | <div>{{ phoneDetails.phoneID }}</div> |
| | | </div> |
| | | <div |
| | | style="flex: 1; display: flex; justify-content: space-between; align-items: center;" |
| | | > |
| | | <div>手台类型:</div> |
| | | <div>{{phoneDetails.phoneType}}</div> |
| | | <div style="flex: 1; display: flex; justify-content: space-between; align-items: center;"> |
| | | <div>类型:</div> |
| | | <div>{{ phoneDetails.phoneType }}</div> |
| | | </div> |
| | | <div |
| | | style="flex: 1; display: flex; justify-content: space-between; align-items: center;" |
| | | > |
| | | <div style="flex: 1; display: flex; justify-content: space-between; align-items: center;"> |
| | | <div>所在地址:</div> |
| | | <div>{{phoneDetails.location}}</div> |
| | | <div>{{ phoneDetails.location }}</div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | |
| | | |
| | | import carList from '@/assets/data/car.js' |
| | | import phoneList from '@/assets/data/phone.js' |
| | | import zfList from '@/assets/data/zf.js' |
| | | import dtList from '@/assets/data/dt.js' |
| | | export default { |
| | | data () { |
| | | return { |
| | |
| | | currentPage: 1, |
| | | pagesize: 13, |
| | | carList: [], |
| | | dtList: [], |
| | | phoneList: [], |
| | | zfList: [], |
| | | dialogTitle: '', |
| | | dialogVisible: false, |
| | | phoneDetails: {}, |
| | |
| | | currentTableHeight: 0, |
| | | detailFlag: false, |
| | | trackTime: [], |
| | | options: [{ |
| | | value: '1', |
| | | label: '警车' |
| | | }, { |
| | | value: '2', |
| | | label: '手持记录仪' |
| | | }, { |
| | | value: '3', |
| | | label: '电台' |
| | | }, { |
| | | value: '4', |
| | | label: '执法记录仪' |
| | | }], |
| | | typeValue: '1' |
| | | } |
| | | }, |
| | | created () { |
| | | this.carList = carList |
| | | this.dtList = dtList |
| | | this.phoneList = phoneList |
| | | this.zfList = zfList |
| | | const that = this |
| | | |
| | | this.$nextTick(() => { |
| | |
| | | }, |
| | | |
| | | navClick (type) { |
| | | console.log(global.viewer.entities) |
| | | if (!type) { type = 1 } |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'polylineLayer', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.detailFlag = false |
| | | this.navType = type |
| | | |
| | |
| | | this.searchValBoxShow = false |
| | | this.searchArray = [] |
| | | this.carList = carList |
| | | this.dtList = dtList |
| | | this.phoneList = phoneList |
| | | this.zfList = zfList |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'carLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'phoneLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'zfLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'dtLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | if (type == 1) { |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'phoneLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.carList.forEach(item => { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'carLayers', |
| | |
| | | incident: this.siteClick |
| | | }) |
| | | }) |
| | | } else { |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'carLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | } else if (type == 2) { |
| | | this.phoneList.forEach(item => { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'phoneLayers', |
| | | type: "billboard", |
| | | params: item, |
| | | incident: this.phoneSiteClick |
| | | }) |
| | | }) |
| | | } else if (type == 3) { |
| | | this.dtList.forEach(item => { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'dtLayers', |
| | | type: "billboard", |
| | | params: item, |
| | | incident: this.phoneSiteClick |
| | | }) |
| | | }) |
| | | } else if (type == 4) { |
| | | this.zfList.forEach(item => { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'zfLayers', |
| | | type: "billboard", |
| | | params: item, |
| | | incident: this.phoneSiteClick |
| | |
| | | this.searchValBoxShow = false |
| | | this.searchArray = [] |
| | | this.carList = carList |
| | | this.dtList = dtList |
| | | this.phoneList = phoneList |
| | | this.zfList = zfList |
| | | } else { |
| | | if (this.navType == 1) { |
| | | this.searchArray = listQuery(carList, this.searchValue, 'name') |
| | | } else { |
| | | } else if (this.navType == 2) { |
| | | this.searchArray = listQuery(phoneList, this.searchValue, 'name') |
| | | } else if (this.navType == 3) { |
| | | this.searchArray = listQuery(dtList, this.searchValue, 'name') |
| | | } else if (this.navType == 4) { |
| | | this.searchArray = listQuery(zfList, this.searchValue, 'name') |
| | | } |
| | | this.searchValBoxShow = true |
| | | } |
| | |
| | | this.searchValBoxShow = false |
| | | if (this.navType == 1) { |
| | | this.carList = accurateSearch(carList, this.searchValue, 'name') |
| | | } else { |
| | | } else if (this.navType == 2) { |
| | | this.phoneList = accurateSearch(phoneList, this.searchValue, 'name') |
| | | } else if (this.navType == 3) { |
| | | this.dtList = accurateSearch(phoneList, this.searchValue, 'name') |
| | | } else if (this.navType == 4) { |
| | | this.zfList = accurateSearch(zfList, this.searchValue, 'name') |
| | | } |
| | | }, |
| | | |
| | |
| | | this.searchArray = [] |
| | | if (this.navType == 1) { |
| | | this.carList = [item] |
| | | } else { |
| | | } else if (this.navType == 2) { |
| | | this.phoneList = [item] |
| | | } else if (this.navType == 3) { |
| | | this.dtList = [item] |
| | | } else if (this.navType == 4) { |
| | | this.zfList = [item] |
| | | } |
| | | }, |
| | | |
| | |
| | | goBack () { |
| | | this.detailFlag = !this.detailFlag |
| | | this.trackTime = [] |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'polylineLayer', |
| | | type: 'VectorLayer' |
| | | }) |
| | | }, |
| | | |
| | | lookTrack () { |
| | |
| | | ":" + |
| | | this.disposeTime(endTime.getSeconds()) |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'polylineLayer', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('layerPolylineAdd', { |
| | | layerName: 'polylineLayer', |
| | | positions: '116.025000, 28.686000; 116.025000, 28.678000; 116.020000, 28.678000', |
| | | material: global.DC.Namespace.Cesium.Color.fromBytes( |
| | | 255, 17, 0, |
| | | 255 |
| | | ), |
| | | width: 4 |
| | | }) |
| | | }, |
| | | |
| | | // 处理时间补零操作 |
| | |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'zfLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'dtLayers', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'polylineLayer', |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | window.removeEventListener('resize', this.setTableHeight) |
| | | } |
| | | } |
| | |
| | | background: $bg-color; |
| | | |
| | | .switch-box { |
| | | padding: 6px; |
| | | // background: blue; |
| | | display: flex; |
| | | justify-content: space-around; |
| | | |
| | | & > div { |
| | | box-sizing: border-box; |
| | | width: 50%; |
| | | height: 50px; |
| | | line-height: 50px; |
| | | text-align: center; |
| | | color: #fff; |
| | | font-size: 24px; |
| | | cursor: pointer; |
| | | border-bottom: 1px solid #33566c; |
| | | } |
| | | |
| | | .choosed { |
| | | background-color: rgb(0, 92, 169); |
| | | &>div { |
| | | flex: 1; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | .search-box { |
| | | padding: 6px; |
| | | padding-top: 0; |
| | | height: 48px; |
| | | display: flex; |
| | | |
| | |
| | | border-radius: 10px; |
| | | overflow: hidden; |
| | | |
| | | & > div { |
| | | &>div { |
| | | height: 100%; |
| | | overflow-y: auto; |
| | | |
| | |
| | | height: calc(100% - 50px); |
| | | background: rgba(20, 50, 123, 1); |
| | | |
| | | & > div { |
| | | &>div { |
| | | position: relative; |
| | | height: 42px; |
| | | line-height: 42px; |
| | | text-align: center; |
| | | color: #fff; |
| | | border-bottom: 1px solid #fff; |
| | | |
| | | .el-button { |
| | | padding: 0 !important; |
| | | position: absolute; |
| | |
| | | line-height: 28px; |
| | | } |
| | | } |
| | | |
| | | ul { |
| | | margin: 0; |
| | | padding: 0px; |
| | | } |
| | | |
| | | li { |
| | | margin: 0; |
| | | padding: 0 4px; |
| | |
| | | display: flex; |
| | | 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; |
| | | } |
| | | } |
| | |
| | | li:last-child { |
| | | text-align: center; |
| | | position: relative; |
| | | |
| | | .el-button { |
| | | position: absolute; |
| | | top: 0; |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-10-25 15:40:54 |
| | | * @LastEditTime: 2022-10-29 15:23:34 |
| | | * @FilePath: \srs-police-affairs\src\views\video\index.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | </div> |
| | | |
| | | <div class="draw-btn"> |
| | | <button @click="draw('polygon')">绘制面</button> |
| | | <button @click="draw('polyline')">绘制线</button> |
| | | <button @click="removeDrawLayer">清除</button> |
| | | <el-button type="primary" size="mini" @click="draw('polygon')">绘制面</el-button> |
| | | <el-button type="primary" size="mini" @click="draw('polyline')">绘制线</el-button> |
| | | <el-button type="primary" size="mini" @click="removeDrawLayer">清除</el-button> |
| | | </div> |
| | | |
| | | <div v-show="searchValBoxShow" class="search-val-box"> |
| | | <div> |
| | | <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> |
| | | |
| | | <div class="list-show"> |
| | | <div class="car-list"> |
| | | <div class="list-box"> |
| | | <el-table |
| | | :data="monitoringList.slice((currentPage-1)*pagesize,currentPage*pagesize)" |
| | | <el-table :data="monitoringList.slice((currentPage - 1) * pagesize, currentPage * pagesize)" |
| | | style="width: 100%" |
| | | :header-cell-style="{'text-align':'center','background-color':'#203c60','borderColor':'#324e75'}" |
| | | :cell-style="{'text-align':'center','borderColor':'#324e75'}" |
| | | @cell-click="rowClick" |
| | | > |
| | | :header-cell-style="{ 'text-align': 'center', 'background-color': '#203c60', 'borderColor': '#324e75' }" |
| | | :cell-style="{ 'text-align': 'center', 'borderColor': '#324e75' }" @cell-click="rowClick"> |
| | | <el-table-column type="index" label="序号" width="50"> |
| | | <template slot-scope="scope"> |
| | | <span>{{(currentPage - 1) * pagesize + scope.$index + 1}}</span> |
| | | <span>{{ (currentPage - 1) * pagesize + scope.$index + 1 }}</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="name" label="设备名称" width="150"></el-table-column> |
| | |
| | | </el-table> |
| | | </div> |
| | | <div class="pages"> |
| | | <el-pagination |
| | | background |
| | | layout="prev, pager, next" |
| | | :total="monitoringList.length" |
| | | :page-size="pagesize" |
| | | pager-count="3" |
| | | :current-page="currentPage" |
| | | @current-change="handleCurrentChange" |
| | | ></el-pagination> |
| | | <el-pagination background layout="prev, pager, next" :total="monitoringList.length" |
| | | :page-size="pagesize" pager-count="3" :current-page="currentPage" |
| | | @current-change="handleCurrentChange"></el-pagination> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <el-dialog |
| | | :title="dialogTitle" |
| | | :modal="true" |
| | | :visible.sync="dialogVisible" |
| | | :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="car-video-box" |
| | | > |
| | | <div |
| | | style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;" |
| | | > |
| | | <video |
| | | src="/video/sp.mp4" |
| | | autoplay |
| | | controls |
| | | width="100%" |
| | | height="100%" |
| | | ref="videoElement" |
| | | style="object-fit: fill" |
| | | ></video> |
| | | <el-dialog :title="dialogTitle" :modal="true" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" class="car-video-box"> |
| | | <div style="display: flex; align-items: center; justify-content: center; width: 100%; height: 100%;"> |
| | | <video src="/video/sp.mp4" autoplay controls width="100%" height="100%" ref="videoElement" |
| | | style="object-fit: fill"></video> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | |
| | | background: $bg-color; |
| | | |
| | | .search-box { |
| | | padding: 5px; |
| | | padding: 8px; |
| | | height: 48px; |
| | | display: flex; |
| | | |
| | | input { |
| | | flex: 1; |
| | | height: 100%; |
| | | font-size: 18px; |
| | | font-size: 16px; |
| | | text-indent: 1em; |
| | | color: #ffffff; |
| | | background-color: transparent; |
| | |
| | | border-radius: 10px; |
| | | overflow: hidden; |
| | | |
| | | & > div { |
| | | &>div { |
| | | height: 100%; |
| | | overflow-y: auto; |
| | | |
| | |
| | | } |
| | | |
| | | .draw-btn { |
| | | margin: 8px; |
| | | margin-top: 0; |
| | | display: flex; |
| | | height: 36px; |
| | | align-items: center; |
| | | justify-content: space-around; |
| | | height: 26px; |
| | | |
| | | .el-button { |
| | | flex: 1; |
| | | } |
| | | } |
| | | |
| | | .list-show { |
| | | flex: 1; |
| | | |
| | | & > div { |
| | | &>div { |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | |
| | | flex: 1; |
| | | } |
| | | } |
| | | |
| | | .pages { |
| | | height: 40px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | } |
| | | } |
| | | </style> |