<template>
    <div class="box">
        <div class="title">
            <img src="../assets/客户侧总体用能情况分析/图层 2.png" alt="" />
            <p>客户侧总体用能情况分析</p>
            <img src="../assets/客户侧总体用能情况分析/反白稿.png" alt="" />
        </div>
        <div class="containter">
            <div class="left">
                <div class="jrtj">
                    <p class="title">接入统计</p>
                    <div class="insides">
                        <div class="con" v-for="item in tjlist">
                            <img src="../assets/tan/组 3128.png" alt="">
                            <div class="r_con">
                                <p>{{ item.count }}</p>
                                <p>{{ item.name }}</p>
                            </div>
                        </div>
                    </div>
                    <div class="centers">
                        <p>100</p>
                        <p>总接入数量</p>
                        <img src="../assets/tan/组 3129.png" alt="" class="center_img" />
                    </div>
                </div>
                <div class="ssfhzs">
                    <p class="title">实时负荷走势</p>
                    <ul class="typeBox">
                        <li :class="type == '总量' ? 'active' : ''" @click="type = '总量'">
                            总量
                        </li>
                        <li :class="type == '发电' ? 'active' : ''" @click="type = '发电'">
                            发电
                        </li>
                        <li :class="type == '石化' ? 'active' : ''" @click="type = '石化'">
                            石化
                        </li>
                        <li :class="type == '钢铁' ? 'active' : ''" @click="type = '钢铁'">
                            钢铁
                        </li>
                        <li :class="type == '有色' ? 'active' : ''" @click="type = '有色'">
                            有色
                        </li>
                    </ul>
                    <div id="ssfhzs"></div>
                </div>
                <div class="ynl">
                    <p class="title">用能量</p>
                    <!-- <ul class="typeBox">
                        <li :class="type == '电' ? 'active' : ''" @click="type = '电'">
                            电
                        </li>
                        <li :class="type == '水' ? 'active' : ''" @click="type = '水'">
                            水
                        </li>
                        <li :class="type == '蒸汽' ? 'active' : ''" @click="type = '蒸汽'">
                            蒸汽
                        </li>
                    </ul> -->
                    <div id="ynl"></div>
                </div>
            </div>
            <div class="right">
                <div class="tyjg">
                    <p class="title">碳源结构</p>
                    <div id="tyjg">
                        <div class="t_content">
                            <div v-for="(item, index) in controls" :key="index" class="t_con">
                                <p class="t_name">{{ item.name }}</p>
                                <p><span class="t_count">{{ item.count }}</span>
                                    <span class="t_img1" v-if="item.isShow == true">
                                        {{ item.percent }}
                                        <img src="../assets/tan/325数值上升.png" alt="">
                                    </span>
                                    <span class="t_img2" v-else>
                                        {{ item.percent }}%
                                        <img src="../assets/tan/325数值上升 (2).png" alt="">
                                    </span>
                                </p>
                                <p></p>
                            </div>
                            <div>
                                <img src="../assets/tan/组 3141.png" alt="">
                            </div>
                        </div>
                    </div>
                </div>
                <div class="ynflzb">
                    <p class="title">用能分类占比</p>
                    <img src="../assets/客户侧总体用能情况分析/底盘.png" alt="" class="pic" />
                    <div id="ynflzb"></div>
                </div>
                <div class="qyydlpm">
                    <p class="title">企业用电量排名</p>
                    <ul class="list">
                        <li v-for="(item, index) in list" :style="listClass(index)">
                            <p>{{ index + 1 }}</p>
                            <p>{{ item.name }}</p>
                            <p>{{ item.value }}</p>
                        </li>
                    </ul>
                </div>
            </div>
            <div id="map"></div>
            <div class="footer"></div>
        </div>
    </div>
