shuishen
2022-10-27 bc98cc82d732df2680aad17d6ec9c7f401c64308
src/views/home/components/leftContainer.vue
@@ -37,20 +37,7 @@
            </div>
            <div id="PersonEcharts" class="echarts-box" v-show="peopletype == 0"></div>
            <div class="peopleTable" v-show="peopletype == 1">
                <el-table
                    :data="peopleArr"
                    style="width: 100%"
                    :header-cell-style="{'text-align':'center','background-color':'#203c60','borderColor':'#324e75'}"
                    :cell-style="{'text-align':'center','borderColor':'#324e75'}"
                    :row-class-name="tableRowClassName"
                >
                    <el-table-column prop="name" label="姓名" width="100"></el-table-column>
                    <el-table-column prop="sex" label="性别" width="50"></el-table-column>
                    <el-table-column prop="age" label="年龄" width="50"></el-table-column>
                    <el-table-column prop="address" label="地址"></el-table-column>
                </el-table>
            </div>
            <div id="keyPersonEcharts" class="peopleTable" v-show="peopletype == 1"></div>
        </div>
        <div class="house-box">
            <div class="title">
@@ -93,6 +80,7 @@
let homePersonmyChart
let houseMyChart
let landMyChart
let keyPersonmyChart
export default {
    data () {
@@ -123,6 +111,28 @@
                { 'housingEastate': '责任区4', 'location': 'XXXXXXXX', 'area': '2555亩', 'superintendent': '王四壮', 'phone': '154XXXX6666' },
                { 'housingEastate': '责任区5', 'location': 'XXXXXX', 'area': '1922亩', 'superintendent': '王美丽', 'phone': '154XXXX6666' },
            ],
            keyPersonDetailArr: [
                { name: '张某某', sex: '女', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '车站派出所', 'housingEastate': '责任区1' },
                { name: '李某某', sex: '男', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '车站派出所', 'housingEastate': '责任区2' },
                { name: '王某某', sex: '女', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '车站派出所', 'housingEastate': '责任区3' },
                { name: '孙某某', sex: '男', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '车站派出所', 'housingEastate': '责任区4' },
                { name: '唐某某', sex: '女', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '沙溪派出所', 'housingEastate': '责任区1' },
                { name: '钟某某', sex: '男', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '沙溪派出所', 'housingEastate': '责任区2' },
                { name: '赵某某', sex: '女', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '沙溪派出所', 'housingEastate': '责任区3' },
                { name: '黄某某', sex: '男', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '沙溪派出所', 'housingEastate': '责任区4' },
                { name: '肖某某', sex: '女', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '北门派出所', 'housingEastate': '责任区1' },
                { name: '曾某某', sex: '男', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '北门派出所', 'housingEastate': '责任区2' },
                { name: '原某某', sex: '女', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '北门派出所', 'housingEastate': '责任区3' },
                { name: '谢某某', sex: '男', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '北门派出所', 'housingEastate': '责任区4' },
                { name: '薛某某', sex: '女', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '灵溪派出所', 'housingEastate': '责任区1' },
                { name: '贾某某', sex: '男', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '灵溪派出所', 'housingEastate': '责任区2' },
                { name: '邓某某', sex: '女', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '灵溪派出所', 'housingEastate': '责任区3' },
                { name: '高某某', sex: '男', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '灵溪派出所', 'housingEastate': '责任区4' },
                { name: '章某某', sex: '女', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '江光派出所', 'housingEastate': '责任区1' },
                { name: '史某某', sex: '男', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '江光派出所', 'housingEastate': '责任区2' },
                { name: '周某某', sex: '女', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '江光派出所', 'housingEastate': '责任区3' },
                { name: '倪某某', sex: '男', 'address': 'XXXXXX', 'phone': '132XXXX6666', 'policeStation': '江光派出所', 'housingEastate': '责任区4' },
            ]
        }
    },
    mounted () {
@@ -131,6 +141,8 @@
        this.inithouseEcharts()
        this.clickPeopleChart()
        this.clickLandChart()
        this.initkeyPersonEcharts()
        this.clickkeyPersonChart()
    },
    methods: {
        initPersonEcharts () {
@@ -466,6 +478,80 @@
            })
        },
        clickkeyPersonChart () {
            keyPersonmyChart.on('click', params => {
                let keyPersonDetailNewArr = []
                this.keyPersonDetailArr.some((item) => {
                    if (item.policeStation == params.name) {
                        keyPersonDetailNewArr.push(item)
                    }
                })
                this.$emit('showkeypersondetail', params.name, keyPersonDetailNewArr)
            })
        },
        initkeyPersonEcharts () {
            var chartDom = document.getElementById('keyPersonEcharts')
            keyPersonmyChart = this.$echarts.init(chartDom)
            var option
            let dataArr = [
                { value: 46, name: '沙溪派出所' },
                { value: 31, name: '灵溪派出所' },
                { value: 27, name: '北门派出所' },
                { value: 24, name: '江光派出所' },
                { value: 10, name: '车站派出所' },
            ]
            option = {
                tooltip: {
                    trigger: 'item'
                },
                legend: {
                    left: '60%',
                    y: '25%',
                    itemGap: 20,
                    textStyle: {
                        color: '#fff'
                    },
                    formatter: function (name) {
                        let data = option.series[0].data
                        let tarValue
                        for (let i = 0; i < data.length; i++) {
                            if (data[i].name == name) {
                                tarValue = data[i].value
                            }
                        }
                        let v = tarValue
                        return `${name}     ${v} 个    `
                    },
                },
                series: [
                    {
                        name: '',
                        type: 'pie',
                        radius: ['40%', '70%'],
                        center: ['27%', '57%'],
                        avoidLabelOverlap: false,
                        label: {
                            show: false,
                            position: 'center'
                        },
                        labelLine: {
                            show: false
                        },
                        data: dataArr
                    }
                ],
                grid: {
                    x: 10,
                    y: 10,
                    x2: 10,
                    y2: 20
                },
            }
            option && keyPersonmyChart.setOption(option)
        },
    }
}
</script>
@@ -501,6 +587,8 @@
        }
        .peopleTable {
            height: calc(100% - 40px);
            height: 250px;
            width: 400px;
            overflow: hidden;
        }
    }