shuishen
2023-02-16 b7e18c3ae6c1af7be7b0066fe84f2ee040f21622
模型添加更改,视频更改
4 files modified
149 ■■■■ changed files
src/api/video/index.js 6 ●●●● patch | view | raw | blame | history
src/components/map/index.vue 22 ●●●●● patch | view | raw | blame | history
src/views/house/index.vue 56 ●●●●● patch | view | raw | blame | history
src/views/video/region.vue 65 ●●●● patch | view | raw | blame | history
src/api/video/index.js
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-11-15 15:10:41
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-09 14:50:58
 * @LastEditTime: 2023-02-16 11:51:45
 * @FilePath: \srs-police-affairs\src\api\video\index.js
 * @Description: 
 * 
@@ -58,7 +58,7 @@
 * @param {*} params 包含参数 range 参数值参考 116.292735,40.0717; 116.476708, 40.083625; 116.476708, 40.083625; 116.292735, 40.0717
 * @returns 
 */
export const getRegionList = (page = 1, count = 15, range) => {
export const getRegionList = (page = 1, count = 15, id) => {
    return request({
        url: '/device/query/SpatialQueryList',
        method: 'get',
@@ -66,7 +66,7 @@
        params: {
            page,
            count,
            range
            id
        }
    })
}
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-02-15 16:02:40
 * @LastEditTime: 2023-02-16 15:16:48
 * @FilePath: \srs-police-affairs\src\components\map\index.vue
 * @Description: 公用地图组件
 * 
@@ -242,23 +242,6 @@
                    pitch: global.DC.Namespace.Cesium.Math.toRadians(-90),
                    roll: 0.0
                }
            })
            let sqTitleLayer = new global.DC.TilesetLayer('sqTitleLayer')
            global.viewer.addLayer(sqTitleLayer)
            let sqTileset = new global.DC.Tileset(
                // 内网
                'http://10.141.11.11:18080/sf3d/361102/model/wanda/tileset.json'
                // 外网
                // 'http://192.168.0.112:18080/sf3d/361102/model/wanda/tileset.json'
            )
            sqTileset.setHeight(-72)
            sqTitleLayer.addOverlay(sqTileset)
            sqTileset.on(global.DC.MouseEventType.CLICK, (e) => {
                // console.log(e, e.wgs84Position.alt, 989999)
                that.$EventBus.$emit('stdgetAoiByPt', { lng: e.wgs84Position.lng, lat: e.wgs84Position.lat, height: e.wgs84Position.alt })
            })
            let positions = [[117.951478782, 28.447896798, 0], [117.951469798, 28.447894686, 0], [117.951397357, 28.447698099, 0], [117.951505114, 28.447674695, 0], [117.951485465, 28.447619271, 0], [117.951706955, 28.447558541, 0], [117.951722755, 28.447611995, 0], [117.951834021, 28.447588427, 0], [117.951896863, 28.447789523, 0], [117.951478782, 28.447896798, 0]]
@@ -776,8 +759,7 @@
                shadows: global.DC.Namespace.Cesium.ShadowMode.DISABLED
            })
            tilesetObject[titlesetName].setHeight(5)
            tilesetObject[titlesetName].setHeight(-72)
            tilesetLayer.addOverlay(tilesetObject[titlesetName])
src/views/house/index.vue
@@ -2,7 +2,7 @@
 * @Author: shuishen 1109946754@qq.com
 * @Date: 2022-08-18 16:18:17
 * @LastEditors: shuishen 1109946754@qq.com
 * @LastEditTime: 2023-02-14 10:29:36
 * @LastEditTime: 2023-02-16 15:21:21
 * @FilePath: \srs-police-affairs\src\views\house\index.vue
 * @Description: 小区-栋-层-房屋
 * 