</template>
<script>
// import * as echarts from "echarts";
const fontSizeRem = (size) => {
    const clientWidth =
        window.innerWidth ||
        document.documentElement.clientWidth ||
        document.body.clientWidth;
    if (!clientWidth) return;
    let fontSize = clientWidth / 1920; //尺寸大小
    return size * fontSize;
}
import * as echarts from "echarts";
// import { fontSizeRem } from "../assets/function";
export default {
    data() {
        return {
            res: "日",
            type: "总量",
            tjlist: [
                {
                    name: "工业生产",
                    count: "10",
                },
                {
                    name: "商业楼宇",
                    count: "22",
                },
                {
                    name: "公共建设",
                    count: "18",
                },
                {
                    name: "其他",
                    count: "50",
                },
            ],
            controls: [
                {
                    name: "电(万度)",
                    count: "4566",
                    isShow: true,
                    percent: "10",
                },
                {
                    name: "汽油(万升)",
                    count: "2566",
                    isShow: true,
                    percent: "10",
                },
                {
                    name: "水(万吨)",
                    count: "5566",
                    isShow: false,
                    percent: "10",
                },
                {
                    name: "柴油(万升)",
                    count: "6566",
                    isShow: true,
                    percent: "10",
                },
                {
                    name: "燃气(立方)",
                    count: "7566",
                    isShow: true,
                    percent: "10",
                },
                {
                    name: "煤(吨)",
                    count: "4566",
                    isShow: true,
                    percent: "10",
                },
            ],
            list: [
                {
                    name: "济南综合新能源服务有线公司",
                    value: "236",
                },
                {
                    name: "济南综合新能源服务有线公司",
                    value: "236",
                },
                {
                    name: "济南综合新能源服务有线公司",
                    value: "236",
                },
                {
                    name: "济南综合新能源服务有线公司",
                    value: "236",
                },
                {
                    name: "济南综合新能源服务有线公司",
                    value: "236",
                },
                {
                    name: "济南综合新能源服务有线公司",
                    value: "236",
                },
                {
                    name: "济南综合新能源服务有线公司",
                    value: "236",
                },
                {
                    name: "济南综合新能源服务有线公司",
                    value: "236",
                },
                {
                    name: "济南综合新能源服务有线公司",
                    value: "236",
                },
                {
                    name: "济南综合新能源服务有线公司",
                    value: "236",
                },
            ],
            option: {
                // tooltip: {
                //   trigger: "axis",
                //   axisPointer: {
                //     type: "cross",
                //     label: {
                //       backgroundColor: "#6a7985",
                //     },
                //   },
                // },
                // legend: {
                //     left: "right",
                //     data: [
                //         { icon: "roundRect", name: "昨日" },
                //         { icon: "roundRect", name: "今日" },
                //     ],
                //     textStyle: {
                //         fontSize: 14,
                //         fontFamily: "AlibabaPuHuiTi",
                //         fontWeight: 400,
                //         color: "rgba(255,255,255,0.8)",
                //     },
                // },

                grid: {
                    left: "4%",
                    right: "4%",
                    bottom: "3%",
                    containLabel: true,
                },
                xAxis: [
                    {
                        type: "category",
                        boundaryGap: false,
                        data: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
                        axisLabel: {
                            show: true,
                            interval: 0,
                            textStyle: {
                                fontSize: fontSizeRem(12),
                                fontFamily: "AlibabaPuHuiTi",
                                fontWeight: 400,
                                color: "rgba(255,255,255,0.8)",
                            },
                        },
                    },
                ],
                yAxis: [
                    {
                        type: "value",
                        name: "单位:万吨标煤",
                        nameTextStyle: {
                            color: "#fff",
                            fontSize: fontSizeRem(14),
                            padding: fontSizeRem(10),
                        },
                        axisLabel: {
                            show: true,
                            textStyle: {
                                fontSize: fontSizeRem(14),
                                fontFamily: "AlibabaPuHuiTi",
                                fontWeight: 400,
                                color: "rgba(255,255,255,0.8)",
                            },
                        },
                    },
                ],
                series: [
                    {
                        name: "",
                        type: "line",
                        stack: "Total",
                        smooth: true,
                        lineStyle: {
                            width: fontSizeRem(2),
                            color: "#29F1FA",
                        },
                        showSymbol: false,
                        itemStyle: {
                            color: "#29F1FA",
                        },
                        areaStyle: {
                            opacity: 0.4,
                            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                                {
                                    offset: 0,
                                    color: "rgb(7, 51, 99)",
                                },
                                {
                                    offset: 1,
                                    color: "rgb(7, 67, 103)",
                                },
                            ]),
                        },
                        emphasis: {
                            focus: "series",
                        },
                        data: [220, 402, 231, 134, 190, 230, 120, 240, 360, 400, 397, 360, 300],
                    },
                ],
            },
            option1: {
                // tooltip: {
                //   trigger: "axis",
                //   axisPointer: {
                //     type: "cross",
                //     label: {
                //       backgroundColor: "#6a7985",
                //     },
                //   },
                // },
                legend: {
                    left: "right",
                    data: [
                        { icon: "circle", name: "2022" },
                        { icon: "circle", name: "2023" },
                    ],
                    textStyle: {
                        fontSize: fontSizeRem(14),
                        fontFamily: "AlibabaPuHuiTi",
                        fontWeight: 400,
                        color: "rgba(255,255,255,0.8)",
                    },
                },
                grid: {
                    left: "4%",
                    right: "4%",
                    bottom: "3%",
                    containLabel: true,
                },
                xAxis: [
                    {
                        type: "category",
                        boundaryGap: false,
                        data: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"],
                        axisLabel: {
                            show: true,
                            interval: 0,
                            textStyle: {
                                fontSize: fontSizeRem(12),
                                fontFamily: "AlibabaPuHuiTi",
                                fontWeight: 400,
                                color: "rgba(255,255,255,0.8)",
                            },
                        },
                    },
                ],
                yAxis: [
                    {
                        type: "value",
                        name: "单位:万吨",
                        nameTextStyle: {
                            color: "#fff",
                            fontSize: fontSizeRem(14),
                            padding: 10,
                        },
                        axisLabel: {
                            show: true,
                            textStyle: {
                                fontSize: fontSizeRem(14),
                                fontFamily: "AlibabaPuHuiTi",
                                fontWeight: 400,
                                color: "rgba(255,255,255,0.8)",
                            },
                        },
                    },
                ],
                series: [
                    {
                        name: "2022",
                        type: "line",
                        stack: "Total",
                        smooth: true,
                        lineStyle: {
                            width: fontSizeRem(2),
                            color: "#FDCC00",
                        },
                        showSymbol: false,
                        itemStyle: {
                            color: "#FDCC00",
                        },
                        areaStyle: {
                            opacity: 0.4,
                            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                                {
                                    offset: 0,
                                    color: "rgb(7, 51, 99)",
                                },
                                {
                                    offset: 1,
                                    color: "rgb(7, 67, 103)",
                                },
                            ]),
                        },
                        emphasis: {
                            focus: "series",
                        },
                        data: [220, 402, 231, 134, 190, 230, 120, 240, 360, 400, 397, 360, 300],
                    },
                    {
                        name: "2023",
                        type: "line",
                        // stack: "Total",
                        smooth: true,
                        lineStyle: {
                            width: 2,
                            color: "#1B7EF2",
                        },
                        showSymbol: false,
                        label: {
                            show: true,
                            position: "top",
                        },
                        itemStyle: {
                            color: "#1B7EF2",
                        },
                        areaStyle: {
                            opacity: 0.4,
                            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [
                                {
                                    offset: 0,
                                    color: "rgb(7, 51, 96)",
                                },
                                {
                                    offset: 1,
                                    color: "rgb(9, 58, 117)",
                                },
                            ]),
                        },
                        emphasis: {
                            focus: "series",
                        },
                        data: [220, 302, 181, 234, 210, 290, 150, 120, 160, 200, 221, 200, 175, 120, 150, 180],
                    },
                ],
            },
        };
    },
    methods: {
        listClass(index) {
            if (index == 0) {
                return 'background: url("../assets/客户侧总体用能情况分析/矩形.png");color: #ffdd34;';
            } else if (index == 1) {
                return 'background: url("../assets/客户侧总体用能情况分析/矩形(1).png");color: #fdc;';
            } else if (index == 2) {
                return 'background: url("../assets/客户侧总体用能情况分析/矩形(2).png");color: #FF7734;';
            }
        },
        defineEcharts(dom, option) {
            var chartDom = document.getElementById(dom);
            var myChart = this.$echarts.init(chartDom, null, {
                devicePixelRatio: 10, // 设置为2或更高的值
            });
            myChart.setOption(option);
            window.addEventListener("resize", function () {
                myChart.resize();
            });
        },

        //用能分类占比
        initYnflzb() {
            let getParametricEquation = function (
                startRatio,
                endRatio,
                isSelected,
                isHovered,
                k,
                height
            ) {
                // 计算
                let midRatio = (startRatio + endRatio) / 2;

                let startRadian = startRatio * Math.PI * 2;
                let endRadian = endRatio * Math.PI * 2;
                let midRadian = midRatio * Math.PI * 2;

                // 如果只有一个扇形,则不实现选中效果。
                if (startRatio === 0 && endRatio === 1) {
                    isSelected = false;
                }

                // 通过扇形内径/外径的值,换算出辅助参数 k(默认值 1/3)
                k = typeof k !== "undefined" ? k : 1 / 3;

                // 计算选中效果分别在 x 轴、y 轴方向上的位移(未选中,则位移均为 0)
                let offsetX = isSelected ? Math.cos(midRadian) * 0.1 : 0;
                let offsetY = isSelected ? Math.sin(midRadian) * 0.1 : 0;

                // 计算高亮效果的放大比例(未高亮,则比例为 1)
                let hoverRate = isHovered ? 1.05 : 1;

                // 返回曲面参数方程
                return {
                    u: {
                        min: -Math.PI,
                        max: Math.PI * 3,
                        step: Math.PI / 32,
                    },

                    v: {
                        min: 0,
                        max: Math.PI * 2,
                        step: Math.PI / 20,
                    },

                    x: function (u, v) {
                        if (u < startRadian) {
                            return (
                                offsetX +
                                Math.cos(startRadian) * (1 + Math.cos(v) * k) * hoverRate
                            );
                        }
                        if (u > endRadian) {
                            return (
                                offsetX +
                                Math.cos(endRadian) * (1 + Math.cos(v) * k) * hoverRate
                            );
                        }
                        return offsetX + Math.cos(u) * (1 + Math.cos(v) * k) * hoverRate;
                    },

                    y: function (u, v) {
                        if (u < startRadian) {
                            return (
                                offsetY +
                                Math.sin(startRadian) * (1 + Math.cos(v) * k) * hoverRate
                            );
                        }
                        if (u > endRadian) {
                            return (
                                offsetY +
                                Math.sin(endRadian) * (1 + Math.cos(v) * k) * hoverRate
                            );
                        }
                        return offsetY + Math.sin(u) * (1 + Math.cos(v) * k) * hoverRate;
                    },

                    z: function (u, v) {
                        if (u < -Math.PI * 0.5) {
                            return Math.sin(u);
                        }
                        if (u > Math.PI * 2.5) {
                            return Math.sin(u);
                        }
                        return Math.sin(v) > 0 ? 1 * height : -1;
                    },
                };
            };
            // 生成模拟 3D 饼图的配置项
            let getPie3D = function (pieData, internalDiameterRatio) {
                let series = [];
                let sumValue = 0;
                let startValue = 0;
                let endValue = 0;
                let legendData = [];
                let k =
                    typeof internalDiameterRatio !== "undefined"
                        ? (1 - internalDiameterRatio) / (1 + internalDiameterRatio)
                        : 1 / 3;

                // 为每一个饼图数据,生成一个 series-surface 配置
                for (let i = 0; i < pieData.length; i++) {
                    sumValue += pieData[i].value;

                    let seriesItem = {
                        name:
                            typeof pieData[i].name === "undefined"
                                ? `series${i}`
                                : pieData[i].name,
                        type: "surface",
                        parametric: true,
                        wireframe: {
                            show: false,
                        },
                        pieData: pieData[i],
                        pieStatus: {
                            selected: false,
                            hovered: false,
                            k: k,
                        },
                    };

                    if (typeof pieData[i].itemStyle != "undefined") {
                        let itemStyle = {};

                        typeof pieData[i].itemStyle.color != "undefined"
                            ? (itemStyle.color = pieData[i].itemStyle.color)
                            : null;
                        typeof pieData[i].itemStyle.opacity != "undefined"
                            ? (itemStyle.opacity = pieData[i].itemStyle.opacity)
                            : null;

                        seriesItem.itemStyle = itemStyle;
                    }
                    series.push(seriesItem);
                }

                // 使用上一次遍历时,计算出的数据和 sumValue,调用 getParametricEquation 函数,
                // 向每个 series-surface 传入不同的参数方程 series-surface.parametricEquation,也就是实现每一个扇形。
                for (let i = 0; i < series.length; i++) {
                    endValue = startValue + series[i].pieData.value;
                    console.log(series[i]);
                    series[i].pieData.startRatio = startValue / sumValue;
                    series[i].pieData.endRatio = endValue / sumValue;
                    series[i].parametricEquation = getParametricEquation(
                        series[i].pieData.startRatio,
                        series[i].pieData.endRatio,
                        false,
                        false,
                        k,
                        series[i].pieData.value
                    );

                    startValue = endValue;

                    legendData.push(series[i].name);
                }
                return series;
            };
            // 传入数据生成 option
            const optionsData = [
                {
                    name: "楼宇",
                    value: 4256,
                    itemStyle: {
                        //   opacity: 0.5,
                        color: "#2A71FF",
                    },
                },

                {
                    name: "工业",
                    value: 2356,
                    itemStyle: {
                        //   opacity: 0.5,
                        color: "#00EDFE",
                    },
                },
                {
                    name: "其他",
                    value: 2018,
                    itemStyle: {
                        //   opacity: 0.5,
                        color: "#FEDB4B",
                    },
                },
            ];
            const series = getPie3D(optionsData, 0.8, 240, 28, 26, 0.5);
            series.push({
                name: "pie2d",
                type: "pie",

                label: {
                    show: false,
                    opacity: 1,
                    fontSize: fontSizeRem(14),
                    lineHeight: 20,
                    textStyle: {
                        fontSize: fontSizeRem(14),
                        color: "#fff",
                    },
                },
                labelLine: {
                    length: 30,
                    length2: 30,
                },
                startAngle: -30, //起始角度,支持范围[0, 360]。
                clockwise: false, //饼图的扇区是否是顺时针排布。上述这两项配置主要是为了对齐3d的样式
                radius: ["40%", "60%"],
                //   center: ["30%", "50%"],
                center: ["40%", "50%"],
                data: optionsData,
                itemStyle: {
                    opacity: 0,
                },
            });
            let data = [
                {
                    name: "楼宇",
                    value: "30%",
                },
                {
                    name: "工业",
                    value: "30%",
                },
                {
                    name: "其他",
                    value: "40%",
                },
            ];
            // 准备待返回的配置项,把准备好的 legendData、series 传入。
            let option = {
                legend: {
                    show: true,
                    tooltip: {
                        show: false,
                    },
                    orient: "vertical",
                    data: data,
                    top: "center",
                    itemGap: 14,
                    itemHeight: 8,
                    itemWidth: 17,
                    right: "2%",
                    textStyle: {
                        color: "#fff",
                        fontSize: fontSizeRem(12),
                    },
                    formatter: function (name) {
                        let res = data.filter((v) => v.name === name);
                        res = res[0] || {};
                        let unit = res.unit || "";
                        return name + "    " + res.value + unit;
                    },
                },
                animation: false,
                tooltip: {
                    show: false,
                    formatter: (params) => {
                        if (
                            params.seriesName !== "mouseoutSeries" &&
                            params.seriesName !== "pie2d"
                        ) {
                            return `${params.seriesName
                                }<br/><span style="display:inline-block;margin-right:5px;border-radius:10px;width:10px;height:10px;background-color:${params.color
                                };"></span>${option.series[params.seriesIndex].pieData.value + "%"
                                }`;
                        }
                    },
                    textStyle: {
                        fontSize: fontSizeRem(14),
                    },
                },
                title: {
                    x: "center",
                    top: "20",
                    textStyle: {
                        color: "#fff",
                        fontSize: fontSizeRem(22),
                    },
                },
                // backgroundColor: "#0E3567",
                labelLine: {
                    show: false,
                    lineStyle: {
                        color: "#7BC0CB",
                    },
                    normal: {
                        show: true,
                        length: 10,
                        length2: 10,
                    },
                },
                label: {
                    show: false,
                    // position: "outside",
                    // formatter: "{b} \n{d}%",
                    // textStyle: {
                    //   color: "#fff",
                    //   fontSize: "14px",
                    // },
                },
                xAxis3D: {
                    min: -1,
                    max: 1,
                },
                yAxis3D: {
                    min: -1,
                    max: 1,
                },
                zAxis3D: {
                    min: -1,
                    max: 1,
                },
                grid3D: {
                    show: false,
                    boxHeight: 0.01,
                    //top: '30%',
                    bottom: "50%",
                    left: "-7%",
                    // environment: "rgba(255,255,255,0)",
                    viewControl: {
                        distance: 180,
                        alpha: 25,
                        beta: 60,
                    },
                },
                series: series,
            };
            this.defineEcharts("ynflzb", option);
        },
    },
    mounted() {
        this.defineEcharts("ssfhzs", this.option);
        this.defineEcharts("ynl", this.option1);
        this.initYhhyzb();
        this.initYnflzb();

        var data = [
            {
                name: "南京市",
                value: 1,
            },
            {
                name: "济南市",
                value: 2,
            },
            {
                name: "徐州市",
                value: 3,
            },
            {
                name: "常州市",
                value: 4,
            },
            {
                name: "苏州市",
                value: 5,
            },
            {
                name: "南通市",
                value: 6,
            },
            {
                name: "连云港市",
                value: 7,
            },
            {
                name: "淮安市",
                value: 8,
            },
            {
                name: "盐城市",
                value: 9,
            },
            {
                name: "扬州市",
                value: 10,
            },
            {
                name: "镇江市",
                value: 11,
            },
            {
                name: "泰州市",
                value: 12,
            },
            {
                name: "宿迁市",
                value: 13,
            },
        ];
        var splitList = [
            {
                start: 1,
                end: 1,
                label: "济南市",
                color: "#236da8",
            },
            {
                start: 2,
                end: 2,
                label: "无锡市",
                color: "#2884db",
            },
            {
                start: 3,
                end: 3,
                label: "徐州市",
                color: "#244779",
            },
            {
                start: 4,
                end: 4,
                label: "常州市",
                color: "#246198",
            },
            {
                start: 5,
                end: 5,
                label: "苏州市",
                color: "#2884db",
            },
            {
                start: 6,
                end: 6,
                label: "南通市",
                color: "#2884db",
            },
            {
                start: 7,
                end: 7,
                label: "连云港市",
                color: "#244779",
            },
            {
                start: 8,
                end: 8,
                label: "淮安市",
                color: "#244779",
            },
            {
                start: 9,
                end: 9,
                label: "盐城市",
                color: "#244779",
            },
            {
                start: 10,
                end: 10,
                label: "扬州市",
                color: "#246198",
            },
            {
                start: 11,
                end: 11,
                label: "镇江市",
                color: "#2884db",
            },
            {
                start: 12,
                end: 12,
                label: "泰州市",
                color: "#2884db",
            },
            {
                start: 13,
                end: 13,
                label: "宿迁市",
                color: "#244779",
            },
        ];
        var chartDom = document.getElementById("map");
        var myChart = this.$echarts.init(chartDom, null, {
            devicePixelRatio: 10, // 设置为2或更高的值
        });

        //获取山东地图数据。
        $.get(
            "https://geo.datav.aliyun.com/areas_v3/bound/370000_full.json",
            function (geojson) {
                echarts.registerMap("山东", geojson);
                let option = {
                    series: [
                        {
                            tooltip: {
                                trigger: "item",
                            },
                            name: "山东",
                            type: "map3D",
                            map: "山东",
                            boxDepth: 60, //地图倾斜度
                            regionHeight: 6, //地图厚度
                            label: {
                                show: true, //是否显示市
                                textStyle: {
                                    color: "#fff", //文字颜色
                                    fontSize: 12, //文字大小
                                    fontFamily: "微软雅黑",
                                    backgroundColor: "rgba(0,0,0,0)", //透明度0清空文字背景
                                },
                            },
                            itemStyle: {
                                opacity: 1, // 透明度
                                borderWidth: 1.5, //分界线宽度
                                borderColor: "#0699E4", //分界线颜色
                            },
                            groundplane: {
                                show: true,
                            },
                            data: data,
                            //shading: 'realistic',
                            // 真实感材质相关配置 shading: 'realistic'时有效
                            realisticMaterial: {
                                detailTexture: "#093099", // 纹理贴图
                                textureTiling: 0, // 纹理平铺,1是拉伸,数字表示纹理平铺次数
                                roughness: 0, // 材质粗糙度,0完全光滑,1完全粗糙
                                metalness: 1, // 0材质是非金属 ,1金属
                                roughnessAdjust: 0,
                            },
                            viewControl: {
                                distance: 80, // 地图视角 控制初始大小
                                rotateSensitivity: 1, // 旋转
                                zoomSensitivity: 1, // 缩放
                            },
                        },
                    ],
                    dataRange: {
                        show: false,
                        splitList: splitList,
                    },
                    animation: true,
                };
                myChart.setOption(option);
                myChart.on("click", this.chartClick);
                let chartClick = function (param) {
                    console.log(param);
                    myChart.setOption(option, false);
                    window.addEventListener("resize", function () {
                        myChart.resize();
                    });
                    var selectedPro = param.name;
                    if (!cityProper[selectedPro]) {
                        option.series.splice(1);
                        option.legend = null;
                        option.visualMap = null;
                        myChart.setOption(option, true);
                        return;
                    }
                    //获取点击区域数据
                    $.get(cityProper[selectedPro], function (geojson) {
                        echarts.registerMap(selectedPro, geojson);
                        //根据需求,如果要替换青岛地图,series参数为[0],不替换为[1],其中left、top自己设置。
                        option.series[0] = {
                            name: "",
                            type: "map",
                            map: selectedPro,
                            boxDepth: 80, //地图倾斜度
                            regionHeight: 5, //地图厚度
                            itemStyle: {
                                normal: {
                                    label: {
                                        show: true,
                                    },
                                },
                                emphasis: {
                                    label: {
                                        show: true,
                                    },
                                },
                            },
                            groundplane: {
                                show: false,
                            },
                            data: data,
                            shading: "realistic",
                            // 真实感材质相关配置 shading: 'realistic'时有效
                            realisticMaterial: {
                                detailTexture: "#fff", // 纹理贴图
                                textureTiling: 1, // 纹理平铺,1是拉伸,数字表示纹理平铺次数
                                roughness: 0, // 材质粗糙度,0完全光滑,1完全粗糙
                                metalness: 0, // 0材质是非金属 ,1金属
                                roughnessAdjust: 0,
                            },
                            viewControl: {
                                distance: 100, // 地图视角 控制初始大小
                                rotateSensitivity: 1, // 旋转
                                zoomSensitivity: 1, // 缩放
                            },
                        };
                        myChart.setOption(option);
                    });
                };
            }
        );
    },
    beforeDestroy() {
        //离开页面后,删除屏幕监听,防止监听事件一直存在
        window.removeEventListener("resize", this.getResize);
    },
};
</script>
<style scoped lang="less">
.box {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    color: #fff;

    .title {
        width: 100%;
        height: 76px;
        background: url(../assets/客户侧总体用能情况分析/标题背景.png);
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 10px;

        p {
            width: 527px;
            height: 47px;
            font-size: 44px;
            // font-family: " Alibaba PuHuiTi" 2, " Alibaba PuHuiTi" 20;
            font-weight: 600;
            line-height: 47px;
            letter-spacing: 3px;
            color: #fff;
            margin-left: -60px;
        }

        img:nth-of-type(1) {
            width: 231px;
            height: 59px;
        }

        img:nth-of-type(2) {
            width: 158px;
            height: 28px;
        }
    }

    .containter {
        width: 100%;
        height: 967px;
        display: flex;
        position: relative;
        justify-content: space-between;

        .left {
            width: 436px;
            height: 100%;

            .jrtj {
                height: 294px;
                width: 100%;
                background: url("../assets/客户侧总体用能情况分析/组 3117.png");
                background-size: cover;
                position: relative;
                display: flex;
                flex-direction: column;
                align-items: center;

                .title {
                    position: absolute;
                    left: 160px;
                    width: 144px;
                    height: 36px;
                    font-size: 18;
                    font-weight: 700;
                    color: rgba(255, 255, 255, 0.87);
                    line-height: 36px;
                }

                .centers {
                    width: 217px;
                    height: 126px;
                    position: absolute;
                    left: 50px;
                    top: 36px;
                    // text-align: center;
                    display: block;

                    p:nth-child(1) {
                        width: 81px;
                        height: 25px;
                        font-size: 24;
                        text-align: center;
                        font-weight: 500;
                        color: #29F1FA;
                        line-height: 22px;
                        position: absolute;
                        left: 50px;
                    }

                    p:nth-child(2) {
                        width: 71px;
                        height: 25px;
                        text-align: center;
                        font-size: 12;
                        font-weight: 250;
                        color: #FFFFFF;
                        line-height: 22px;
                    }

                    img {
                        width: 217px;
                        height: 126px;
                    }
                }

                .insides {
                    margin-top: 56px;
                    width: 436px;
                    height: 294px;
                    display: flex;
                    justify-content: space-around;
                    flex-wrap: wrap;
                    position: relative;

                    .con {
                        width: 156px;
                        display: flex;

                        img {
                            width: 50px;
                            height: 60px;
                            display: block;
                        }

                        p:nth-child(1) {
                            color: #fff;
                        }

                        p:nth-child(2) {
                            width: 56px;
                            height: 22px;
                            font-size: 14;
                            // font-family: Alibaba PuHuiTi 2.0, Alibaba PuHuiTi 20;
                            font-weight: 300;
                            color: #7DD9DD;
                            line-height: 22px;
                        }
                    }
                }
            }

            .ssfhzs {
                height: 315px;
                background: url("../assets/客户侧总体用能情况分析/实时负荷走势-框.png");
                background-size: cover;
                margin-top: 6px;
                position: relative;

                .title {
                    position: absolute;
                    left: 160px;
                    width: 144px;
                    height: 36px;
                    font-size: 18px;
                    font-family: "Source Han Sans";
                    font-weight: 700;
                    color: rgba(255, 255, 255, 0.87);
                    line-height: 36px;
                }

                .typeBox {
                    list-style: none;
                    display: flex;
                    position: absolute;
                    top: 54px;
                    right: 20px;
                    // left: 50%;
                    // transform: translateX(-50%);

                    li {
                        width: 39px;
                        height: 21px;
                        background: rgba(29, 29, 29, 0.5);
                        border-radius: 2px 2px 2px 2px;
                        font-size: 14px;
                        border: 1px solid #666666;
                        text-align: center;
                        margin: 2.5px;
                        cursor: pointer;
                    }

                    .active {
                        background: rgba(10, 167, 255, 0.3);
                        border: 1px solid #0aa7ff;
                    }
                }

                #ssfhzs {
                    position: absolute;
                    width: 100%;
                    height: 200px;
                    bottom: 10px;
                }
            }

            .ynl {
                height: 325px;
                background: url("../assets/客户侧总体用能情况分析/用能量-框.png");
                background-size: cover;
                margin-top: 6px;

                position: relative;

                .title {
                    position: absolute;
                    left: 190px;
                    width: 144px;
                    height: 36px;
                    font-size: 18px;
                    // font-family: "Source Han Sans";
                    font-weight: 700;
                    color: rgba(255, 255, 255, 0.87);
                    line-height: 36px;
                }

                .typeBox {
                    list-style: none;
                    display: flex;
                    position: absolute;
                    top: 54px;
                    left: 50%;
                    transform: translateX(-50%);

                    li {
                        width: 39px;
                        height: 21px;
                        background: rgba(29, 29, 29, 0.5);
                        border-radius: 2px 2px 2px 2px;
                        font-size: 14px;
                        border: 1px solid #666666;
                        text-align: center;
                        margin: 2.5px;
                        cursor: pointer;
                    }

                    .active {
                        background: rgba(10, 167, 255, 0.3);
                        border: 1px solid #0aa7ff;
                    }
                }

                #ynl {
                    position: absolute;
                    width: 100%;
                    height: 200px;
                    bottom: 10px;
                }
            }
        }

        .right {
            width: 436px;
            height: 100%;

            .tyjg {
                height: 294px;
                width: 100%;
                background: url("../assets/tan/组\ 3142.png");
                background-size: cover;
                position: relative;

                .title {
                    position: absolute;
                    left: 160px;
                    width: 144px;
                    height: 36px;
                    font-size: 18px;
                    font-family: "Source Han Sans";
                    font-weight: 700;
                    color: rgba(255, 255, 255, 0.87);
                    line-height: 36px;
                }

                #tyjg {
                    width: 100%;
                    height: 100%;

                    .t_content {
                        width: 100%;
                        display: flex;
                        justify-content: flex-start;
                        flex-wrap: wrap;
                    }

                    .t_con {
                        width: 106px;
                        height: 52px;
                        margin-left: 20px;
                        box-shadow: inset 16px 10px 39px 12px #6BFFFE;
                        border-radius: 4px 4px 4px 4px;
                        opacity: 1;
                        border: 1px solid #061A4D;
                    }
                }
            }

            .ynflzb {
                height: 294px;
                width: 100%;
                background: url("../assets/客户侧总体用能情况分析/组 3117.png");
                background-size: cover;
                position: relative;
                margin-top: 6px;

                .title {
                    position: absolute;
                    left: 160px;
                    width: 144px;
                    height: 36px;
                    font-size: 18px;
                    font-family: "Source Han Sans";
                    font-weight: 700;
                    color: rgba(255, 255, 255, 0.87);
                    line-height: 36px;
                }

                #ynflzb {
                    width: 100%;
                    height: 100%;
                }

                .pic {
                    width: 300px;
                    position: absolute;
                    height: 150px;
                    top: 100px;
                    left: 40px;
                }
            }

            .qyydlpm {
                height: 353px;
                width: 100%;
                background: url("../assets/客户侧总体用能情况分析/组 3119.png");
                background-size: cover;
                position: relative;
                margin-top: 6px;

                .title {
                    position: absolute;
                    left: 160px;
                    width: 144px;
                    height: 36px;
                    font-size: 18px;
                    font-family: "Source Han Sans";
                    font-weight: 700;
                    color: rgba(255, 255, 255, 0.87);
                    line-height: 36px;
                }

                .list {
                    list-style: none;
                    height: 300px;
                    width: 100%;
                    float: left;
                    margin-top: 50px;

                    li {
                        display: flex;
                        justify-content: space-between;
                        align-items: center;
                        padding: 0 30px 0 30px;
                        box-sizing: border-box;
                        margin: 9px;

                        p:nth-of-type(1) {
                            background: url("../assets/客户侧总体用能情况分析/矩形(3).png");
                            width: 24px;
                            height: 16px;
                            line-height: 16px;
                            background: rgba(34, 23, 23, 0.1);
                            border-radius: 0px 0px 0px 0px;
                            opacity: 1;
                            text-align: center;
                            border: 1px solid #b1b1b1;
                            background-size: cover;
                        }

                        p:nth-of-type(2) {
                            width: 190px;
                            height: 12px;
                            font-size: 14px;
                            font-family: "AlibabaPuHuiTi";
                            font-weight: 400;
                            color: rgba(255, 255, 255, 0.8);
                            line-height: 12px;
                        }

                        p:nth-of-type(3) {
                            width: 27px;
                            height: 12px;
                            font-size: 14px;
                            font-family: "AlibabaPuHuiTi";
                            font-weight: 500;
                            color: rgba(255, 255, 255, 0.8);
                            line-height: 12px;
                        }
                    }
                }
            }
        }

        .footer {
            position: absolute;
            width: 994px;
            height: 325px;
            background: url("../assets/客户侧总体用能情况分析/组 3120.png");
            background-size: cover;
            bottom: 10px;
            left: 50%;
            transform: translateX(-50%);
        }

        #map {
            width: 994px;
            position: absolute;
            height: 627px;
            left: 50%;
            transform: translateX(-50%);
            overflow: hidden;
        }
    }
}
</style>