| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 17:00:30 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-03-07 11:18:45 |
| | | * @LastEditTime: 2023-03-08 09:47:02 |
| | | * @FilePath: \srs-police-affairs\src\components\map\index.vue |
| | | * @Description: 公用地图组件 |
| | | * |
| | |
| | | outlineWidth: params.outW || 4, // 边框大小, |
| | | font: '16px sans-serif', |
| | | pixelOffset: { x: 0, y: -30 }, |
| | | distanceDisplayCondition: distanceDisplayCondition |
| | | distanceDisplayCondition: distanceDisplayCondition, |
| | | heightReference: 0, |
| | | disableDepthTestDistance: Number.POSITIVE_INFINITY |
| | | }) |
| | | labelElement.attrParams = params |
| | | layersObjcect[layerName].addOverlay(labelElement) |
| | |
| | | align-items: center; |
| | | justify-content: center; |
| | | width: 100%; |
| | | position: relative; |
| | | } |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | .el-dialog__body { |
| | | padding: 0 countSizeVh(10); |
| | | padding: countSizeVh(10); |
| | | padding-top: 0; |
| | | height: calc(100% - countSizeVh(40)); |
| | | font-size: countSizeVh(16); |
| | | |
| | |
| | | <div class="left"> |
| | | <h3>预案布置</h3> |
| | | <div> |
| | | <span>警力资源:</span> |
| | | <span>要素资源:</span> |
| | | <ul> |
| | | <li> |
| | | <button @click="draw('billboard', 'policeman')" title="警员"> |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-03-07 17:24:22 |
| | | * @LastEditTime: 2023-03-08 10:32:34 |
| | | * @FilePath: \srs-police-affairs\src\views\activity\index.vue |
| | | * @Description: 安保活 |
| | | * |
| | |
| | | |
| | | <div class="plan-control" v-show="dialogVisible && (isHavePolice || isHaveArrow || isHaveLine)"> |
| | | <div class="row-box" v-show="isHavePolice"> |
| | | <div class="category">警力资源:</div> |
| | | <div class="category">要素资源:</div> |
| | | <div class="category-value"> |
| | | <el-switch v-model="policeSwitch" @change="switchChange" active-color="#13ce66" |
| | | inactive-color="#ccc"></el-switch> |
| | |
| | | let lineObjdata = null |
| | | let plotOverlayData = null |
| | | let policecarOption = [] |
| | | |
| | | let cameraList = [] |
| | | let carList = [] |
| | | |
| | | export default { |
| | | inject: ['userInfo'], |
| | |
| | | isShowActivityEditBox: false, |
| | | editPlotVisible: false, |
| | | plotId: '', |
| | | cameraList: [], |
| | | policeTreeData: [], |
| | | policeDefaultProps: { |
| | | children: 'children', |
| | |
| | | if (e2.checkedNodes.some(item => { |
| | | return item.label == '视频监控' |
| | | })) { |
| | | if (this.cameraList.length > 0) { |
| | | this.cameraList.forEach(item => { |
| | | if (cameraList.length > 0) { |
| | | cameraList.forEach(item => { |
| | | if (item.longitude && item.latitude) { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'activityCameraLayers', |
| | |
| | | getEquipmentAll (params) { |
| | | getEquipmentAll({ ...params, deptId: this.userInfo.dept_id }).then(res => { |
| | | if (params.type == 0) { |
| | | this.carList = res.data.data |
| | | carList = res.data.data |
| | | } else { |
| | | this.cameraList = res.data.data |
| | | cameraList = res.data.data |
| | | } |
| | | }) |
| | | }, |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-03-07 17:00:25 |
| | | * @LastEditTime: 2023-03-08 09:41:47 |
| | | * @FilePath: \srs-police-affairs\src\views\home\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | |
| | | |
| | | |
| | | // this.$EventBus.$emit('layerPointAdd', { |
| | | // layerName: 'polygonLayer', |
| | | // type: 'label', |
| | | // params: { |
| | | // lng: center[0], |
| | | // lat: center[1], |
| | | // alt: 0, |
| | | // text: `${item.name}`, |
| | | // outW: 20 |
| | | // }, |
| | | // distanceDisplayCondition: { "near": 0, "far": 200000 } |
| | | // }) |
| | | |
| | | this.$EventBus.$emit('layerPolygonAdd', { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'areaPolygonLabel', |
| | | positions: `${center[0] - 0.01},${center[1] - 0.0020}; |
| | | ${center[0] + 0.01},${center[1] - 0.0020}; |
| | | ${center[0] + 0.01},${center[1] + 0.0020}; |
| | | ${center[0] - 0.01},${center[1] + 0.0020};`, |
| | | material: new global.DC.Namespace.Cesium.ImageMaterialProperty({ |
| | | image: that.drawText({ |
| | | fontSize: 16, |
| | | color: 'red', |
| | | text: item.name |
| | | }), |
| | | transparent: true, |
| | | color: global.DC.Namespace.Cesium.Color.WHITE |
| | | }), |
| | | type: 'label', |
| | | params: { |
| | | lng: center[0], |
| | | lat: center[1], |
| | | alt: 0, |
| | | text: `${item.name}`, |
| | | outW: 20 |
| | | }, |
| | | distanceDisplayCondition: { "near": 0, "far": 200000 } |
| | | }) |
| | | |
| | | // this.$EventBus.$emit('layerPolygonAdd', { |
| | | // layerName: 'areaPolygonLabel', |
| | | // positions: `${center[0] - 0.01},${center[1] - 0.0020}; |
| | | // ${center[0] + 0.01},${center[1] - 0.0020}; |
| | | // ${center[0] + 0.01},${center[1] + 0.0020}; |
| | | // ${center[0] - 0.01},${center[1] + 0.0020};`, |
| | | // material: new global.DC.Namespace.Cesium.ImageMaterialProperty({ |
| | | // image: that.drawText({ |
| | | // fontSize: 16, |
| | | // color: 'red', |
| | | // text: item.name |
| | | // }), |
| | | // transparent: true, |
| | | // color: global.DC.Namespace.Cesium.Color.WHITE |
| | | // }), |
| | | // }) |
| | | |
| | | // this.$EventBus.$emit('layerPointAdd', { |
| | | // layerName: 'personNumLayer', |
| | | // type: 'label', |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-03-07 14:44:23 |
| | | * @LastEditTime: 2023-03-08 10:04:26 |
| | | * @FilePath: \srs-police-affairs\src\views\video\list.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | |
| | | <el-dialog :title="dialogTitle" :modal="false" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" |
| | | :close-on-click-modal="true" class="car-video-box"> |
| | | <video-loading v-show="videoPlayShow"></video-loading> |
| | | |
| | | <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"> |
| | | <div> |
| | |
| | | 'hsla(209, 100%, 56%)', |
| | | '#c7158577' |
| | | ], |
| | | |
| | | videoPlayShow: false |
| | | } |
| | | }, |
| | | |
| | |
| | | }, |
| | | |
| | | async siteClick (e) { |
| | | this.videoPlayShow = true |
| | | |
| | | if (this.flvPlayer != null) { |
| | | this.flvPlayer.pause() |
| | | this.flvPlayer.unload() |
| | |
| | | } |
| | | |
| | | this.dialogTitle = e.overlay.attrParams.name |
| | | this.dialogVisible = true |
| | | |
| | | let flvUrl = '' |
| | | |
| | |
| | | |
| | | if (typeof flvUrl === 'object') { |
| | | this.$message.error(flvUrl.msg) |
| | | |
| | | this.dialogVisible = false |
| | | return |
| | | } |
| | | |
| | | this.dialogVisible = true |
| | | |
| | | if (flvjs.isSupported()) { |
| | | this.$nextTick(() => { |
| | |
| | | }) |
| | | this.flvPlayer.attachMediaElement(videoElement) |
| | | this.flvPlayer.load() |
| | | this.videoPlayShow = false |
| | | this.flvPlayer.play() |
| | | }) |
| | | } |
| | |
| | | lng: node.longitude, |
| | | lat: node.latitude, |
| | | alt: 1, |
| | | text: node.name |
| | | text: node.name, |
| | | channelId: node.id |
| | | }, |
| | | incident: this.siteClick |
| | | }) |
| | |
| | | |
| | | getTreeDevicesNearby({ longitude, latitude, mileage: 1 }).then(res => { |
| | | res.data.data.forEach(item => { |
| | | if (item.longitude && item.latitude) { |
| | | if (item.longitude && item.latitude && item.channelId != node.id) { |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'treeValAllLayer', |
| | | type: "billboard", |