| public/img/bg/jj.png | patch | view | raw | blame | history | |
| src/components/map/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/router/page/index.js | ●●●●● patch | view | raw | blame | history | |
| src/views/activity/components/activityDetail.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/activity/components/drawBtnBox.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/activity/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/activity/index1.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/home/components/rightContainer.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/layout/index.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/video/list.vue | ●●●●● patch | view | raw | blame | history | |
| src/views/video/region.vue | ●●●●● patch | view | raw | blame | history |
public/img/bg/jj.png
src/components/map/index.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 17:00:30 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-03-21 09:53:10 * @LastEditTime: 2023-03-22 16:17:41 * @FilePath: \srs-police-affairs\src\components\map\index.vue * @Description: 公用地图组件 * @@ -480,6 +480,10 @@ that.layerPolylineAdd(params.layerName, params.positions, params.material, params.width, params.params, params.incident) }) this.$EventBus.$on('layerWallAdd', (params) => { that.layerWallAdd(params.layerName, params.positions, params.imgUrl) }) this.$EventBus.$on('getOverLayerID', (params) => { that.getOverLayerID(params.layerName, params.ids, params.cb) }) @@ -916,6 +920,24 @@ layersObjcect[layerName].addOverlay(polyline) }, layerWallAdd (layerName, positions, imgUrl) { if (!layersObjcect[layerName] || layersObjcect[layerName] == null) { this.mapAddLayer(layerName, 'VectorLayer') } let wall = new global.DC.Wall(positions) wall.setStyle({ material: new global.DC.WallImageTrailMaterialProperty({ image: imgUrl, color: global.DC.Namespace.Cesium.Color.fromBytes(255, 226, 97, 200), repeat: { x: 3, y: 1 }, speed: 4 }) }) layersObjcect[layerName].addOverlay(wall) }, /** * @description: 通过ID获取图层 * @return {*} src/router/page/index.js
@@ -90,7 +90,7 @@ { path: 'activity', meta: { title: '安保活动' title: '电子沙盘' }, component: activity }, src/views/activity/components/activityDetail.vue
@@ -1,15 +1,15 @@ <template> <div v-show="dialogVisible" class="activity-details-box"> <div class="title"> 活动详情 详情 <div class="close" @click="closeActivityDetails"></div> </div> <div class="row-box"> <div class="category">活动名称:</div> <div class="category">名称:</div> <div class="category-value">{{ activityDetails.name }}</div> </div> <div class="row-box"> <div class="category">活动时间:</div> <div class="category">时间:</div> <div class="category-value">{{ activityDetails.startTime }} 至 {{ activityDetails.endTime }}</div> </div> <div class="row-box"> @@ -33,11 +33,11 @@ <div class="category-value">{{ activityDetails.number }}</div> </div> <div class="row-box"> <div class="category">活动地点:</div> <div class="category">地点:</div> <div class="category-value">{{ activityDetails.place }}</div> </div> <div class="row-box"> <div class="category">活动内容:</div> <div class="category">内容:</div> <div class="category-value">{{ activityDetails.content }}</div> </div> </div> src/views/activity/components/drawBtnBox.vue
@@ -160,13 +160,17 @@ if (drawLayers == null) { drawLayers = new global.DC.VectorLayer('drawLayers') global.viewer.addLayer(drawLayers) plot = new global.DC.Plot(global.viewer) plot = new global.DC.Plot(global.viewer, { clampToModel: true }) } if (drawArrowLayers == null) { drawArrowLayers = new global.DC.VectorLayer('drawArrowLayers') global.viewer.addLayer(drawArrowLayers) arrowPlot = new global.DC.Plot(global.viewer) arrowPlot = new global.DC.Plot(global.viewer, { clampToModel: true }) } global.viewer.on(global.DC.MouseEventType.CLICK, this.viewerClick) @@ -748,8 +752,8 @@ } }, // 修改活动警车 // id活动id, carId警车id, color颜色, width巡逻路线范围宽度, type线面类型, position坐标 // 修改警车 // idid, carId警车id, color颜色, width巡逻路线范围宽度, type线面类型, position坐标 updateActivityCar (params, overlay) { updateActivityCar(params).then(res => { if (res.data.success) { @@ -768,8 +772,8 @@ }) }, // 修改活动警员 // id活动id, policemanId警察id ,color颜色 // 修改警员 // idid, policemanId警察id ,color颜色 updateActivityPolice (params, overlay) { updateActivityPolice(params).then(res => { if (res.data.success) { src/views/activity/index.vue
@@ -2,9 +2,9 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-03-15 09:15:07 * @LastEditTime: 2023-03-22 16:11:13 * @FilePath: \srs-police-affairs\src\views\activity\index.vue * @Description: 安保活 * @Description: 电子沙盘 * * Copyright (c) 2022 by shuishen 1109946754@qq.com, All Rights Reserved. --> @@ -12,7 +12,7 @@ <template> <div class="activity-page container"> <div v-show="boxShow" class="container-content"> <div class="title">安保活动</div> <div class="title">电子沙盘</div> <div class="search-box"> <div> <div class="category">选择时间:</div> @@ -24,7 +24,7 @@ </div> <div> <div class="category">活动名称:</div> <div class="category">名称:</div> <div class="category-value search-activity"> <input type="text" placeholder="请输入…" v-model="searchActivity" class="category-input" @input="inputChange" /> @@ -42,19 +42,19 @@ <div class="row-title">常规安保</div> <div class="row-content"> <div> <div class="category">活动名称:</div> <div class="category">名称:</div> <div class="category-value">{{ item.name }}</div> </div> <div> <div class="category">申报人数:</div> <div class="category">人数:</div> <div class="category-value">{{ item.number }}</div> </div> <div> <div class="category">活动时间:</div> <div class="category">时间:</div> <div class="category-value">{{ item.startTime }} 至 {{ item.endTime }}</div> </div> <div> <div class="category">活动详情:</div> <div class="category">详情:</div> <div class="category-value">{{ item.content }}</div> </div> </div> @@ -577,7 +577,7 @@ this.getSecurityList(this.currentPage, this.pagesize, this.activityType, this.searchActivity, startTime, endTime) }, // 获取活动列表 // 获取列表 getSecurityList (current, size, type, name, startTime, endTime) { this.loading() var deptId = "" @@ -601,7 +601,7 @@ }) }, // 添加活动图标 // 添加图标 addActivityPoint () { this.activityList.forEach(item => { let positionObj = this.convertBillboardPositionDate(item, 'activity') @@ -640,7 +640,7 @@ }, /** * @description: 点击活动列表活动 * @description: 点击列表 * @param {*} item * @param {*} index * @return {*} @@ -672,20 +672,30 @@ this.showingSecurityId = item.id // 加载当前活动面 // 加载当前面 if (item.activityArea && item.activityArea.length > 0) { let polyGonData = item.activityArea.slice(11, item.activityArea.length - 1) polyGonData = polyGonData.replace(/,/g, ";") polyGonData = polyGonData.replace(/ /g, ",") let newPolyData = polyGonData.split(';').map(item => { let lngOrlat = item.split(',') lngOrlat.push(140) this.$EventBus.$emit('layerPolygonAdd', { layerName: 'polygonLayer', positions: polyGonData, material: global.DC.Namespace.Cesium.Color.fromBytes(139, 195, 74, 100) lngOrlat = lngOrlat.join(',') return lngOrlat }).join(';') console.log(newPolyData, 9599666) this.$EventBus.$emit('layerWallAdd', { layerName: 'polygonWallLayer', positions: newPolyData, imgUrl: '/img/bg/jj.png' }) } // 警员警车列表根据活动deptid筛选 // 警员警车列表根据deptid筛选 // 获取树状警员数据 console.log('item', item.deptId, item) this.getPolicemanTree({ deptId: item.deptId }) @@ -751,7 +761,7 @@ this.getSecurityCarList(this.showingSecurityId, this.policeSwitch, this.polylineBtnSwitch, 'line') }, // 获取活动标绘箭头列表 // 获取标绘箭头列表 getSecurityPlotList (securityId, arrowShow, showType) { arrowsListLayer.clear() this.$refs.DRAWBTNBOX.removeDrawArrow() @@ -883,7 +893,7 @@ }) }, // 获取活动警员分布信息 // 获取警员分布信息 getSecurityPoliceList (securityId, pointShow) { this.$refs.DRAWBTNBOX.removeDraw() @@ -1180,8 +1190,8 @@ }) }, // 活动添加警车和范围 // carId警车id, position坐标, securityId活动id, type线面类型,width缓存范围,color范围颜色 // 添加警车和范围 // carId警车id, position坐标, securityIdid, type线面类型,width缓存范围,color范围颜色 addCarAndRange (params) { addCarAndRange(params).then(res => { if (res.data.success) { @@ -1199,8 +1209,8 @@ }) }, // 活动添加警员 // policemanId警车id, position坐标, securityId活动id, type线面类型 // 添加警员 // policemanId警车id, position坐标, securityIdid, type线面类型 addActivityPolice (params) { addActivityPolice(params).then(res => { if (res.data.success) { @@ -1251,7 +1261,7 @@ // 树形控件选中事件 treeCheckClick (e1, e2) { // 没有选中活动就不展示实时图标 // 没有选中就不展示实时图标 const that = this this.$EventBus.$emit('mapRemoveLayer', { layerName: 'activeHeatLayer', @@ -1308,6 +1318,7 @@ // 清除定时器 if (realPoliceTimer != {}) { for (let item in realPoliceTimer) { console.log(`定时器realPoliceTimer[${item}]关闭了`) clearInterval(realPoliceTimer[item]) } } @@ -1340,6 +1351,7 @@ */ clearLayerIconForMap (layerName) { realPoliceTimer[layerName] && clearInterval(realPoliceTimer[layerName]) console.log(`定时器realPoliceTimer[${layerName}]关闭了`) this.$EventBus.$emit('mapClearLayer', { layerName: layerName, type: 'VectorLayer' @@ -1383,7 +1395,7 @@ } }, // 关闭活动详情弹窗 // 关闭详情弹窗 closeActivityDetails () { this.dialogVisible = false this.polylineBtnSwitch = false @@ -1409,6 +1421,7 @@ // 定时查找实时警力资源 searchRealResources (layerName) { console.log(`定时器realPoliceTimer[${layerName}]开启了`) console.log(`定时器[${layerName}]开启了`) let type = '' if (layerName == 'activityCarLayers') { @@ -1639,8 +1652,8 @@ } }, // 保存活动标绘箭头 // securityId活动id, position坐标, type标绘类型, name多边形名称,color标绘颜色,aera_type多边形类型 // 保存标绘箭头 // securityIdid, position坐标, type标绘类型, name多边形名称,color标绘颜色,aera_type多边形类型 addSecurityPlot (params) { addSecurityPlot(params).then(res => { if (res.data.success) { @@ -1849,7 +1862,7 @@ this.lineEditVisible = false }, // 删除活动标绘接口 // 删除标绘接口 deleteSecurityPlot (id) { deleteSecurityPlot(id).then(res => { if (res.data.success) { @@ -1870,7 +1883,7 @@ }) }, // 删除活动标绘 // 删除标绘 deletePlot () { this.deleteSecurityPlot(this.plotId) this.editPlotVisible = false @@ -2009,6 +2022,7 @@ // 清除定时器 if (realPoliceTimer != {}) { for (let item in realPoliceTimer) { console.log(`定时器realPoliceTimer[${item}]关闭了`) clearInterval(realPoliceTimer[item]) } } @@ -2045,7 +2059,7 @@ }) this.$EventBus.$emit('mapRemoveLayer', { layerName: 'polygonLayer', layerName: 'polygonWallLayer', type: 'VectorLayer' }) src/views/activity/index1.vue
@@ -4,7 +4,7 @@ * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2022-12-29 15:46:00 * @FilePath: \srs-police-affairs\src\views\activity\index.vue * @Description: 安保活动 * @Description: 电子沙盘 * * Copyright (c) 2022 by shuishen 1109946754@qq.com, All Rights Reserved. --> @@ -28,12 +28,12 @@ <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>--> size="small" v-model="selectTime" type="date" placeholder="选择日期" style="width:268px" ></el-date-picker>--> <el-date-picker v-model="selectTime" type="daterange" align="right" unlink-panels format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" :picker-options="pickerOptions" @@ -173,8 +173,8 @@ <div class="category">应急预案:</div> <div class="category-value"> <el-switch v-model="polylineSwitch" @change="switchChange" active-color="#13ce66" inactive-color="#ccc"></el-switch> </div> inactive-color="#ccc"></el-switch> </div> </div> <div class="row-box"> @@ -186,17 +186,17 @@ </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> </div> </div>--> <div class="category">分析范围:</div> <div class="category-value"> <el-input @input="analyseChange" size="mini" type="number" v-model="analyseInput" placeholder="请输入范围" ></el-input> </div> </div>--> <div class="row-box"> <el-button @click="arrangeDraw">预案布置</el-button> src/views/home/components/rightContainer.vue
@@ -58,7 +58,7 @@ <!-- <div class="alert-box" ref="alertBox"> <div class="title" ref="alertBoxTitle"> <div>安保活动</div> <div>电子沙盘</div> <div class="title-tab"> <span :class="{ choosed: acttype == 0 }" @click="actTabClick(0)">正在进行</span>/ <span :class="{ choosed: acttype == 1 }" @click="actTabClick(1)">历史活动</span> src/views/layout/index.vue
@@ -67,16 +67,16 @@ <!-- <div class="userIcon" :class="{on: userOn == true}" @click="openUser"> <div class="userDetail" v-if="isShowUserDetail"> <div class="triangle"></div> <div class="userName">用户名:{{userName}}</div> <div class="userBtn"> <div class="edit" @click="goTOLogin"> > <img src="../../../public/img/editLogin.webp" alt /> <div class="userName">用户名:{{userName}}</div> <div class="userBtn"> <div class="edit" @click="goTOLogin"> > <img src="../../../public/img/editLogin.webp" alt /> </div> <div class="return" @click="goTOFllow">返回引导页</div> </div> <div class="return" @click="goTOFllow">返回引导页</div> </div> </div> </div>--> </div>--> </div> <div class="main-container"> @@ -155,7 +155,7 @@ ] }, { menuName: '安保活动', menuName: '电子沙盘', path: '/layout/activity' }, { src/views/video/list.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-03-08 10:04:26 * @LastEditTime: 2023-03-22 16:21:27 * @FilePath: \srs-police-affairs\src\views\video\list.vue * @Description: 辖区管理 * @@ -207,7 +207,9 @@ if (drawPlotLayers == null) { drawPlotLayers = new global.DC.VectorLayer('drawPlotLayers') global.viewer.addLayer(drawPlotLayers) plot = new global.DC.Plot(global.viewer) plot = new global.DC.Plot(global.viewer, { clampToModel: true }) } }) }, src/views/video/region.vue
@@ -2,7 +2,7 @@ * @Author: shuishen 1109946754@qq.com * @Date: 2022-08-18 16:18:17 * @LastEditors: shuishen 1109946754@qq.com * @LastEditTime: 2023-03-02 16:11:51 * @LastEditTime: 2023-03-22 16:21:34 * @FilePath: \srs-police-affairs\src\views\video\region.vue * @Description: 辖区管理 * @@ -35,9 +35,9 @@ <el-table-column prop="name" label="范围名称" min-width="50%"></el-table-column> <el-table-column prop="extent" label="长度km/面积㎡" min-width="50%"> <!-- <template slot-scope="scope"> <span>{{ scope.row.extent }}</span> <span>千米</span> </template>--> <span>{{ scope.row.extent }}</span> <span>千米</span> </template>--> </el-table-column> <el-table-column prop="id" label="操作" min-width="50%"> <template slot-scope="scope"> @@ -393,7 +393,9 @@ if (rangeLayer == null) { rangeLayer = new global.DC.VectorLayer('rangeLayer') global.viewer.addLayer(rangeLayer) plot = new global.DC.Plot(global.viewer) plot = new global.DC.Plot(global.viewer, { clampToModel: true }) } if (rangeLineLayer == null) { rangeLineLayer = new global.DC.VectorLayer('rangeLineLayer')