shuishen
2023-04-09 85fb13abbeadc1765d2c0056ba99c6c19aa35dfd
src/views/activity/components/publicIndex.vue
@@ -321,6 +321,7 @@
                this.$parent.normalPeopleList = res.data.data.filter(item => item.type == 6)
                this.$parent.protectedPeopleList = res.data.data.filter(item => item.type == 7)
                this.$parent.dangerousPeopleList = res.data.data.filter(item => item.type == 8)
                this.$parent.customList = res.data.data.filter(item => item.type == 11)
                // 作战标绘
                this.$parent.attackArrowList = res.data.data.filter(item => item.type == 1)
@@ -331,11 +332,11 @@
                this.$parent.borkenList = res.data.data.filter(item => item.type == 10)
                this.isHaveArrow = res.data.data.some(item => {
                    return item.type != 6 && item.type != 7 && item.type != 8
                    return item.type != 6 && item.type != 7 && item.type != 8 && item.type != 11
                })
                this.isHavePointDraw = res.data.data.some(item => {
                    return item.type == 6 || item.type == 7 || item.type == 8
                    return item.type == 6 || item.type == 7 || item.type == 8 || item.type == 11
                })
                let allData = res.data.data
@@ -363,13 +364,20 @@
                    } else if (item.type == 5) {
                        this.initLayersCoverage('Polygon', color, item, position, altitude)
                        continue
                    } else if (item.type == 6 || item.type == 7 || item.type == 8) {
                    } else if (item.type == 6 || item.type == 7 || item.type == 8 || item.type == 11) {
                        let iconImgName = item.type == 6 ? 'ptqz' : item.type == 7 ? 'bhdx' : 'wxrw'
                        let icon = ''
                        if (item.type == 11) {
                            icon = item.iconUrl
                        } else {
                            icon = `/img/icon/${iconImgName}.png`
                        }
                        const height = item.altitude.split(',')
                        position = position.split(';')[0].split(',')
                        let chooseArrow = new global.DC.Billboard(new global.DC.Position(Number(position[0]), Number(position[1]), Number(height[0])), `/img/icon/${iconImgName}.png`)
                        let chooseArrow = new global.DC.Billboard(new global.DC.Position(Number(position[0]), Number(position[1]), Number(height[0])), icon)
                        chooseArrow.customType = 'billboard'
                        chooseArrow.setStyle({
                            color: color.curColor,
@@ -377,6 +385,8 @@
                        chooseArrow.attrParams = { id: item.id, color: item.color, item }
                        chooseArrow.size = [32, 32]
                        chooseArrow.on(global.DC.MouseEventType.CLICK, this.reeditArrowClick)
                        chooseArrow.on(global.DC.MouseEventType.MOUSE_OVER, this.pointMouseOver)
                        chooseArrow.on(global.DC.MouseEventType.MOUSE_OUT, this.pointMouseOut)
                        pointCircleCarLayer.addOverlay(chooseArrow)
                    } else if (item.type == 10) {
                        this.initLayersCoverage('Polyline', color, item, position, altitude)
@@ -406,7 +416,7 @@
        },
        initLayersCoverage (type, color, params, position, altitude) {
            if (altitude.length) position = position.split(';').map((item, index) => `${item},${altitude[index]}`).join(';')
            if (altitude && altitude.length) position = position.split(';').map((item, index) => `${item},${altitude[index]}`).join(';')
            let coverage = new global.DC[type](position)
            if (type == 'Polygon') {
@@ -442,6 +452,7 @@
            }
            coverage.attrParams = { id: params.id, color: params.color, item: params }
            coverage.on(global.DC.MouseEventType.CLICK, this.reeditArrowClick)
            arrowsListLayer.addOverlay(coverage)
            return coverage
@@ -533,17 +544,29 @@
        pointMouseOver (e) {
            this.$store.commit('SET_ACTIVITYPOLICEPOPUP', true)
            let hoverData = {}
            if ('carId' in e.overlay.attrParams.data) {
                hoverData = policecarOption.filter(item => item.value == e.overlay.attrParams.data.carId)[0]
                hoverData.policeData = { 'name': 'none' }
                hoverData.policeStationName = 'none'
            hoverData.billboard = false
            if (e.overlay.attrParams.item.type == 6 || e.overlay.attrParams.item.type == 7 || e.overlay.attrParams.item.type == 8 || e.overlay.attrParams.item.type == 11) {
                hoverData.billboard = true
            } else {
                let policeArr = this.filterTree(this.policeTreeData)
                hoverData.policeData = policeArr.filter(item => item.id == e.overlay.attrParams.data.policemanId)[0]
                hoverData.policeStationName = policeArr.filter(item => item.id == policeArr.filter(item => item.id == e.overlay.attrParams.data.policemanId)[0].parentId)[0].name
                hoverData.carType = 'none'
                hoverData.label = 'none'
                if ('carId' in e.overlay.attrParams.data) {
                    hoverData = policecarOption.filter(item => item.value == e.overlay.attrParams.data.carId)[0]
                    hoverData.policeData = { 'name': 'none' }
                    hoverData.policeStationName = 'none'
                } else {
                    let policeArr = this.filterTree(this.policeTreeData)
                    hoverData.policeData = policeArr.filter(item => item.id == e.overlay.attrParams.data.policemanId)[0]
                    hoverData.policeStationName = policeArr.filter(item => item.id == policeArr.filter(item => item.id == e.overlay.attrParams.data.policemanId)[0].parentId)[0].name
                    hoverData.carType = 'none'
                    hoverData.label = 'none'
                }
            }
            hoverData.Data = e.overlay.attrParams
            console.log(hoverData, 95999)
            this.$store.commit('SET_ACTIVITYPOLICEPOPUPDATA', hoverData)
            var popup = new global.DC.DivForms(global.viewer, {
@@ -760,7 +783,7 @@
            let positionArr = positionStr.split(" ")
            let positionObj = {}
            if (iconName == 'activity') {
                positionObj = { lng: `${positionArr[0]}`, lat: `${positionArr[1]}`, alt: data.altitude, url: '/img/icon/activity.png' }
                positionObj = { lng: `${positionArr[0]}`, lat: `${positionArr[1]}`, alt: data.altitude, url: '/img/icon/activity.png', data: data }
            } else if (iconName == 'policeman') {
                positionObj = { lng: `${positionArr[0]}`, lat: `${positionArr[1]}`, alt: data.altitude, url: '/img/icon/police-people.png', data: data }
            } else if (iconName == 'policecar') {