| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 17:00:30 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-06 17:27:53 |
| | | * @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' |
| | | }) |
| | | } |
| | | }, |
| | |
| | | .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 { |
| | |
| | | <el-dialog title="选择警车" :visible.sync="policeChooseCarVisible" :before-close="cancel" :modal="true" |
| | | :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 |
| | |
| | | <el-dialog title="选择警员" :visible.sync="policeChooseVisible" :before-close="cancel" :modal="true" |
| | | :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 |
| | |
| | | <el-dialog title="修改标绘" :visible.sync="editPlotVisible" :modal="true" :close-on-click-modal="false" |
| | | :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 v-model="choosePlotColor" :predefine="predefineColors" size="small"> |
| | | </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 title="新增标绘" :visible.sync="polygonAddVisible" :modal="true" :close-on-click-modal="false" |
| | | :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 |
| | | |
| | |
| | | |
| | | // 保存标绘修改 |
| | | 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 |
| | | }) |
| | |
| | | <el-dialog :title="lineEditTitle" :visible.sync="lineEditVisible" :modal="true" :close-on-click-modal="false" |
| | | :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"> |
| | | <input type="text" v-model="lineWidth" placeholder="请输入..." /> |
| | |
| | | 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 |
| | | }, |
| | | |
| | |
| | | securityId: this.showingSecurityId, |
| | | type: 1, |
| | | color: this.chooseColor, |
| | | width: this.lineWidth |
| | | width: this.lineWidth, |
| | | remark: this.lineRemark |
| | | }) |
| | | }, |
| | | |
| | |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <div> |
| | | <span>作战标绘:</span> |
| | | <ul> |
| | | <li> |
| | | <button @click="drawArrow('attack_arrow', 1)" title="进攻箭头">进攻箭头</button> |
| | | </li> |
| | | <li> |
| | | <button @click="drawArrow('double_arrow', 2)" title="双箭头">双箭头</button> |
| | | </li> |
| | | <li> |
| | | <button @click="drawArrow('fine_arrow', 3)" title="直箭头">直箭头</button> |
| | | </li> |
| | | <li> |
| | | <button @click="drawArrow('tailed_attack_arrow', 4)" title="燕尾箭头">燕尾箭头</button> |
| | | </li> |
| | | <li> |
| | | <button @click="drawThreeArrow('polygon', 'polygon', 'polygon')" title="多边形">多边形</button> |
| | | </li> |
| | | <li> |
| | | <button @click="drawThreeArrow('brokenline', 'brokenline', 'brokenline')" title="折线">折线</button> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <div> |
| | | <span>巡逻路线:</span> |
| | | <ul> |
| | | <li> |
| | | <!-- <el-button |
| | | ></el-button>--> |
| | | <button @click="drawThreeArrow('polyline', 'policecar')" title="巡逻路线"> |
| | | <img src="/img/icon/route1.png" style="height:100%" /> |
| | | </button> |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-03-24 16:36:55 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-06 17:25:00 |
| | | * @LastEditTime: 2023-04-07 09:51:28 |
| | | * @FilePath: \srs-police-affairs\src\views\activity\index.vue |
| | | * @Description: |
| | | * |
| | |
| | | |
| | | methods: { |
| | | activeDeletePolygon () { |
| | | getSecurityPlotList(this.showingSecurityId).then(res => { |
| | | 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) |
| | |
| | | }, |
| | | |
| | | activeDeleteLineOrPoint (type) { |
| | | const securityId = this.showingSecurityId |
| | | if (type == 'policeman') { |
| | | getSecurityPoliceList(this.showingSecurityId).then(res => { |
| | | getSecurityPoliceList(securityId).then(res => { |
| | | this.chooseActivityPoliceManList = res.data.data.filter(item => item.type == 3) |
| | | }) |
| | | } else { |
| | | getSecurityCarList(this.showingSecurityId).then(res => { |
| | | getSecurityCarList(securityId).then(res => { |
| | | this.chooseActivityPoliceCarList = res.data.data.filter(item => item.type == 3) |
| | | this.chooseActivityLineList = res.data.data.filter(item => item.type == 1) |
| | | }) |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2023-01-13 15:52:59 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-06 17:52:48 |
| | | * @LastEditTime: 2023-04-06 18:10:22 |
| | | * @FilePath: \srs-police-affairs\src\views\home\components\bottomContainer.vue |
| | | * @Description: |
| | | * |
| | |
| | | </ul> |
| | | |
| | | <!-- <vue-seamless-scroll v-if="policeSituationRealtimeArr.length > 0" :data="policeSituationRealtimeArr" |
| | | class="warp" :class-option="classOption"> --> |
| | | 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-table-column :show-overflow-tooltip="true" prop="BJLX" label="报警类型"></el-table-column> |
| | | <el-table-column :show-overflow-tooltip="true" prop="position" label="坐标" width="60"> |
| | | <template slot-scope="scope"> |
| | | <el-button v-show="position == '有'" @click.stop="policeSituationClick(scope.row)" type="text" |
| | | size="small" title="定位"> |
| | | <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> |
| | |
| | | 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 } |
| | |
| | | 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 } |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2023-04-06 17:55:01 |
| | | * @LastEditTime: 2023-04-06 18:13:00 |
| | | * @FilePath: \srs-police-affairs\src\views\house\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | }, |
| | | |
| | | showHouseingTileset (params) { |
| | | if (params.curType == params.type) { |
| | | if (params.type == 'remove') { |
| | | this.$EventBus.$emit('unbindMxClick', this.getAoiByPtStd) |
| | | } else { |
| | | this.$EventBus.$emit('registerMxClick', this.getAoiByPtStd) |