Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 17:00:30 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-09-21 10:13:38 |
| | | * @LastEditTime: 2022-09-22 08:46:54 |
| | | * @FilePath: \srs-police-affairs\src\components\map\index.vue |
| | | * @Description: 公用地图组件 |
| | | * |
| | |
| | | that.layerShow(params.layerName, params.flag) |
| | | }) |
| | | |
| | | this.$EventBus.$on('flyToPosition', (params) => { |
| | | that.flyToPosition(params.siteJd, params.siteWd, params.siteGd, params.siteHeading, params.sitePitch, params.siteRoll, params.time) |
| | | this.$EventBus.$on('toPosition', (params) => { |
| | | that.toPosition(params.siteJd, params.siteWd, params.siteGd, params.siteHeading, params.sitePitch, params.siteRoll, params.time) |
| | | }) |
| | | |
| | | |
| | |
| | | that.removeMxTileset(params.titlesetName, params.incident) |
| | | }) |
| | | |
| | | this.$EventBus.$emit('addMxTileset', { |
| | | titlesetName: 'sdOrrTilesetLayer', |
| | | titlesetUrl: "/sd/tileset.json", |
| | | incident: this.tilesetClick |
| | | }) |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | * @param {*} siteRoll 翻转角度,默认0 |
| | | * @param {*} time 飞行时间,默认3秒 |
| | | */ |
| | | flyToPosition (siteJd, siteWd, siteGd = 2000, siteHeading = 0, sitePitch = -90, siteRoll = 0, time = 3) { |
| | | toPosition (siteJd, siteWd, siteGd = 2000, siteHeading = 0, sitePitch = -90, siteRoll = 0, time = 3) { |
| | | global.viewer.flyToPosition( |
| | | new global.DC.Position( |
| | | Number(siteJd), |
| | |
| | | |
| | | // global.viewer.flyTo(tilesetObject[titlesetName]) |
| | | |
| | | this.flyToPosition(116.027212, 28.678499, 600, -3, -45) |
| | | this.toPosition(116.027212, 28.678499, 600, -3, -45) |
| | | |
| | | tilesetObject[titlesetName].on(global.DC.MouseEventType.CLICK, incident) |
| | | }, |
| | |
| | | flex: 1; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .phone-details-box { |
| | | .el-dialog { |
| | | margin: 0 !important; |
| | | display: flex; |
| | | flex-direction: column; |
| | | width: 320px; |
| | | height: 220px; |
| | | top: 50%; |
| | | left: 50% !important; |
| | | transform: translate(-50%, -50%); |
| | | |
| | | .el-dialog__body { |
| | | flex: 1; |
| | | } |
| | | } |
| | | } |
| | |
| | | .scale-bar { |
| | | border-color: #000 !important; |
| | | } |
| | | } |
| | | |
| | | .dc-location-bar { |
| | | left: 50% !important; |
| | | transform: translate(-50%, 0); |
| | | } |
| | | |
| | | .dc-zoom-controller { |
| | | top: auto !important; |
| | | bottom: 56px !important; |
| | | right: 20px !important; |
| | | width: 36px !important; |
| | | height: auto !important; |
| | | border-radius: 5px !important; |
| | | background: #fff !important; |
| | | z-index: 101 !important; |
| | | |
| | | &>div { |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | width: 36px !important; |
| | | height: 36px !important; |
| | | |
| | | |
| | | svg { |
| | | width: 20px !important; |
| | | height: 20px !important; |
| | | fill: #666 !important; |
| | | } |
| | | } |
| | | } |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-09-21 12:03:05 |
| | | * @LastEditTime: 2022-09-22 08:48:28 |
| | | * @FilePath: \srs-police-affairs\src\views\home\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | ></iframe> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | :title="phoneTitle" |
| | | :modal="true" |
| | | :visible.sync="phoneVisible" |
| | | :before-close="phoneBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="phone-details-box" |
| | | > |
| | | <div style="flex: 1; display: flex; flex-direction: column; width: 100%; height: 100%;"> |
| | | <div style="display: flex; justify-content: space-between; align-items: center;"> |
| | | <div>责任人:</div> |
| | | <div>{{phoneDetails.person}}</div> |
| | | </div> |
| | | <div |
| | | style="flex: 1; display: flex; justify-content: space-between; align-items: center;" |
| | | > |
| | | <div>联系方式:</div> |
| | | <div>{{phoneDetails.phoneID}}</div> |
| | | </div> |
| | | <div |
| | | style="flex: 1; display: flex; justify-content: space-between; align-items: center;" |
| | | > |
| | | <div>手台类型:</div> |
| | | <div>{{phoneDetails.phoneType}}</div> |
| | | </div> |
| | | <div |
| | | style="flex: 1; display: flex; justify-content: space-between; align-items: center;" |
| | | > |
| | | <div>所在地址:</div> |
| | | <div>{{phoneDetails.location}}</div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | data () { |
| | | return { |
| | | navType: 0, |
| | | houseLayerShow: false, |
| | | houseLayerShow: true, |
| | | carLayerShow: false, |
| | | phoneLayerShow: false, |
| | | monitoringLayerShow: false, |
| | |
| | | dialogVisible: false, |
| | | panoramaTitle: '', |
| | | panoramaVisible: false, |
| | | |
| | | phoneDetails: {}, |
| | | phoneTitle: '', |
| | | phoneVisible: false, |
| | | |
| | | carList: [{ |
| | | name: '1号警车', |
| | |
| | | material: positionColor[index], |
| | | }) |
| | | }) |
| | | |
| | | this.houseChange(true) |
| | | }) |
| | | }, |
| | | updated () { |
| | |
| | | for (let i = 0; i < dataArr.length; i++) { |
| | | regionTotal += dataArr[i].value |
| | | } |
| | | console.log(regionTotal) |
| | | option = { |
| | | title: { |
| | | show: true, |
| | |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'phoneLayers', |
| | | type: "billboard", |
| | | params: item |
| | | params: item, |
| | | incident: this.phoneSiteClick |
| | | }) |
| | | }) |
| | | } else { |
| | |
| | | obj[arr1[i]] = {} |
| | | for (let j = 0; j < arr2.length; j++) { |
| | | let str = arr1[i] + arr2[j] |
| | | console.log('str', str) |
| | | obj[arr1[i]][str] = [] |
| | | for (let k = 0; k < arr3.length; k++) { |
| | | obj[arr1[i]][str].push(str + arr3[k]) |
| | |
| | | this.panoramaVisible = true |
| | | }, |
| | | |
| | | phoneSiteClick (e) { |
| | | this.phoneTitle = e.overlay.attrParams.name |
| | | this.phoneDetails = e.overlay.attrParams |
| | | this.phoneVisible = true |
| | | }, |
| | | |
| | | phoneBeforeClose () { |
| | | this.phoneVisible = false |
| | | }, |
| | | |
| | | panoramaBeforeClose () { |
| | | this.panoramaVisible = false |
| | | } |
| | |
| | | this.threeChooseData = this.twoChooseData[item1] |
| | | }, |
| | | threeSelected (newData, oldData) { |
| | | if (newData != '' && this.houseLayerShow == false) { |
| | | this.houseLayerShow = true |
| | | this.houseChange(this.houseLayerShow) |
| | | } |
| | | |
| | | this.$EventBus.$on('flyToPosition', { |
| | | this.$EventBus.$emit('toPosition', { |
| | | siteJd: 116.026912, |
| | | siteWd: 28.683599, |
| | | siteGd: 400 |
| | | }) |
| | | |
| | | if (newData != '' && this.houseLayerShow == false) { |
| | | this.houseLayerShow = true |
| | | this.houseChange(this.houseLayerShow) |
| | | } |
| | | }, |
| | | }, |
| | | |
| | |
| | | type: 'VectorLayer' |
| | | }) |
| | | |
| | | this.$EventBus.$emit('removeMxTileset', { |
| | | titlesetName: 'sdTilesetLayer' |
| | | }) |
| | | if (this.houseLayerShow == false) { |
| | | this.$EventBus.$emit('addMxTileset', { |
| | | titlesetName: 'sdTilesetLayer', |
| | | titlesetUrl: "/sd/tileset.json", |
| | | incident: this.tilesetClick |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | this.$EventBus.$emit('mapClearLayer', { |
| | | layerName: 'carLayers', |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-09-20 18:05:18 |
| | | * @LastEditTime: 2022-09-21 18:07:42 |
| | | * @FilePath: \srs-police-affairs\src\views\house\index.vue |
| | | * @Description: 小区-栋-层-房屋 |
| | | * |
| | |
| | | |
| | | <div class="floor-content"> |
| | | <div class="ridgepole-list"> |
| | | <div v-for="(item, index) in 10" :key="index">{{item}}栋</div> |
| | | <div |
| | | v-for="(item, index) in 10" |
| | | :key="index" |
| | | @click="ridgepoleNum = item" |
| | | >{{item}}栋</div> |
| | | </div> |
| | | <div class="ridgepole-info"> |
| | | <div class="title">楼栋信息</div> |
| | |
| | | <div class="content"> |
| | | <div> |
| | | <div>电梯</div> |
| | | <div>有</div> |
| | | <div>{{ ridgepoleNum != 10 ? '有' : '无' }}</div> |
| | | </div> |
| | | <div> |
| | | <div>楼层总数</div> |
| | | <div>60</div> |
| | | <div>{{ ridgepoleNum != (2 || 6 || 10) ? 54 : 60}}</div> |
| | | </div> |
| | | <div> |
| | | <div>户室总数</div> |
| | | <div>240</div> |
| | | <div>{{ ridgepoleNum != (2 || 6 || 10) ? 200 : 240}}</div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | |
| | | <div class="content"> |
| | | <div class="one"> |
| | | <div> |
| | | <div>31</div> |
| | | <div>{{ ridgepoleNum != (2 || 6 || 10) ? 40 : 60}}</div> |
| | | <div>实有人口</div> |
| | | </div> |
| | | <div> |
| | | <div>12</div> |
| | | <div>{{ ridgepoleNum != (2 || 6 || 10) ? 10 : 15}}</div> |
| | | <div>重点人口</div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="two"> |
| | | <div> |
| | | <div>6</div> |
| | | <div>{{ ridgepoleNum != (2 || 6 || 10) ? 6 : 14}}</div> |
| | | <div>户籍人口</div> |
| | | </div> |
| | | <div> |
| | | <div>18</div> |
| | | <div>{{ ridgepoleNum != (2 || 6 || 10) ? 9 : 22}}</div> |
| | | <div>流动人口</div> |
| | | </div> |
| | | <div> |
| | | <div>7</div> |
| | | <div>{{ ridgepoleNum != (2 || 6 || 10) ? 22 : 8}}</div> |
| | | <div>境外人口</div> |
| | | </div> |
| | | </div> |
| | |
| | | export default { |
| | | data () { |
| | | return { |
| | | ridgepoleNum: 1, |
| | | searchHouse: '', |
| | | navType: 0, |
| | | arr: [ |
| | |
| | | line-height: 26px; |
| | | border-radius: 13px; |
| | | background: #0158a2; |
| | | cursor: pointer; |
| | | } |
| | | } |
| | | |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:24 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-09-21 10:42:58 |
| | | * @LastEditTime: 2022-09-21 17:50:48 |
| | | * @FilePath: \srs-police-affairs\src\views\lyout\index.vue |
| | | * @Description: |
| | | * |
| | |
| | | currentPath: '' |
| | | } |
| | | }, |
| | | |
| | | mounted () { |
| | | this.currentPath = this.$route.path |
| | | }, |
| | |
| | | * @Author: shuishen 1109946754@qq.com |
| | | * @Date: 2022-08-18 16:18:17 |
| | | * @LastEditors: shuishen 1109946754@qq.com |
| | | * @LastEditTime: 2022-09-20 14:56:52 |
| | | * @LastEditTime: 2022-09-21 17:29:25 |
| | | * @FilePath: \srs-police-affairs\src\views\police\index.vue |
| | | * @Description: 辖区管理 |
| | | * |
| | |
| | | ></video> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | | <el-dialog |
| | | :title="phoneTitle" |
| | | :modal="true" |
| | | :visible.sync="phoneVisible" |
| | | :before-close="phoneBeforeClose" |
| | | :close-on-click-modal="true" |
| | | class="phone-details-box" |
| | | > |
| | | <div style="flex: 1; display: flex; flex-direction: column; width: 100%; height: 100%;"> |
| | | <div style="display: flex; justify-content: space-between; align-items: center;"> |
| | | <div>责任人:</div> |
| | | <div>{{phoneDetails.person}}</div> |
| | | </div> |
| | | <div |
| | | style="flex: 1; display: flex; justify-content: space-between; align-items: center;" |
| | | > |
| | | <div>联系方式:</div> |
| | | <div>{{phoneDetails.phoneID}}</div> |
| | | </div> |
| | | <div |
| | | style="flex: 1; display: flex; justify-content: space-between; align-items: center;" |
| | | > |
| | | <div>手台类型:</div> |
| | | <div>{{phoneDetails.phoneType}}</div> |
| | | </div> |
| | | <div |
| | | style="flex: 1; display: flex; justify-content: space-between; align-items: center;" |
| | | > |
| | | <div>所在地址:</div> |
| | | <div>{{phoneDetails.location}}</div> |
| | | </div> |
| | | </div> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | arr2: [], |
| | | dialogTitle: '', |
| | | dialogVisible: false, |
| | | phoneDetails: {}, |
| | | phoneTitle: '', |
| | | phoneVisible: false, |
| | | } |
| | | }, |
| | | created () { |
| | |
| | | }, |
| | | |
| | | getData () { |
| | | for (let i = 0; i < 5; i++) { |
| | | let lng = 116.011126 + Math.random() * 0.005 |
| | | let lat = 28.651340 + Math.random() * 0.005 |
| | | |
| | | let carList = [{ |
| | | carID: '赣E59601', |
| | | carType: '大众', |
| | | name: '1号警车', |
| | | lng: 116.022877, |
| | | lat: 28.685077, |
| | | alt: 100, |
| | | url: '/img/icon/car.png' |
| | | }, { |
| | | carID: '赣E36601', |
| | | carType: '大众', |
| | | name: '2号警车', |
| | | lng: 116.029917, |
| | | lat: 28.685360, |
| | | alt: 100, |
| | | url: '/img/icon/car.png' |
| | | }, { |
| | | carID: '赣E96250', |
| | | carType: '大众', |
| | | name: '3号警车', |
| | | lng: 116.031044, |
| | | lat: 28.679445, |
| | | alt: 100, |
| | | url: '/img/icon/car.png' |
| | | }] |
| | | |
| | | carList.forEach(item => { |
| | | |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'carLayers', |
| | | type: "billboard", |
| | | params: { |
| | | name: `${i}号警车`, |
| | | lng: lng, |
| | | lat: lat, |
| | | alt: 100, |
| | | url: '/img/icon/car.png' |
| | | }, |
| | | params: item, |
| | | incident: this.siteClick |
| | | }) |
| | | |
| | | let carNum = Math.random() * 5000000 + '' |
| | | }) |
| | | |
| | | this.arr.push({ "carID": `#${carNum.slice(0, 6)}`, "carType": "大众", lng: lng, lat: lat, name: `${i}号警车`, url: '/img/icon/car.png' }) |
| | | } |
| | | this.arr = carList |
| | | |
| | | for (let i = 0; i < 5; i++) { |
| | | let lng = 116.011126 + Math.random() * 0.005 |
| | | let lat = 28.651340 + Math.random() * 0.005 |
| | | |
| | | let phoneNum = Math.random() * 500000000 + '' |
| | | this.arr2.push({ "phoneID": `${phoneNum.slice(0, 8)}`, "phoneType": "华为", lng: lng, lat: lat, name: `${i}号手台`, url: '/img/icon/phone.png' }) |
| | | } |
| | | this.arr2 = [{ |
| | | person: "李会军", |
| | | phoneID: 17596842661, |
| | | phoneType: '华为', |
| | | name: '1号手台', |
| | | lng: 116.026804, |
| | | lat: 28.678568, |
| | | alt: 100, |
| | | location: '信州区XXXX大道XXXX路', |
| | | url: '/img/icon/phone.png' |
| | | }, { |
| | | person: "赵志刚", |
| | | phoneID: 17336902661, |
| | | phoneType: '华为', |
| | | name: '2号手台', |
| | | lng: 116.027659, |
| | | lat: 28.678623, |
| | | alt: 100, |
| | | location: '信州区XXXX大道XXXX路', |
| | | url: '/img/icon/phone.png' |
| | | }, { |
| | | person: "王刚", |
| | | phoneID: 17336956501, |
| | | phoneType: '华为', |
| | | name: '3号手台', |
| | | lng: 116.026759, |
| | | lat: 28.680071, |
| | | alt: 100, |
| | | location: '信州区XXXX大道XXXX路', |
| | | url: '/img/icon/phone.png' |
| | | }] |
| | | |
| | | }, |
| | | |
| | |
| | | this.$EventBus.$emit('layerPointAdd', { |
| | | layerName: 'phoneLayers', |
| | | type: "billboard", |
| | | params: { |
| | | name: item.name, |
| | | lng: item.lng, |
| | | lat: item.lat, |
| | | alt: 100, |
| | | url: item.url |
| | | }, |
| | | incident: this.siteClick |
| | | params: item, |
| | | incident: this.phoneSiteClick |
| | | }) |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | rowClick (row) { |
| | | this.$EventBus.$emit('flyToPosition', { |
| | | this.$EventBus.$emit('toPosition', { |
| | | layerName: 'carLayers', |
| | | siteJd: row.lng, |
| | | siteWd: row.lat |
| | |
| | | } |
| | | }, |
| | | |
| | | phoneSiteClick (e) { |
| | | this.phoneTitle = e.overlay.attrParams.name |
| | | this.phoneDetails = e.overlay.attrParams |
| | | this.phoneVisible = true |
| | | }, |
| | | |
| | | dialogBeforeClose () { |
| | | this.$refs.videoElement.pause() |
| | | this.dialogVisible = false |
| | | }, |
| | | |
| | | phoneBeforeClose () { |
| | | this.phoneVisible = false |
| | | } |
| | | }, |
| | | |
| | | destroyed () { |
| | |
| | | }, |
| | | |
| | | rowClick (row) { |
| | | this.$EventBus.$emit('flyToPosition', { |
| | | this.$EventBus.$emit('toPosition', { |
| | | layerName: 'carLayers', |
| | | siteJd: row.lng, |
| | | siteWd: row.lat |