Merge branch 'master' of http://s16s652780.51mypc.cn:49896/r/srs-police-affairs
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-02-23 09:09:09 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-02-24 14:33:19 |
| | | * @LastEditTime: 2023-04-06 16:05:48 |
| | | * @FilePath: \srs-police-affairs\src\components\assemble\index.vue |
| | | * @Description: 聚合图标点的点击事件 |
| | | * |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :title="dialogTile" :visible.sync="dialogVisible" :before-close="beforClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="equiment-details-box-two"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="equiment-details-box-two"> |
| | | <div class="header"> |
| | | <div> |
| | | 设备名称: |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 17:00:30 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-06 14:37:40 |
| | | * @LastEditTime: 2023-04-06 18:45:53 |
| | | * @FilePath: \srs-police-affairs\src\components\map\index.vue |
| | | * @Description: 公用地图组件 |
| | | * |
| | |
| | | // }) |
| | | // layer.addOverlay(wall) |
| | | |
| | | |
| | | |
| | | // 判断是否支持图像渲染像素化处理 |
| | | if (global.DC.Namespace.Cesium.FeatureDetection.supportsImageRenderingPixelated()) { |
| | | global.viewer.setOptions({ |
| | |
| | | // global.viewer.addTerrain(terrain) |
| | | |
| | | // 内网 |
| | | that.switchImg() |
| | | // that.switchImg() |
| | | |
| | | // 外网 |
| | | global.viewer.imageryLayers.addImageryProvider( |
| | |
| | | */ |
| | | highOrLightChange (type, status = '') { |
| | | this.$EventBus.$emit('showHouseingTileset', { |
| | | curType: this.tilesetLayerType, |
| | | type, |
| | | type: 'remove' |
| | | }) |
| | | |
| | | label.forEach(item => { |
| | |
| | | }) |
| | | |
| | | this.$EventBus.$emit('showHouseingTileset', { |
| | | curType: this.tilesetLayerType, |
| | | type, |
| | | type: 'add' |
| | | }) |
| | | } |
| | | }, |
| | |
| | | mapRemovePolygon (layerName, overlay, type) { |
| | | if (type == 'VectorLayer') { |
| | | if (layersObjcect[layerName] && layersObjcect[layerName] != null) { |
| | | |
| | | console.log(overlay, 555) |
| | | layersObjcect[layerName].removeOverlay(overlay) |
| | | } |
| | | } |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :title="title" :visible.sync="visibleFlag" :before-close="dialogBeforeClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="car-video-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="car-video-box"> |
| | | <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" |
| | | style="object-fit: fill"></video> |
| | | </el-dialog> |
| | |
| | | .el-dialog { |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 320px; |
| | | height: 220px; |
| | | width: 360px; |
| | | height: 240px; |
| | | |
| | | .el-dialog__body { |
| | | position: relative; |
| | |
| | | height: 100%; |
| | | top: 0; |
| | | left: 0; |
| | | |
| | | &>.input-box { |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | height: 36px; |
| | | position: relative; |
| | | } |
| | | } |
| | | |
| | | |
| | | .el-button { |
| | | padding: 0; |
| | |
| | | } |
| | | |
| | | .el-tree { |
| | | height: 100px; |
| | | overflow-y: scroll; |
| | | position: absolute; |
| | | top: 46px; |
| | | height: 100px; |
| | | top: 36px; |
| | | width: calc(100% - 16px); |
| | | background-color: rgba(8, 56, 185, 0.6); |
| | | z-index: 99; |
| | |
| | | .line { |
| | | display: flex; |
| | | justify-content: left; |
| | | position: absolute; |
| | | top: 48px; |
| | | } |
| | | |
| | | .value-name-box { |
| | |
| | | .el-dialog { |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 320px; |
| | | height: 180px; |
| | | width: 360px; |
| | | height: 240px; |
| | | |
| | | .el-dialog__body { |
| | | position: relative; |
| | |
| | | height: 100%; |
| | | top: 0; |
| | | left: 0; |
| | | |
| | | &>.input-box { |
| | | margin-bottom: 10px; |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | height: 36px; |
| | | position: relative; |
| | | |
| | | &>div { |
| | | width: 100%; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .el-button { |
| | |
| | | |
| | | .police-btn-box { |
| | | position: absolute; |
| | | left: 0; |
| | | bottom: 16px; |
| | | width: 100%; |
| | | } |
| | |
| | | .line { |
| | | display: flex; |
| | | justify-content: left; |
| | | position: absolute; |
| | | top: 48px; |
| | | } |
| | | |
| | | .value-name-box { |
| | |
| | | .el-dialog { |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 300px; |
| | | height: 190px; |
| | | width: 360px; |
| | | height: 240px; |
| | | |
| | | .el-dialog__body { |
| | | .el-button { |
| | |
| | | .el-dialog { |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 320px; |
| | | height: 186px; |
| | | width: 360px; |
| | | height: 240px; |
| | | |
| | | .el-dialog__body { |
| | | .el-button { |
| | |
| | | display: flex; |
| | | justify-content: left; |
| | | margin-bottom: 10px; |
| | | |
| | | input { |
| | | outline: none; |
| | | width: 80px; |
| | | height: 28px; |
| | | background-color: rgba(8, 56, 185, 0.5); |
| | | border: none; |
| | | color: #fff; |
| | | border-radius: 4px; |
| | | padding-left: 15px; |
| | | } |
| | | |
| | | input:focus { |
| | | border-color: #409EFF; |
| | | border: 1px solid #409EFF; |
| | | } |
| | | } |
| | | |
| | | .alpha { |
| | |
| | | .el-dialog { |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 300px; |
| | | height: 140px; |
| | | width: 360px; |
| | | height: 240px; |
| | | |
| | | .el-dialog__body { |
| | | .el-button { |
| | |
| | | display: flex; |
| | | // justify-content: center; |
| | | margin-bottom: 10px; |
| | | |
| | | input { |
| | | outline: none; |
| | | width: 80px; |
| | | height: 28px; |
| | | background-color: rgba(8, 56, 185, 0.5); |
| | | border: none; |
| | | color: #fff; |
| | | border-radius: 4px; |
| | | padding-left: 15px; |
| | | } |
| | | |
| | | input:focus { |
| | | border-color: #409EFF; |
| | | border: 1px solid #409EFF; |
| | | } |
| | | } |
| | | |
| | | .value-name-box { |
| | |
| | | &>div { |
| | | padding: countSizeVh(14); |
| | | padding-top: 0; |
| | | |
| | | &>.input-box { |
| | | height: 36px; |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | .el-dialog { |
| | | width: countSizeVw(320, 1920); |
| | | height: countSizeVh(220); |
| | | width: countSizeVw(360, 1920); |
| | | height: countSizeVh(240); |
| | | } |
| | | |
| | | .el-dialog .el-dialog__body .el-button { |
| | |
| | | |
| | | .el-tree { |
| | | height: countSizeVh(240); |
| | | top: countSizeVh(46); |
| | | top: countSizeVh(36); |
| | | width: calc(100% - countSizeVw(16, 1920)); |
| | | } |
| | | |
| | |
| | | height: countSizeVh(32); |
| | | line-height: countSizeVh(32); |
| | | width: countSizeVw(100, 1920); |
| | | } |
| | | |
| | | .line { |
| | | top: countSizeVh(52); |
| | | } |
| | | |
| | | .area { |
| | |
| | | bottom: countSizeVh(16); |
| | | } |
| | | |
| | | .line { |
| | | top: countSizeVh(52); |
| | | } |
| | | |
| | | .el-dialog__header button { |
| | | font-size: countSizeVh(18); |
| | | right: countSizeVw(10, 1920); |
| | | } |
| | | |
| | | .el-dialog { |
| | | width: countSizeVw(320, 1920); |
| | | height: countSizeVh(220); |
| | | width: countSizeVw(360, 1920); |
| | | height: countSizeVh(240); |
| | | } |
| | | |
| | | .el-dialog .el-dialog__body .el-button { |
| | |
| | | |
| | | .edit-line-box { |
| | | .el-dialog { |
| | | width: countSizeVw(300, 1920); |
| | | height: countSizeVh(190); |
| | | width: countSizeVw(360, 1920); |
| | | height: countSizeVh(240); |
| | | |
| | | .el-dialog__body { |
| | | .el-button { |
| | |
| | | |
| | | .add-polygon-box { |
| | | .el-dialog { |
| | | width: countSizeVw(340, 1920); |
| | | height: countSizeVh(220); |
| | | width: countSizeVw(360, 1920); |
| | | height: countSizeVh(240); |
| | | |
| | | .el-dialog__body { |
| | | .el-button { |
| | |
| | | |
| | | .edit-plot-box { |
| | | .el-dialog { |
| | | width: countSizeVw(340, 1920); |
| | | height: countSizeVh(220); |
| | | width: countSizeVw(360, 1920); |
| | | height: countSizeVh(240); |
| | | |
| | | .el-dialog__body { |
| | | .el-button { |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :title="curDialogTitle" :modal="true" :close-on-click-modal="false" :visible.sync="curDialogShow" |
| | | :append-to-body="true" class="activity-custom-img-box" :before-close="closeCurDialog"> |
| | | :modal-append-to-body="false" class="activity-custom-img-box" :before-close="closeCurDialog"> |
| | | <div class="describe"> |
| | | <div class="label"> |
| | | 描述 |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog title="选择警车" :visible.sync="policeChooseCarVisible" :before-close="cancel" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="choose-policeCar-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="choose-policeCar-box"> |
| | | <div> |
| | | <el-select size="small" v-model="policeType" placeholder="请选择" :disabled="isChoosePoliceElementDisabled"> |
| | | <el-option v-for="item in policeOption" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | <div class="input-box"> |
| | | <el-input size="small" ref="searchTreeInput" v-model="carRemark" placeholder="请输入描述" |
| | | style="cursor: pointer;"></el-input> |
| | | </div> |
| | | |
| | | <div class="input-box"> |
| | | <el-select size="small" v-model="policeType" placeholder="请选择" |
| | | :disabled="isChoosePoliceElementDisabled"> |
| | | <el-option v-for="item in policeOption" :key="item.value" :label="item.label" |
| | | :value="item.value"></el-option> |
| | | </el-select> |
| | | </div> |
| | | |
| | | <div class="line"> |
| | | <div class="value-name-box">选择颜色:</div> |
| | | <div class="pick-color-box"> |
| | |
| | | policeType: '', |
| | | pointAreaWidth: '100', |
| | | chooseCarColor: '', |
| | | carRemark: '', |
| | | policeIconIsCreated: false, |
| | | policeChooseCarVisible: false, |
| | | isChoosePoliceElementDisabled: false, |
| | |
| | | overlayObj = overlay |
| | | this.chooseCarColor = '#FF0000' |
| | | this.policeType = '' |
| | | this.carRemark = '' |
| | | this.policeChooseCarVisible = true |
| | | }, |
| | | |
| | |
| | | this.policeType = e.overlay.attrParams.data.carId |
| | | this.pointAreaWidth = e.overlay.attrParams.data.width != '-1' ? e.overlay.attrParams.data.width : 100 |
| | | this.chooseCarColor = e.overlay.attrParams.data.color != '' ? e.overlay.attrParams.data.color : '#FF0000' |
| | | this.carRemark = e.overlay.attrParams.data.remark |
| | | this.policeIconIsCreated = true |
| | | this.policeChooseCarVisible = true |
| | | }, |
| | |
| | | altitude: `${overlayObj.position.alt}`, |
| | | securityId: this.showingSecurityId, |
| | | type: 3, |
| | | remark: this.carRemark, |
| | | color: this.chooseCarColor, |
| | | width: this.pointAreaWidth |
| | | }) |
| | |
| | | type: 'warning' |
| | | }) |
| | | } else { |
| | | this.$parent.updateActivityCar({ id: this.curElId, carId: this.policeType, color: this.chooseCarColor, width: this.pointAreaWidth }, policeOverlayData.overlay) |
| | | this.$parent.updateActivityCar({ id: this.curElId, carId: this.policeType, color: this.chooseCarColor, remark: this.carRemark, width: this.pointAreaWidth }, policeOverlayData.overlay) |
| | | this.policeChooseCarVisible = false |
| | | } |
| | | this.policeIconIsCreated = false |
| | |
| | | addCarAndRange(params).then(res => { |
| | | if (res.data.success) { |
| | | this.$parent.addNewPolice(res.data.data, 'policecar', params.type) |
| | | this.$EventBus.$emit('activeDeleteLineOrPoint', 'policecar') |
| | | this.$message({ |
| | | message: '添加成功', |
| | | type: 'success' |
| | |
| | | cancel () { |
| | | this.policeIconIsCreated = false |
| | | this.policeChooseCarVisible = false |
| | | this.$parent.removeDrawArrow() |
| | | }, |
| | | |
| | | // 点击删除 |
| | |
| | | type: 'success' |
| | | }) |
| | | policeOverlayData.overlay.remove() |
| | | this.$EventBus.$emit('activeDeleteLineOrPoint', 'policecar') |
| | | } else { |
| | | this.$message({ |
| | | message: '删除失败', |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog title="选择警员" :visible.sync="policeChooseVisible" :before-close="cancel" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="choose-police-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="choose-police-box"> |
| | | <div> |
| | | <el-input ref="searchTreeInput" v-model="searchPoliceTreeName" @input="searchInputTree" |
| | | @focus="searchTreeShowFlag = true" @blur="searchTreeShowFlag = false" placeholder="请选择警员" |
| | | style="cursor: pointer;"></el-input> |
| | | <el-tree :data="policeTreeData" :props="policeDefaultProps" @node-click="handlePoliceNodeClick" |
| | | @mousedown.native="preventFocusLost" ref="policeTree" :filter-node-method="filterPoliceNode" |
| | | v-show="searchTreeShowFlag"></el-tree> |
| | | <div class="input-box"> |
| | | <el-input size="small" ref="searchTreeInput" v-model="personRemark" placeholder="请输入描述" |
| | | style="cursor: pointer;"></el-input> |
| | | </div> |
| | | |
| | | <div class="input-box"> |
| | | <el-input size="small" ref="searchTreeInput" v-model="searchPoliceTreeName" @input="searchInputTree" |
| | | @focus="searchTreeShowFlag = true" @blur="searchTreeShowFlag = false" placeholder="请选择警员" |
| | | style="cursor: pointer;"></el-input> |
| | | |
| | | <el-tree :data="policeTreeData" :props="policeDefaultProps" @node-click="handlePoliceNodeClick" |
| | | @mousedown.native="preventFocusLost" ref="policeTree" :filter-node-method="filterPoliceNode" |
| | | v-show="searchTreeShowFlag"></el-tree> |
| | | </div> |
| | | |
| | | <div class="line"> |
| | | <div class="value-name-box">选择颜色:</div> |
| | | <div class="pick-color-box"> |
| | |
| | | </el-color-picker> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="line area" v-show="false"> |
| | | <div class="value-name-box">预警范围:</div> |
| | | <div class="width-box"> |
| | |
| | | <div class="units">米</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="police-btn-box"> |
| | | <el-button @click="determine" v-show="!isChoosePoliceElementDisabled">确定</el-button> |
| | | <el-button @click="deletePoliceElement" |
| | |
| | | choosePoliceColor: '', |
| | | searchPoliceTreeId: '', |
| | | searchPoliceTreeName: '', |
| | | personRemark: '', |
| | | policeChooseVisible: false, |
| | | policeIconIsCreated: false, |
| | | searchTreeShowFlag: false, |
| | |
| | | overlayObj = overlay |
| | | this.searchPoliceTreeId = '' |
| | | this.searchPoliceTreeName = '' |
| | | this.personRemark = '' |
| | | this.choosePoliceColor = '#FF0000' |
| | | this.policeChooseVisible = true |
| | | }, |
| | |
| | | this.pointAreaWidth = e.overlay.attrParams.data.width != '-1' ? e.overlay.attrParams.data.width : 100 |
| | | this.choosePoliceColor = e.overlay.attrParams.data.color != '' ? e.overlay.attrParams.data.color : '#FF0000' |
| | | this.searchPoliceTreeId = e.overlay.attrParams.data.policemanId |
| | | this.personRemark = e.overlay.attrParams.data.remark |
| | | this.searchPoliceTreeName = this.platFn(this.policeTreeData).find(item => item.id == e.overlay.attrParams.data.policemanId).name |
| | | this.policeIconIsCreated = true |
| | | this.policeChooseVisible = true |
| | |
| | | type: 'warning' |
| | | }) |
| | | } else { |
| | | this.$parent.updateActivityPolice({ id: this.curElId, policemanId: this.searchPoliceTreeId, color: this.choosePoliceColor, width: this.pointAreaWidth }, policeOverlayData.overlay) |
| | | this.$parent.updateActivityPolice({ id: this.curElId, policemanId: this.searchPoliceTreeId, color: this.choosePoliceColor, width: this.pointAreaWidth, remark: this.personRemark }, policeOverlayData.overlay) |
| | | this.policeChooseVisible = false |
| | | } |
| | | this.policeIconIsCreated = false |
| | |
| | | addActivityPolice(params).then(res => { |
| | | if (res.data.success) { |
| | | this.$parent.addNewPolice(res.data.data, 'policeman') |
| | | |
| | | this.$EventBus.$emit('activeDeleteLineOrPoint', 'policeman') |
| | | this.$message({ |
| | | message: '添加成功', |
| | | type: 'success' |
| | |
| | | cancel () { |
| | | this.policeIconIsCreated = false |
| | | this.policeChooseVisible = false |
| | | this.$parent.removeDrawArrow() |
| | | }, |
| | | |
| | | // 点击删除 |
| | |
| | | this.policeChooseVisible = false |
| | | if (res.data.success) { |
| | | policeOverlayData.overlay.remove() |
| | | this.$EventBus.$emit('activeDeleteLineOrPoint', 'policeman') |
| | | |
| | | this.$message({ |
| | | message: '删除成功', |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog title="修改标绘" :visible.sync="editPlotVisible" :modal="true" :close-on-click-modal="false" |
| | | :append-to-body="true" class="edit-plot-box"> |
| | | :modal-append-to-body="false" class="edit-plot-box"> |
| | | <div> |
| | | <div class="value-name-box">描述:</div> |
| | | <div class="input-width-box" style="flex: 1;"> |
| | | <input style="width: 100%;" type="text" v-model="polygonRemark" placeholder="请输入..." /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div> |
| | | <div class="value-name-box">选择标绘颜色:</div> |
| | | <div class="pick-color-box"> |
| | |
| | | </el-color-picker> |
| | | </div> |
| | | </div> |
| | | <div v-show="!polygonName" class="placeholder"></div> |
| | | |
| | | <div> |
| | | <div class="value-name-box">设置透明度:</div> |
| | | <div class="alpha"> |
| | | <el-slider :min="1" v-model="choosePlotColorAlpha" :format-tooltip="formatTooltip"></el-slider> |
| | | </div> |
| | | </div> |
| | | <div v-show="!polygonName" class="placeholder"></div> |
| | | |
| | | <div class="edit-plot-btn-box"> |
| | | <el-button @click="savePlot">保存</el-button> |
| | | <el-button @click="editPlot">编辑</el-button> |
| | |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="新增标绘" :visible.sync="polygonAddVisible" :modal="true" :close-on-click-modal="false" |
| | | :append-to-body="true" class="add-polygon-box" :before-close="cancelSavePolygon"> |
| | | :modal-append-to-body="false" class="add-polygon-box" :before-close="cancelSavePolygon"> |
| | | <div class="line"> |
| | | <div class="value-name-box">描述:</div> |
| | | <div class="input-width-box" style="flex: 1;"> |
| | | <input style="width: 100%;" type="text" v-model="polygonRemark" placeholder="请输入..." /> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="line" v-show="isNeedPolygonType"> |
| | | <div class="value-name-box">选择类型:</div> |
| | | <div class="select-type"> |
| | |
| | | </el-select> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="line"> |
| | | <div class="value-name-box">选择标绘颜色:</div> |
| | | <div class="pick-color-box"> |
| | |
| | | <el-slider :min="1" v-model="choosePlotColorAlpha" :format-tooltip="formatTooltip"></el-slider> |
| | | </div> |
| | | </div> |
| | | <div class="placeholder" v-show="!isNeedPolygonType"></div> |
| | | |
| | | <div class="add-polygon-btn-box"> |
| | | <el-button @click="savePolygonInfo">保存</el-button> |
| | | <el-button @click="cancelSavePolygon">取消</el-button> |
| | |
| | | '#c7158577' |
| | | ], |
| | | choosePlotColor: '#409EFF', |
| | | polygonRemark: '', |
| | | choosePlotColorAlpha: 48, |
| | | polygonAreaType: 1, |
| | | isNeedPolygonType: false, |
| | |
| | | |
| | | this.isNeedPolygonType = false |
| | | this.choosePlotColor = color |
| | | this.polygonRemark = '' |
| | | this.choosePlotColorAlpha = 100 |
| | | this.polygonAddVisible = true |
| | | }, |
| | |
| | | polygonPlotData = positions |
| | | this.plotSaveType = type |
| | | this.choosePlotColor = '#409EFF' |
| | | this.polygonRemark = '' |
| | | this.choosePlotColorAlpha = 48 |
| | | |
| | | if (type == 5) { |
| | |
| | | setCurOver (e) { |
| | | plotOverlayData = e |
| | | |
| | | this.polygonRemark = e.overlay.attrParams.remark |
| | | this.choosePlotColor = e.overlay.attrParams.color != '' ? e.overlay.attrParams.color.slice(0, 7) : '#409EFF' |
| | | this.choosePlotColorAlpha = e.overlay.attrParams.color != '' ? Number(e.overlay.attrParams.color.split(',')[1]) : 100 |
| | | |
| | |
| | | if (plotOverlayData != null && plotOverlayData.overlay != null && 'pointOverlayData' in plotOverlayData.overlay.attrParams) { |
| | | plotOverlayData.overlay.attrParams.pointOverlayData.remove() |
| | | } |
| | | this.$EventBus.$emit('activeDeletePolygon') |
| | | this.$message({ |
| | | message: '删除成功', |
| | | type: 'success' |
| | |
| | | |
| | | // 保存标绘修改 |
| | | savePlot () { |
| | | this.$parent.updateSecurityPlot({ id: plotOverlayData.overlay.attrParams.id, color: this.choosePlotColor + ',' + this.choosePlotColorAlpha }, plotOverlayData.overlay) |
| | | this.$parent.updateSecurityPlot({ |
| | | id: plotOverlayData.overlay.attrParams.id, |
| | | color: this.choosePlotColor + ',' + this.choosePlotColorAlpha, |
| | | remark: this.polygonRemark |
| | | }, plotOverlayData.overlay) |
| | | this.editPlotVisible = false |
| | | }, |
| | | |
| | |
| | | position: positionStr, |
| | | type: this.plotSaveType, |
| | | color: this.choosePlotColor + ',' + this.choosePlotColorAlpha, |
| | | remark: this.polygonRemark, |
| | | areaType: this.polygonAreaType, |
| | | altitude: polygonAltArray |
| | | }) |
| | |
| | | addSecurityPlot(params).then(res => { |
| | | if (res.data.success) { |
| | | this.$parent.addNewPlot(res.data.data) |
| | | this.$EventBus.$emit('activeDeletePolygon') |
| | | |
| | | polygonAltArray = [] |
| | | |
| | |
| | | |
| | | <template> |
| | | <el-dialog :title="lineEditTitle" :visible.sync="lineEditVisible" :modal="true" :close-on-click-modal="false" |
| | | :append-to-body="true" class="edit-line-box" :before-close="cancelSaveLine"> |
| | | :modal-append-to-body="false" class="edit-line-box" :before-close="cancelSaveLine"> |
| | | |
| | | <div style="position: relative; width: 80px; height: 36px;"> |
| | | <images-select></images-select> |
| | |
| | | <template> |
| | | <div> |
| | | <el-dialog :title="lineEditTitle" :visible.sync="lineEditVisible" :modal="true" :close-on-click-modal="false" |
| | | :append-to-body="true" class="edit-line-box" :before-close="cancelSaveLine"> |
| | | :modal-append-to-body="false" class="edit-line-box" :before-close="cancelSaveLine"> |
| | | <div> |
| | | <div class="value-name-box">描述:</div> |
| | | <div class="input-width-box" style="flex: 1;"> |
| | | <input style="width: 100%;" type="text" v-model="lineRemark" placeholder="请输入..." /> |
| | | </div> |
| | | </div> |
| | | <div> |
| | | <div class="value-name-box">设置缓冲范围:</div> |
| | | <div class="input-width-box"> |
| | |
| | | return { |
| | | lineEditTitle: '修改巡逻路线', |
| | | isLineEdit: true, |
| | | lineRemark: "", |
| | | lineWidth: 100, |
| | | chooseColor: '#1CA085', |
| | | policeIconId: {}, |
| | |
| | | addPopupShow (positions, altitude) { |
| | | this.lineEditTitle = '新增巡逻路线' |
| | | this.chooseColor = '#1CA085' |
| | | this.lineRemark = '' |
| | | this.lineWidth = 100 |
| | | this.isLineEdit = false |
| | | polygonAltArray = altitude |
| | |
| | | curLinePosition = e.overlay.attrParams.linePositionStr |
| | | curLinePolygonPosition = e.overlay.attrParams.polygonPositionStr |
| | | |
| | | this.lineRemark = e.overlay.attrParams.remark |
| | | this.lineWidth = e.overlay.attrParams.width != -1 ? e.overlay.attrParams.width : 100 |
| | | this.chooseColor = e.overlay.attrParams.color != '' ? e.overlay.attrParams.color : '#1CA085' |
| | | this.policeIconId = e.overlay.attrParams.id |
| | |
| | | |
| | | // 保存巡逻路线信息 |
| | | saveLineInfo () { |
| | | this.$parent.updateActivityCar({ id: this.policeIconId, color: this.chooseColor, width: this.lineWidth }, polylineOverlay.overlay) |
| | | this.$parent.updateActivityCar({ id: this.policeIconId, color: this.chooseColor, width: this.lineWidth, remark: this.lineRemark }, polylineOverlay.overlay) |
| | | this.lineEditVisible = false |
| | | }, |
| | | |
| | |
| | | }) |
| | | polylineOverlay.overlay.remove() |
| | | polylineOverlay.overlay.attrParams.lineObj.remove() |
| | | this.$EventBus.$emit('activeDeleteLineOrPoint', 'policecar') |
| | | } else { |
| | | this.$message({ |
| | | message: '删除失败', |
| | |
| | | securityId: this.showingSecurityId, |
| | | type: 1, |
| | | color: this.chooseColor, |
| | | width: this.lineWidth |
| | | width: this.lineWidth, |
| | | remark: this.lineRemark |
| | | }) |
| | | }, |
| | | |
| | |
| | | |
| | | if (res.data.success) { |
| | | this.$parent.addNewPolice(res.data.data, 'policecar', params.type) |
| | | this.$EventBus.$emit('activeDeleteLineOrPoint', 'policecar') |
| | | |
| | | this.$message({ |
| | | message: '添加成功', |
| | |
| | | :isHaveLine="isHaveLine" :policeSwitch="policeSwitch" :arrowBtnSwitch="arrowBtnSwitch" |
| | | :polylineBtnSwitch="polylineBtnSwitch"></layers-show-control> |
| | | |
| | | <polygon-plot ref="PolygonPlotPage" :showingSecurityId="showingSecurityId"></polygon-plot> |
| | | |
| | | <polyline-plot ref="PolylinePlotPage" :showingSecurityId="showingSecurityId"></polyline-plot> |
| | | <draw-btn-box v-if="currentPlotType == 3" ref="DRAWBTNBOX" :dialogVisible="dialogVisible" |
| | | :isShowActivityEditBox="isShowActivityEditBox" :showingSecurityId="showingSecurityId" |
| | | :policeSwitch="policeSwitch" :polylineBtnSwitch="polylineBtnSwitch" :arrowBtnSwitch="arrowBtnSwitch" |
| | | :policeIconId="policeIconId" :lineWidth="lineWidth" @setPoliceOption="setPoliceOption"></draw-btn-box> |
| | | |
| | | <two-draw-btn-box v-if="currentPlotType == 1" ref="DRAWBTNBOX" :dialogVisible="dialogVisible" |
| | | :isShowActivityEditBox="isShowActivityEditBox" :showingSecurityId="showingSecurityId" |
| | | :policeSwitch="policeSwitch" :polylineBtnSwitch="polylineBtnSwitch" :arrowBtnSwitch="arrowBtnSwitch" |
| | | :policeIconId="policeIconId" :lineWidth="lineWidth" @setPoliceOption="setPoliceOption"></two-draw-btn-box> |
| | | |
| | | <draw-btn-box v-if="currentPlotType == 3" ref="DRAWBTNBOX" :dialogVisible="dialogVisible" |
| | | :isShowActivityEditBox="isShowActivityEditBox" :showingSecurityId="showingSecurityId" |
| | | :policeSwitch="policeSwitch" :polylineBtnSwitch="polylineBtnSwitch" :arrowBtnSwitch="arrowBtnSwitch" |
| | | :policeIconId="policeIconId" :lineWidth="lineWidth" @setPoliceOption="setPoliceOption"></draw-btn-box> |
| | | <polygon-plot ref="PolygonPlotPage" :showingSecurityId="showingSecurityId"></polygon-plot> |
| | | |
| | | <polyline-plot ref="PolylinePlotPage" :showingSecurityId="showingSecurityId"></polyline-plot> |
| | | |
| | | |
| | | <police-car-change ref="PoliceCarChange" :policeOption="policeOption" |
| | | :showingSecurityId="showingSecurityId"></police-car-change> |
| | |
| | | methods: { |
| | | addNewPolice (data, type, dataType = '') { |
| | | this.$refs.DRAWBTNBOX.addNewPolice(data, type, dataType) |
| | | |
| | | console.log(data, 4555) |
| | | // this.$parent. |
| | | }, |
| | | |
| | | addPointPopupShow (type, positions) { |
| | |
| | | 'dialogVisible', 'isShowActivityEditBox', 'showingSecurityId', |
| | | 'policeSwitch', 'polylineBtnSwitch', |
| | | 'arrowBtnSwitch', 'policeIconId', 'lineWidth'], |
| | | |
| | | data () { |
| | | return { |
| | | startDrawFlag: false, |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-03-24 16:36:55 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-06 10:10:42 |
| | | * @LastEditTime: 2023-04-07 09:51:28 |
| | | * @FilePath: \srs-police-affairs\src\views\activity\index.vue |
| | | * @Description: |
| | | * |
| | |
| | | let curLinePolygonPosition = '' |
| | | let curLinePosition = '' |
| | | let realPoliceTimer = {} |
| | | |
| | | import { |
| | | getSecurityPlotList, |
| | | getSecurityPoliceList, |
| | | getSecurityCarList |
| | | } from '@/api/activity/index.js' |
| | | |
| | | export default { |
| | | inject: ['userInfo'], |
| | |
| | | //执法记录仪 |
| | | this.getEquipmentAll({ type: 3 }, '') |
| | | |
| | | this.$EventBus.$on('activeDeletePolygon', () => { |
| | | this.activeDeletePolygon() |
| | | }) |
| | | |
| | | this.$EventBus.$on('activeDeleteLineOrPoint', (type) => { |
| | | this.activeDeleteLineOrPoint(type) |
| | | }) |
| | | |
| | | }, |
| | | |
| | | mounted () { |
| | |
| | | }, |
| | | |
| | | methods: { |
| | | activeDeletePolygon () { |
| | | const securityId = this.showingSecurityId |
| | | getSecurityPlotList(securityId).then(res => { |
| | | // 要素资源 |
| | | this.normalPeopleList = res.data.data.filter(item => item.type == 6) |
| | | this.protectedPeopleList = res.data.data.filter(item => item.type == 7) |
| | | this.dangerousPeopleList = res.data.data.filter(item => item.type == 8) |
| | | |
| | | // 作战标绘 |
| | | this.attackArrowList = res.data.data.filter(item => item.type == 1) |
| | | this.doubleArrowList = res.data.data.filter(item => item.type == 2) |
| | | this.tailedAttackArrowList = res.data.data.filter(item => item.type == 3) |
| | | this.fineArrowList = res.data.data.filter(item => item.type == 4) |
| | | this.polygonList = res.data.data.filter(item => item.type == 5) |
| | | this.borkenList = res.data.data.filter(item => item.type == 10) |
| | | }) |
| | | }, |
| | | |
| | | activeDeleteLineOrPoint (type) { |
| | | const securityId = this.showingSecurityId |
| | | if (type == 'policeman') { |
| | | getSecurityPoliceList(securityId).then(res => { |
| | | this.chooseActivityPoliceManList = res.data.data.filter(item => item.type == 3) |
| | | }) |
| | | } else { |
| | | getSecurityCarList(securityId).then(res => { |
| | | this.chooseActivityPoliceCarList = res.data.data.filter(item => item.type == 3) |
| | | this.chooseActivityLineList = res.data.data.filter(item => item.type == 1) |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | // 展开活动列表面板 |
| | | handleActivityChange (val) { |
| | | if (this.currentTreeItem == val) return |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-01-13 15:52:59 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-05 03:59:40 |
| | | * @LastEditTime: 2023-04-06 18:10:22 |
| | | * @FilePath: \srs-police-affairs\src\views\home\components\bottomContainer.vue |
| | | * @Description: |
| | | * |
| | |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="body" v-if="historytype == 0" ref="tableBox" @click="handleSelectClick($event)"> |
| | | <div class="body" v-if="historytype == 0" ref="tableBox"> |
| | | <ul class="title-header"> |
| | | <li> |
| | | <span class="num">序号</span> |
| | | <span class="receiving-alarm-unit">接警单位</span> |
| | | <span class="receiving-alarm-time">报警时间</span> |
| | | <span class="receiving-alarm-time">报警时间</span> |
| | | <span class="call-police-content">报警内容</span> |
| | | <span class="incident-site">事发地址</span> |
| | | <span class="call-police-type">报警类型</span> |
| | |
| | | </li> |
| | | </ul> |
| | | |
| | | <!-- <vue-seamless-scroll v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" |
| | | class="warp" :class-option="classOption"> --> |
| | | <!-- <vue-seamless-scroll v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp" :class-option="classOption"> --> |
| | | <div v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" class="warp" |
| | | :class-option="classOption"> |
| | | <el-carousel indicator-position="none" direction="vertical" @change="changeAlarm"> |
| | | <el-carousel-item v-for="item in alarmPageCount" :key="item"> |
| | | <ul class="item"> |
| | | <li v-for="(item, index) in policeSituationRealtimeArr" :key="index" |
| | | :data-obj="JSON.stringify(item)" class="row"> |
| | | <li v-for="(item, index) in policeSituationRealtimeArr" :key="index" class="row" |
| | | @click.stop="handleSelectClick(item)"> |
| | | <span class="num" v-text="item.index"></span> |
| | | <span class="receiving-alarm-unit" v-text="item.JJDWMC"></span> |
| | | <span class="receiving-alarm-time" v-text="item.BJSJ"></span> |
| | | <span class="call-police-content" :title="item.BJNR" v-text="item.BJNR"></span> |
| | | <span class="incident-site" :title="item.SFDZ" v-text="item.SFDZ"></span> |
| | | <span class="call-police-type" v-text="item.BJLX"></span> |
| | | <span class="have-position" v-text="item.position"></span> |
| | | <span class="have-position"> |
| | | <i v-show="item.position == '有'" class="el-icon-location" style="color: #1AFA29;" |
| | | @click.stop="policeSituationClick(item)"></i> |
| | | </span> |
| | | <span class="alarm-bz" v-text="item.MEMO"></span> |
| | | </li> |
| | | </ul> |
| | |
| | | <el-table :data="policeSituationHistoryArr" :key="currentPage" style="width: 100%" |
| | | :height="currentTableHeight" |
| | | :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="handleSelectClick"> |
| | | <el-table-column :show-overflow-tooltip="true" prop="index" label="序号" width="60"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="JJDWMC" label="接警单位"></el-table-column> |
| | | <el-table-column prop="BJSJ" label="报警时间"> |
| | |
| | | <el-table-column :show-overflow-tooltip="true" prop="BJNR" label="报警内容"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="SFDZ" label="事发地址"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="BJLX" label="报警类型"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="position" label="坐标" width="60"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="position" label="坐标" width="60"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-show="scope.row.position == '有'" @click.stop="policeSituationClick(scope.row)" |
| | | type="text" size="small" title="定位"> |
| | | <i class="el-icon-location" style="color: #1AFA29;"></i> |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="MEMO" label="备注"></el-table-column> |
| | | </el-table> |
| | | |
| | |
| | | }) |
| | | }, |
| | | |
| | | // table行点击事件 |
| | | rowClick (row) { |
| | | this.policeSituationClick(row) |
| | | }, |
| | | |
| | | // 分页选择事件 |
| | | handleCurrentChange: function (currentPage) { |
| | | this.currentPage = currentPage |
| | |
| | | } |
| | | |
| | | }, |
| | | |
| | | |
| | | // 设置默认时间 |
| | | defaultDate () { |
| | |
| | | this.alarmPageCount = Math.ceil(res.data.length / this.alarmPageSize) |
| | | this.policeSituationRealtimeAllArr = res.data.map((item, index) => { |
| | | const bjlxText = BjlxData.filter(i => item.BJLX == i.BJLX)[0].VALUE || '' |
| | | |
| | | if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局') |
| | | if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '') |
| | | if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '') |
| | | |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, position: item.ZDDWYZB && item.ZDDWYZB != 0 ? '有' : '无', BJLX: bjlxText } |
| | | }) |
| | |
| | | if (res.data.data.records.length > 0) { |
| | | this.policeSituationHistoryArr = res.data.data.records.map((item, index) => { |
| | | const bjlxText = BjlxData.filter(i => item.BJLX == i.BJLX)[0].VALUE || '' |
| | | |
| | | if (item.JJDWMC.indexOf('上饶市公安局') != -1) item.JJDWMC = item.JJDWMC.replace(/上饶市公安局/, '市局') |
| | | if (item.JJDWMC.indexOf('信州区分局') != -1) item.JJDWMC = item.JJDWMC.replace(/信州区分局/, '') |
| | | if (item.JJDWMC.indexOf('信州') != -1) item.JJDWMC = item.JJDWMC.replace(/信州/, '') |
| | | |
| | | return { ...item, index: index + 1, lng: item.ZDDWXZB, lat: item.ZDDWYZB, position: item.ZDDWYZB && item.ZDDWYZB != 0 ? '有' : '无', BJLX: bjlxText } |
| | | }) |
| | |
| | | }, |
| | | |
| | | // 列表行选择 |
| | | handleSelectClick (e) { |
| | | let element |
| | | for (let i = 0; i < e.path.length; i++) { |
| | | if (e.path[i].className == "row") { |
| | | element = e.path[i] |
| | | break |
| | | } |
| | | } |
| | | |
| | | let currentItem = JSON.parse(element.dataset.obj) |
| | | |
| | | this.policeSituationClick(currentItem) |
| | | handleSelectClick (item) { |
| | | this.$emit('policeSituationSiteClick', item) |
| | | }, |
| | | |
| | | // 点击定位或者显示弹窗 |
| | | policeSituationClick (item) { |
| | | if (item.ZDDWXZB && item.ZDDWXZB != 0 && item.ZDDWYZB && item.ZDDWYZB != 0) { |
| | | this.$EventBus.$emit('toPosition', { |
| | | layerName: 'policeSituationyLayers', |
| | | siteJd: Number(item.ZDDWXZB), |
| | | siteWd: Number(item.ZDDWYZB) |
| | | }) |
| | | |
| | | this.$store.commit('SET_DETAILSPOPUP', { |
| | | showBox: true, |
| | | showBtn: true |
| | | }) |
| | | console.log(item, 959999) |
| | | |
| | | this.$store.commit('SET_DATAPOPUP', item) |
| | | this.$EventBus.$emit('toPosition', { |
| | | layerName: 'policeSituationyLayers', |
| | | siteJd: Number(item.ZDDWXZB), |
| | | siteWd: Number(item.ZDDWYZB) |
| | | }) |
| | | |
| | | var popup = new global.DC.DivForms(global.viewer, { |
| | | domId: 'divFormsDomBox', |
| | | position: [ |
| | | global.DC.Transform.transformWGS84ToCartesian( |
| | | new global.DC.Position( |
| | | Number(item.ZDDWXZB), |
| | | Number(item.ZDDWYZB), |
| | | 0 |
| | | ) |
| | | this.$store.commit('SET_DETAILSPOPUP', { |
| | | showBox: true, |
| | | showBtn: true |
| | | }) |
| | | |
| | | this.$store.commit('SET_DATAPOPUP', item) |
| | | |
| | | var popup = new global.DC.DivForms(global.viewer, { |
| | | domId: 'divFormsDomBox', |
| | | position: [ |
| | | global.DC.Transform.transformWGS84ToCartesian( |
| | | new global.DC.Position( |
| | | Number(item.ZDDWXZB), |
| | | Number(item.ZDDWYZB), |
| | | 0 |
| | | ) |
| | | ] |
| | | }) |
| | | } else { |
| | | this.$emit('policeSituationSiteClick', item) |
| | | } |
| | | ) |
| | | ] |
| | | }) |
| | | } |
| | | }, |
| | | |
| | |
| | | <template> |
| | | <!-- 户籍人口 --> |
| | | <el-dialog :title="peopleTitle" :visible.sync="peopleVisible" :before-close="personInfoClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="area-details-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="area-details-box"> |
| | | <div class="header"> |
| | | <div> |
| | | 人员名称: |
| | |
| | | <template> |
| | | <!-- 重点人员 --> |
| | | <el-dialog :title="keyPersonTitle" :visible.sync="keyPersonVisible" :before-close="personInfoClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="keyPerson-details-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="keyPerson-details-box"> |
| | | <div class="header" v-show="userInfo.dept_id != '1596020515064381442'"> |
| | | <div> |
| | | 人员名称: |
| | |
| | | <template> |
| | | <el-dialog :title="landTitle" :visible.sync="landVisible" :before-close="landBeforeClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="land-details-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="land-details-box"> |
| | | <div class="header"> |
| | | <div v-show="landType == 2"> |
| | | 小区名称: |
| | |
| | | <!-- 值班table --> |
| | | <div> |
| | | <el-dialog :title="schedulingTitle" :visible.sync="schedulingVisible" :before-close="schedulingBeforeClose" |
| | | :append-to-body="true" :modal="true" :close-on-click-modal="false" class="area-details-box"> |
| | | :modal-append-to-body="false" :modal="true" :close-on-click-modal="false" class="area-details-box"> |
| | | <div class="header"> |
| | | <div> |
| | | <span>值班人:</span> |
| | |
| | | </div> |
| | | |
| | | <el-dialog :title="panoramaTitle" :visible.sync="panoramaVisible" :before-close="panoramaBeforeClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="panorama-details-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="panorama-details-box"> |
| | | <!-- <iframe src="http://vr.jxpskj.com/JXSFKZQJ/QJ/" style="width: 100%; height: 100%;" frameborder="0"></iframe>--> |
| | | <iframe :src="panoramaVrUrl" style="width: 100%; height: 100%;" frameborder="0"></iframe> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="phoneTitle" :visible.sync="phoneVisible" :before-close="phoneBeforeClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="phone-details-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="phone-details-box"> |
| | | <div class="item"> |
| | | <div>责任人:</div> |
| | | <div>{{ phoneDetails.person }}</div> |
| | |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="equimentTitle" :visible.sync="equimentVisible" :before-close="equimentBeforeClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="equiment-details-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="equiment-details-box"> |
| | | <div class="header"> |
| | | <div> |
| | | 设备名称: |
| | |
| | | |
| | | |
| | | <el-dialog title="警情信息" :visible.sync="policeSituationVisible" :modal="true" :close-on-click-modal="false" |
| | | :append-to-body="true" :before-close="policeSituationBeforeClose" class="policeSituation-details-box"> |
| | | :modal-append-to-body="false" :before-close="policeSituationBeforeClose" class="policeSituation-details-box"> |
| | | <div class="btn-change"> |
| | | <div :class="{ on: policeInformationType == '接警信息' }" @click="alarmOrActAsPolice('接警信息')">接警信息</div> |
| | | <div :class="{ on: policeInformationType == '出警信息' }" @click="alarmOrActAsPolice('出警信息')">出警信息</div> |
| | |
| | | <div v-show="policeInformationType == '出警信息' && JSON.stringify(CJdata) == '{}'" class="box no-data">暂无数据</div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="dialogEquimentVideoTitle" :visible.sync="dialogEquimentVideoVisible" :append-to-body="true" |
| | | :before-close="dialogBeforeClose" :modal="true" :close-on-click-modal="false" class="car-video-box"> |
| | | <el-dialog :title="dialogEquimentVideoTitle" :visible.sync="dialogEquimentVideoVisible" |
| | | :modal-append-to-body="false" :before-close="dialogBeforeClose" :modal="true" :close-on-click-modal="false" |
| | | class="car-video-box"> |
| | | <video-loading v-show="videoPlayShow"></video-loading> |
| | | |
| | | <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" |
| | |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="学校" :visible.sync="xxPopupShow" :before-close="landBeforeClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="land-details-box" v-loading="houseLoading" |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="land-details-box" v-loading="houseLoading" |
| | | element-loading-text="拼命加载中" element-loading-spinner="el-icon-loading" |
| | | element-loading-background="rgba(0, 0, 0, 0.5)"> |
| | | <el-table :data="houseArr" style="width: 100%" |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-06 10:06:43 |
| | | * @LastEditTime: 2023-04-06 18:13:00 |
| | | * @FilePath: \srs-police-affairs\src\views\house\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | :class="{ on: floorChoosed == value.properties.fojcu }"> |
| | | {{ value.properties.fojcu }} |
| | | <!-- <div class="flow"></div> |
| | | <div class="warning"></div>--> |
| | | <div class="warning"></div>--> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | |
| | | <map-search-box></map-search-box> |
| | | |
| | | <el-dialog title="报警信息" :visible.sync="policeSituationVisible" :append-to-body="true" :modal="true" |
| | | <el-dialog title="报警信息" :visible.sync="policeSituationVisible" :modal-append-to-body="false" :modal="true" |
| | | :close-on-click-modal="false" :before-close="policeSituationBeforeClose" class="policeSituation-details-box"> |
| | | <div class="box"> |
| | | <div class="item"> |
| | |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="residentDetailsTitle" :visible.sync="residentDetailsShow" :append-to-body="true" :modal="true" |
| | | :close-on-click-modal="false" :before-close="residentDetailsClose" class="resident-details-box" width="24%"> |
| | | <el-dialog :title="residentDetailsTitle" :visible.sync="residentDetailsShow" :modal-append-to-body="false" |
| | | :modal="true" :close-on-click-modal="false" :before-close="residentDetailsClose" 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' }" v-loading="residentLoading" |
| | |
| | | </el-table> |
| | | </el-dialog> |
| | | |
| | | <el-dialog :title="keyPersonTitle" :visible.sync="keyPersonVisible" :append-to-body="true" :modal="true" |
| | | <el-dialog :title="keyPersonTitle" :visible.sync="keyPersonVisible" :modal-append-to-body="false" :modal="true" |
| | | :close-on-click-modal="false" :before-close="keyPersonBeforeClose" class="keyPerson-details-box-two"> |
| | | <div class="header"> |
| | | <div> |
| | |
| | | }, |
| | | |
| | | showHouseingTileset (params) { |
| | | if (params.curType == params.type) { |
| | | if (params.type == 'remove') { |
| | | this.$EventBus.$emit('unbindMxClick', this.getAoiByPtStd) |
| | | } else { |
| | | this.$EventBus.$emit('registerMxClick', this.getAoiByPtStd) |
| | |
| | | </div> |
| | | |
| | | <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="car-video-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="car-video-box"> |
| | | <video-loading v-show="videoPlayShow"></video-loading> |
| | | |
| | | <video autoplay controls width="100%" height="100%" ref="videoElement" id="videoElement" |
| | |
| | | <map-search-box></map-search-box> |
| | | |
| | | <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="car-video-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" 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" :visible.sync="drawDialogVisible" :before-close="drawDialogBeforeClose" |
| | | :append-to-body="true" :modal="true" :close-on-click-modal="false" class="video-draw-box"> |
| | | :modal-append-to-body="false" :modal="true" :close-on-click-modal="false" class="video-draw-box"> |
| | | <div v-show="inputpopup"> |
| | | <div>距离:</div> |
| | | <div> |
| | |
| | | <!-- <div class="deleteVideo" v-show="isShowVideo.video1" @click="deleteVideo">关闭</div> --> |
| | | |
| | | <el-dialog :title="dialogTitle" :visible.sync="dialogVisible" :before-close="dialogBeforeClose" :modal="true" |
| | | :append-to-body="true" :close-on-click-modal="false" class="car-video-box"> |
| | | :modal-append-to-body="false" :close-on-click-modal="false" class="car-video-box"> |
| | | <video id="videoElement" autoplay controls width="100%" height="100%" style="object-fit: fill"></video> |
| | | </el-dialog> |
| | | |
| | | <el-dialog title="范围设置" :visible.sync="editRangeVisible" :modal="true" :close-on-click-modal="false" |
| | | :append-to-body="true" class="edit-range-box"> |
| | | :modal-append-to-body="false" class="edit-range-box"> |
| | | <div class="line"> |
| | | <div class="value-name-box">选择范围颜色:</div> |
| | | <div class="pick-color-box"> |