@@ -813,6 +813,8 @@
    },
    mounted () {
        const that = this
        this.$parent.$parent.resize('400px', true)
        this.$nextTick(() => {
@@ -821,10 +823,14 @@
            this.searchHouse = this.$route.query.searchName
            // this.$EventBus.$emit('addMxTileset', {
            //     titlesetName: 'sdTilesetLayer',
            //     titlesetUrl: '/sd/tileset.json'
            // })
            this.$EventBus.$emit('addMxTileset', {
                titlesetName: 'sdTilesetLayer',
                // 内网
                titlesetUrl: 'http://10.141.11.11:18080/sf3d/361102/model/wanda/tileset.json',
                incident: that.getAoiByPtStd
                // 外网
                //titlesetUrl: 'http://192.168.0.112:18080/sf3d/361102/model/wanda/tileset.json'
            })
            if (wallLayer == null) {
@@ -832,12 +838,6 @@
                global.viewer.addLayer(wallLayer)
            }
        })
        const that = this
        this.$EventBus.$on('stdgetAoiByPt', (params) => {
            that.getAoiByPtStd(params.lng, params.lat, params.height, '361102', '0.00001')
        })
    },
    updated () {
@@ -1520,27 +1520,33 @@
        },
        // 大搜点查询
        getAoiByPtStd (lng, lat, height, adcode, tolerance) {
            getAoiByPt(lng, lat, height, adcode, tolerance).then(res => {
                let bgId = res.data.data.properties.ijnnl
                getSearchExtensively('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', '', bgId).then(async res => {
                    let chooseBuildItem = []
                    this.buildingList.forEach(item => {
                        if (item.build_id == res.data.result[0].cid) {
                            chooseBuildItem = item
                        }
        getAoiByPtStd (e) {
            getAoiByPt(
                e.wgs84Position.lng,
                e.wgs84Position.lat,
                e.wgs84Position.alt,
                '361102',
                '0.00001').then(res => {
                    let bgId = res.data.data.properties.ijnnl
                    getSearchExtensively('ebf48ecaa1fd436fa3d40c4600aa051f', '361100', '', bgId).then(async res => {
                        let chooseBuildItem = []
                        this.buildingList.forEach(item => {
                            if (item.build_id == res.data.result[0].cid) {
                                chooseBuildItem = item
                            }
                        })
                        this.buildingClick(chooseBuildItem, [[e.wgs84Position.lng, e.wgs84Position.lat], e.wgs84Position.alt])
                    })
                    this.buildingClick(chooseBuildItem, [[lng, lat], height])
                })
            })
        },
    },
    destroyed () {
        // this.$EventBus.$emit('removeMxTileset', {
        //     titlesetName: 'sdTilesetLayer'
        // })
        this.$EventBus.$emit('removeMxTileset', {
            titlesetName: 'sdTilesetLayer'
        })
        this.$store.commit('SET_DETAILSPOPUP', {
            showBox: false,
            showBtn: false
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-01-11 15:34:00
 * @LastEditTime: 2023-02-16 14:44:11
 * @FilePath: \srs-police-affairs\src\views\video\region.vue
 * @Description: 辖区管理
 * 
@@ -557,6 +557,9 @@
                layerName: 'rangeLayer',
                type: 'VectorLayer'
            })
            console.log(this.saveRangeList, 9999666)
            this.saveRangeList.forEach(item => {
                let positionStr = this.convertPositionDate(item.positions, 'polygon')
                let polygonName = 'polygon' + item.id
@@ -568,33 +571,37 @@
                    ),
                    polygonName: polygonName
                })
                if (item.type == '1') {
                    let positionStr = this.convertPositionDate(item.patrol, 'line')
                    this.$EventBus.$emit('layerPolylineAdd', {
                        layerName: 'rangeLayer',
                        positions: positionStr,
                        material: global.DC.Color.YELLOW.withAlpha(0.8),
                        width: 1,
                    })
                }
                let polygonLine = this.convertPositionDate(item.patrol, 'line')
                this.$EventBus.$emit('layerPolylineAdd', {
                    layerName: 'rangeLayer',
                    positions: polygonLine,
                    material: global.DC.Color.YELLOW.withAlpha(0.8),
                    width: 1,
                })
                console.log(positionStr, polygonLine, 456)
            })
        },
        convertPositionDate (data, type) {
            let positionStr = data
            positionStr = data.slice(11, positionStr.length - 1)
            let positionArr = positionStr.split(",")
            if (type == 'polygon') {
                positionArr = positionArr.slice(0, positionArr.length - 1)
                positionStr = positionStr.replace(/,/g, ";")
                positionStr = positionStr.replace(/ /g, ",")
                return positionStr
            } else {
                positionStr = data.slice(11, positionStr.length - 1)
                let positionArr = positionStr.split(",")
                let positionNewStr = ''
                positionArr.forEach(item => {
                    let lng = item.split(' ')[0]
                    let lat = item.split(' ')[1]
                    positionNewStr += lng + ',' + lat + ';'
                })
                return positionNewStr
            }
            let positionNewStr = ''
            positionArr.forEach(item => {
                let lng = item.split(' ')[0]
                let lat = item.split(' ')[1]
                positionNewStr += lng + ',' + lat + ';'
            })
            return positionNewStr
        },
        async getDevices (channelId) {
@@ -630,6 +637,7 @@
        rowClick (row) {
            // if (this.saveRangeID == row.id) return
            console.log(row, 959)
            this.saveRangeID = row.id
            this.isShowVideo = {
@@ -652,25 +660,18 @@
                type7: '',
                type8: ''
            }
            let positionStr = ''
            positionStr = row.positions.slice(11, positionStr.length - 1)
            let positionArr = []
            positionArr = positionStr.split(",")
            let positionNewStr = ''
            positionArr.forEach(item => {
                let lng = item.split(' ')[0]
                let lat = item.split(' ')[1]
                positionNewStr += lng + ',' + lat + ';'
            })
            getRegionList(1, 150, positionNewStr).then(res => {
            getRegionList(1, 20, row.id).then(res => {
                let monitorData = res.data.data.list
                console.log(res.data.data.list, 123)
                this.monitoringList = res.data.data.list
                this.$EventBus.$emit('mapRemoveLayer', {
                    layerName: 'monitoringLayers',
                    type: 'VectorLayer'
                })
                this.initMonitoringIcon()
                this.monitorOption = []
                monitorData.forEach((item, index) => {
                    let flvUrl = ''