shuishen
2022-09-17 0b04ef7abdc517b82f623202c81ac7a3d1234c10
Merge branch 'master' of http://192.168.0.105:10010/r/srs-police-affairs
3 files modified
306 ■■■■■ changed files
src/components/map/index.vue 10 ●●●● patch | view | raw | blame | history
src/views/home/index.vue 291 ●●●●● patch | view | raw | blame | history
src/views/lyout/index.vue 5 ●●●● patch | view | raw | blame | history
src/components/map/index.vue
@@ -317,14 +317,7 @@
            that.flyToPosition(params.siteJd, params.siteWd, params.siteGd = 0, params.siteHeading = 0, params.sitePitch = -90, params.siteRoll = 0, params.time = 3)
        })
    },
    provide () {
        return {
            test: this.test
        }
    },
    updated () {
        this.test()
    },
    methods: {
        /**
         * @description: 全屏控制
@@ -333,7 +326,6 @@
        fullscreenchange () {
            // 最新写法
            const isFullScreen = document.fullscreenElement
            if (isFullScreen) {
                console.log('退出全屏')
                if (document.exitFullscreen) {
src/views/home/index.vue
@@ -75,7 +75,7 @@
                    <div class="two-level">当前16</div>
                </div>
                <div class="echarts-box"></div>
                <div id="EventChangeEcharts" class="echarts-box"></div>
            </div>
            <div class="alert-box">
                <div class="title">
@@ -88,7 +88,7 @@
                    <div class="two-level">555578起</div>
                </div>
                <div class="echarts-box"></div>
                <div id="EventCountEcharts" class="echarts-box"></div>
            </div>
            <div class="crowd-box">
                <div class="title">
@@ -96,7 +96,19 @@
                    <div class="two-level">当前38</div>
                </div>
                <div class="echarts-box"></div>
                <div id="peopleList" class="echarts-box">
                    <el-table
                        :data="arr"
                        stripe
                        style="width: 100%"
                        :header-cell-style="{'text-align':'center'}"
                        :cell-style="{'text-align':'center'}"
                    >
                        <el-table-column prop="type" label="人员类型" width="80"></el-table-column>
                        <el-table-column prop="num" label="人数" width="180"></el-table-column>
                        <el-table-column prop="radio" label="占比" width="100"></el-table-column>
                    </el-table>
                </div>
            </div>
        </div>
@@ -121,7 +133,6 @@
</template>
<script>
export default {
    data () {
        return {
@@ -131,20 +142,285 @@
            phoneLayerShow: false,
            videoLayerShow: false,
            panoramaLayerShow: false,
            arr: [{ 'type': '孤寡老人', 'num': '0', 'radio': '0.00%' }, { 'type': '邪教人员', 'num': '1', 'radio': '2.00%' }, { 'type': '上访人员', 'num': '8', 'radio': '14.00%' }, { 'type': '涉毒', 'num': '15', 'radio': '27.00%' }, { 'type': '留守儿童', 'num': '6', 'radio': '11.00%' }, { 'type': '重点青少年', 'num': '5', 'radio': '9.00%' }]
        }
    },
    created () {
    },
    mounted () {
        this.initPersonEcharts()
        this.initLandEcharts()
        this.initEquipmentEcharts()
        this.initEventChangeEcharts()
        this.initEventCountEcharts()
    },
    updated () {
    },
    methods: {
        navClick (e) {
            this.navType = e.target.dataset.type
        },
        initPersonEcharts () {
            var chartDom = document.getElementById('PersonEcharts')
            var myChart = this.$echarts.init(chartDom)
            var option
            option = {
                xAxis: {
                    type: 'category',
                    data: ['湖北', '上海', '北京', '广东', '浙江'],
                },
                yAxis: {
                    type: 'value',
                    splitLine: {
                        show: true,
                        lineStyle: {
                            color: "rgba(0,0,255,0.1)"
                        }
                    }
                },
                series: [
                    {
                        data: [6414, 4231, 2211, 1231, 881],
                        type: 'bar',
                        itemStyle: {
                            normal: {
                                label: {
                                    show: true,
                                    position: 'top',
                                    textStyle: {
                                        color: '#1a94a8',
                                        fontSize: 16
                                    }
                                }
                            }
                        }
                    }
                ],
                grid: {
                    x: 40,
                    y: 10,
                    x2: 20,
                    y2: 20
                },
            }
            option && myChart.setOption(option)
            window.addEventListener("resize", function () {
                myChart.resize()
            })
        },
        initLandEcharts () {
            var chartDom = document.getElementById('LandEcharts')
            var myChart = this.$echarts.init(chartDom)
            var option
            option = {
                xAxis: {
                    type: 'value',
                    splitLine: {
                        show: true,
                        lineStyle: {
                            color: "rgba(0,0,255,0.1)"
                        }
                    },
                    axisLine: {
                        show: false
                    },
                    axisLabel: {
                        show: false
                    },
                    axisTick: {
                        show: false
                    },
                },
                yAxis: {
                    type: 'category',
                    data: ['公共场所', '学校教培', '机动车维修', '娱乐场所', '寄递业'],
                    axisLine: {
                        show: false
                    },
                    axisTick: {
                        show: false
                    },
                },
                series: [
                    {
                        data: [191, 141, 97, 77, 54],
                        type: 'bar',
                        itemStyle: {
                            normal: {
                                label: {
                                    show: true,
                                    position: 'right',
                                    textStyle: {
                                        color: '#1a94a8',
                                        fontSize: 16
                                    }
                                }
                            }
                        }
                    }
                ],
                grid: {
                    x: 70,
                    y: 10,
                    x2: 10,
                    y2: 20
                },
            }
            option && myChart.setOption(option)
        },
        initEquipmentEcharts () {
            var chartDom = document.getElementById('EquipmentEcharts')
            var myChart = this.$echarts.init(chartDom)
            var option
            option = {
                tooltip: {
                    trigger: 'item'
                },
                legend: {
                    left: '50%',
                    y: 'center',
                    itemGap: 25,
                    textStyle: {
                        color: '#fff'          // 图例文字颜色
                    }
                },
                series: [
                    {
                        name: 'Access From',
                        type: 'pie',
                        radius: ['40%', '70%'],
                        center: ['30%', '60%'],
                        avoidLabelOverlap: false,
                        label: {
                            show: false,
                            position: 'center'
                        },
                        emphasis: {
                            label: {
                                show: true,
                                fontSize: '40',
                                fontWeight: 'bold'
                            }
                        },
                        labelLine: {
                            show: false
                        },
                        data: [
                            { value: 21438, name: '未知' },
                            { value: 4664, name: '固定枪机' },
                            { value: 310, name: '固定球机' },
                            { value: 279, name: '可控球机' },
                            { value: 241, name: '卡口枪击' },
                            { value: 5, name: '云台枪击' }
                        ]
                    }
                ],
                grid: {
                    x: 10,
                    y: 10,
                    x2: 10,
                    y2: 20
                },
            }
            option && myChart.setOption(option)
        },
        initEventChangeEcharts () {
            var chartDom = document.getElementById('EventChangeEcharts')
            var myChart = this.$echarts.init(chartDom)
            var option
            option = {
                xAxis: {
                    type: 'category',
                    data: ['3-26', '3-27', '3-28', '3-29', '3-30', '3-31', '4-1']
                },
                yAxis: {
                    type: 'value',
                    splitLine: {
                        show: true,
                        lineStyle: {
                            color: "rgba(0,0,255,0.1)"
                        }
                    },
                },
                series: [
                    {
                        data: [0, 1, 0, 2, 0, 1, 0],
                        type: 'line'
                    }
                ],
                grid: {
                    x: 30,
                    y: 40,
                    x2: 10,
                    y2: 20
                },
            }
            option && myChart.setOption(option)
        },
        initEventCountEcharts () {
            var chartDom = document.getElementById('EventCountEcharts')
            var myChart = this.$echarts.init(chartDom)
            var option
            option = {
                tooltip: {
                    trigger: 'item'
                },
                legend: {
                    left: '50%',
                    y: 'center',
                    itemGap: 25,
                    textStyle: {
                        color: '#fff'          // 图例文字颜色
                    }
                },
                series: [
                    {
                        name: 'Access From',
                        type: 'pie',
                        radius: ['40%', '70%'],
                        center: ['30%', '60%'],
                        avoidLabelOverlap: false,
                        label: {
                            show: false,
                            position: 'center'
                        },
                        emphasis: {
                            label: {
                                show: true,
                                fontSize: '40',
                                fontWeight: 'bold'
                            }
                        },
                        labelLine: {
                            show: false
                        },
                        data: [
                            { value: 4659154, name: '警情事件' },
                            { value: 916685, name: '警案事件' },
                        ]
                    }
                ],
                grid: {
                    x: 10,
                    y: 10,
                    x2: 10,
                    y2: 20
                },
            }
            option && myChart.setOption(option)
        }
    }
}
@@ -232,7 +508,6 @@
            .echarts-box {
                flex: 1;
                background: blue;
            }
            .sub-tab + .echarts-box {
src/views/lyout/index.vue
@@ -72,10 +72,7 @@
    mounted () {
        this.currentPath = this.$route.path
    },
    // updated () {
    //     this.test()
    // },
    // inject: ["test"],
    methods: {
        /**
         * @description: 路由跳转的事件