czt
2025-12-25 a1cc1dca3ad00d2ac1b81c54b0f98b3684c31da1
Gis大屏调整及数据交互
已添加3个文件
已修改6个文件
704 ■■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/ChartPie.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/GisData.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/GroupData.java 36 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/group/GroupController.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java 79 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/static/group/gis-chart.js 172 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/static/group/gis.js 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/static/group/index.js 230 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/group/gis.html 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/ChartPie.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.igds.data;
import lombok.Data;
/**
 * @Description
 * @Author CZT
 * @Date 2025/12/25 9:35
 */
@Data
public class ChartPie {
    private String value;
    private String name;
    private String percent;
    public ChartPie() {
        super();
    }
    public ChartPie(String value, String name, String percent) {
        this.value = value;
        this.name = name;
        this.percent = percent;
    }
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/GisData.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,28 @@
package com.fzzy.igds.data;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
 * @Description  gis大屏数据封装
 * @Author CZT
 * @Date 2025/12/25 9:35
 */
@Data
public class GisData {
    private List<ChartPie> deptList = new ArrayList<>();//区县库区数
    private Integer deptNum = 0;    //库区数
    private Double sum = 0.0;       //总重量
    private String sumPer =  "0.0";       //占比
    private Double bankSum = 0.0;   //银行质押重量;
    private String bankSumPer = "0.0";   //占比;
    private Double normalSum = 0.0; //非质押重量;
    private String normalSumPer =  "0.0"; //占比;
}
fzzy-igdss-core/src/main/java/com/fzzy/igds/data/GroupData.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,36 @@
package com.fzzy.igds.data;
import lombok.Data;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
 * @Description ç›‘管信息总览--数量信息封装
 * @Author CZT
 * @Date 2025/11/29 10:56
 */
@Data
public class GroupData implements Serializable {
    /**
     * ç›‘管库区信息
     */
    private Integer companyNum = 0;  //企业个数
    private Integer deptNum = 0;     //库点个数
    private Integer depotNum = 0;    //仓库个数
    private Integer depotCirNum = 0; //筒仓个数
    /**
     * ç›‘管数量
     */
    private String foodSum = "0.000";     //散粮数量(吨)
    private String packFoodSum = "0.000"; //成品粮数量(吨)
    /**
     * åˆ†å“ç§åº“å­˜
     */
    private List<String> xaxis = new ArrayList<>();      //品种柱状图--X轴数据
    private List<String> seriesData = new ArrayList<>(); //品种柱状图--X轴对应数值
}
fzzy-igdss-web/src/main/java/com/fzzy/group/GroupController.java
@@ -2,6 +2,7 @@
import com.fzzy.group.manager.GroupManager;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.GisData;
import com.fzzy.igds.domain.Dept;
import com.fzzy.igds.domain.DicArea;
import com.fzzy.igds.domain.Slogan;
@@ -119,6 +120,10 @@
        List<Dept> deptList = groupManager.getAllDept(user.getCompanyId());
        view.put("deptList", deptList);
        //统计信息
        GisData gisData = groupManager.getGisData();
        view.put("gisData", gisData);
        return prefix + "/gis";
    }
fzzy-igdss-web/src/main/java/com/fzzy/group/manager/GroupManager.java
@@ -1,16 +1,22 @@
package com.fzzy.group.manager;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.ChartPie;
import com.fzzy.igds.data.GisData;
import com.fzzy.igds.domain.Depot;
import com.fzzy.igds.domain.Dept;
import com.fzzy.igds.domain.DicArea;
import com.fzzy.igds.service.CoreDeptService;
import com.fzzy.igds.service.DepotService;
import com.fzzy.igds.service.DicAreaService;
import com.fzzy.igds.utils.ContextUtil;
import com.ruoyi.common.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
import java.text.DecimalFormat;
import java.util.*;
/**
 * @Description
@@ -25,6 +31,8 @@
    private DicAreaService dicAreaService;
    @Resource
    private CoreDeptService deptService;
    @Resource
    private DepotService depotService;
    /**
     * èŽ·å–çœåŠä¸‹å±žå¸‚å·žé›†åˆ
@@ -105,4 +113,71 @@
    public List<Dept> getAllDept(String companyId) {
        return deptService.listDept(null, companyId, null);
    }
    /**
     * ç»Ÿè®¡gis数据,只统计登录人下属的数据统计
     * @return
     */
    public GisData getGisData() {
        GisData gisData = new GisData();
        //查询伊犁下属区县
        //区县
        List<DicArea> dicAreaList = dicAreaService.listData("654000", null, null);
        //统计区县下库区数
        LinkedHashMap<String, Integer> valuePieChart = new LinkedHashMap<>();
        LinkedHashMap<String, String> namePieChart = new LinkedHashMap<>();
        if (null != dicAreaList && !dicAreaList.isEmpty()) {
            for (DicArea dicArea : dicAreaList) {
                valuePieChart.put(dicArea.getCode(), 0);
                namePieChart.put(dicArea.getCode(), dicArea.getName());
            }
        }
        List<Dept> deptList = deptService.getDeptData();
        if (null != deptList && !deptList.isEmpty()) {
            //库区总数
            gisData.setDeptNum(deptList.size());
            for (Dept dept : deptList) {
                if (StringUtils.isBlank(dept.getXzqhdm()) || null == valuePieChart.get(dept.getXzqhdm())) {
                    if(null == valuePieChart.get("999999")){
                        valuePieChart.put("999999", 0);
                        namePieChart.put("999999", "其他区县");
                    }
                    dept.setXzqhdm("999999");
                }
                valuePieChart.put(dept.getXzqhdm(), valuePieChart.get(dept.getXzqhdm()) + 1);
            }
        }
        if(gisData.getDeptNum() > 0){
            for (String mapKey : valuePieChart.keySet()) {
                gisData.getDeptList().add(new ChartPie(valuePieChart.get(mapKey) + "", namePieChart.get(mapKey), new DecimalFormat("0.0").format((double)valuePieChart.get(mapKey) / gisData.getDeptNum() * 100)));
            }
        }
        //统计重量
        List<Depot> depotLisst = depotService.getData(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), false);
        if (null != depotLisst && !depotLisst.isEmpty()) {
            for (Depot depot : depotLisst) {
                if(null == depot.getStorageReal()){
                    depot.setStorageReal(0.0);
                }
                gisData.setSum(gisData.getSum() + depot.getStorageReal());
                if(StringUtils.isNotBlank(depot.getPledgeBank())){
                    gisData.setBankSum(gisData.getBankSum() + depot.getStorageReal());
                }else{
                    gisData.setNormalSum(gisData.getNormalSum() + depot.getStorageReal());
                }
            }
        }
        if(gisData.getSum() > 0){
            gisData.setSumPer(new DecimalFormat("0.00").format(gisData.getSum() / gisData.getSum() * 100L));
            gisData.setBankSumPer(new DecimalFormat("0.00").format(gisData.getBankSum() / gisData.getSum() * 100L));
            gisData.setNormalSumPer(new DecimalFormat("0.00").format(gisData.getNormalSum() / gisData.getSum() * 100L));
        }
        return gisData;
    }
}
fzzy-igdss-web/src/main/resources/static/group/gis-chart.js
@@ -1,5 +1,4 @@
//------------------------------------------------------------------------------------------------
var breedChart = null;
/**
 * é¥¼å›¾åŠ è½½
@@ -18,7 +17,7 @@
                return params.name + ': ' + params.value;
            }
        },
        color: ['#00d2eb', '#16e2ad', '#ffb517', '#ec3c48', '#8767ff', '#297aff', '#ee3c90'],
        color: ['#FF6B6B','#4ECDC4','#45B7D1','#96CEB4','#FECA57','#FF9FF3','#54A0FF','#5F27CD','#00D2D3','#FF7675','#208620'],
        series: [
            {
                name: '',
@@ -40,57 +39,6 @@
    }
}
/**
 * å †å æŸ±çŠ¶å›¾åŠ è½½
 * @param obj
 * @param id
 */
// æ­£å¸¸æ•°æ®
var listData = [{
    value: 8,
    name: '测试1'
},
    {
        value: 2,
        name: '测试2'
    },
    {
        value: 83,
        name: '测试3'
    },
    {
        value: 22,
        name: '测试4'
    },
    {
        value: 22,
        name: '测试5'
    }
];
// å¼‚常数据
var listData1 = [{
    value: 20,
    name: '测试1'
},
    {
        value: 10,
        name: '测试2'
    },
    {
        value: 4,
        name: '测试3'
    },
    {
        value: 20,
        name: '测试4'
    },
    {
        value: 20,
        name: '测试5'
    }
];
function toThousands(num) {
    num = num.toString().split("."); // åˆ†éš”小数点
    var arr = num[0].split("").reverse(); // è½¬æ¢æˆå­—符数组并且倒序排列
@@ -111,37 +59,24 @@
}
function barChartLoad(data, id) {
    var dom = document.getElementById('ss');
function barChartLoad(id) {
    var dom = document.getElementById(id);
    var barChart = echarts.init(dom);
    var predata = [];
    var ydata = [];
    if (data) {
        for (var i = 0; i < data.typeChartPie.length; i++) {
            if (data.typeChartPie[i].name == "省级储备粮") {
                predata[0] = data.typeChartPie[i].percent;
                ydata[0] = data.typeChartPie[i].value;
            }
            if (data.typeChartPie[i].name == "其他粮食") {
                predata[1] = data.typeChartPie[i].percent;
                ydata[1] = data.typeChartPie[i].value;
            }
            if (data.typeChartPie[i].name == "省级储备油") {
                predata[2] = data.typeChartPie[i].percent;
                ydata[2] = data.typeChartPie[i].value;
            }
            if (data.typeChartPie[i].name == "其他油") {
                predata[3] = data.typeChartPie[i].percent;
                ydata[3] = data.typeChartPie[i].value;
            }
        }
    if (gisData) {
        predata[0] = gisData.sumPer;
        ydata[0] = gisData.sum;
        predata[1] = gisData.bankSumPer;
        ydata[1] = gisData.bankSum;
        predata[2] = gisData.normalSumPer;
        ydata[2] = gisData.normalSum;
    } else {
        predata = [50, 30, 10, 10];
        ydata = [3733.230, 1825.356, 2523.248, 2005.123];
        predata = [100, 50, 50];
        ydata = [1000, 500, 500];
    }
    console.log(ydata);
    console.log(predata);
    var option = {
        grid: {
            top: '10%',
@@ -228,7 +163,7 @@
            axisTick: {
                show: false
            },
            data: ['省级储备粮', '其他粮食', '省级储备油', '其它油'],
            data: ['总重量', '质押重量', '非质押重量'],
        },
            {
                type: "category",
@@ -298,82 +233,5 @@
            }
        ]
    };
    barChart.setOption(option);
    /*   if (id === 'breedChart') {
        breedChart = pieChart;
      } */
}
window.onload = function () {
    barChartLoad(null);
    /*粮食品种*/
    window.onresize = function (e) {
        if (breedChart) {
            breedChart.resize();
        }
    }
    // ajaxFoodNum();
}
/**
 * èŽ·å–é¥¼çŠ¶å›¾æ•°æ®
 */
function ajaxFoodNum() {
    var data = {
        "county": county,
        "type": type,
        "companyId": companyId
    };
    $.ajax({
        type: "POST",
        url: "../../visual/amount-food-number",
        dataType: "json",
        contentType: "application/json;charset=UTF-8",
        data: JSON.stringify(data),
        success: function (result) {
            if (result.code == "0000") {
                var data = result.data;
                renderFoodNum(data);
            }
        },
        error: function (error) {
        }
    });
}
//更新饼状图信息
function renderFoodNum(data) {
    if (data.allSum.length > 8) {
        $("#foodSum").css("font-size", "25px");
    } else {
        $("#foodSum").css("font-size", "32px");
    }
    $("#foodSum").html(data.allSum);
    var foodNumPerHtml = "";
    var color = ["0, 228, 250", "22, 226, 173", "255, 181, 23", "238, 60, 72", "135, 103, 255", "41, 122, 255", "238, 60, 144", "0, 228, 250", "22, 226, 173", "255, 181, 23", "238, 60, 72", "135, 103, 255", "41, 122, 255", "238, 60, 144"];
    for (var i = 0; i < data.varietyChartPie.length; i++) {
        foodNumPerHtml += "" +
            "<li>\n" +
            "\t\t\t\t\t\t\t\t\t<div class=\"con\" style=\"background-color: rgba(" + color[i] + ",.05);\">\n" +
            "\t\t\t\t\t\t\t\t\t\t<div class=\"dot\" style=\"background-color: rgb(" + color[i] + ");\"></div>\n" +
            "\t\t\t\t\t\t\t\t\t\t<div class=\"num\" style=\"color: rgb(" + color[i] + ");\">" + data.varietyChartPie[i].percent + "%</div>\n" +
            "\t\t\t\t\t\t\t\t\t\t<div class=\"type\">" + data.varietyChartPie[i].name + "</div>\n" +
            "\t\t\t\t\t\t\t\t\t</div>\n" +
            "\t\t\t\t\t\t\t\t</li>";
    }
    $("#foodNumPer").html(foodNumPerHtml);
    if (data.varietyChartPie.length > 0) {
        var varietyChart = breedChart;
        varietyChart.option.series[0].data = data.varietyChartPie;
        varietyChart.chart.setOption(varietyChart.option, true);
        breedChart = varietyChart;
    }
    barChartLoad(data);
}
fzzy-igdss-web/src/main/resources/static/group/gis.js
@@ -6,6 +6,7 @@
var markers = [];//点标记
var type = "0";
var county = "all";
var breedChart = null;
//var switch2AreaNode2;
@@ -29,19 +30,33 @@
    //初始化地图
    initMap();
    //左侧图表
    //初始化左侧图表
    pieChartLoad(
        [
            {value: "0.000", name: '稻谷'},
            {value: "0.000", name: '玉米'},
            {value: "0.000", name: '小麦'}
            {value: "0", name: '伊宁市'},
            {value: "0", name: '奎屯市'},
            {value: "0", name: '霍尔果斯市'},
            {value: "0", name: '伊宁县'},
            {value: "0", name: '察布查尔锡伯自治县'},
            {value: "0", name: '霍城县'},
            {value: "0", name: '巩留县'},
            {value: "0", name: '新源县'},
            {value: "0", name: '昭苏县'},
            {value: "0", name: '特克斯县'},
            {value: "0", name: '尼勒克县'}
        ],
        'breedChart'
    );
    window.onresize = function (e) {
        if (breedChart) {
            breedChart.resize();
        }
    }
    //渲染部门
    renderList();
    renderNum();
    //定位到新疆省
    setTimeout(function () {
        positioning("650000");
@@ -353,6 +368,28 @@
    }
}
function renderNum() {
    $("#foodSum").html(gisData.deptNum);
    var foodNumPerHtml = '';
    var color = ["0, 228, 250", "22, 226, 173", "255, 181, 23", "238, 60, 72", "135, 103, 255", "41, 122, 255", "238, 60, 144", "0, 228, 250", "22, 226, 173", "255, 181, 23", "238, 60, 72", "135, 103, 255", "41, 122, 255", "238, 60, 144"];
    for (var i = 0; i < gisData.deptList.length; i++) {
        foodNumPerHtml += '<li><div class="con" style="background-color: rgba('+color[i]+',.05);">';
        foodNumPerHtml += '<div class="dot" style="background-color: rgb('+color[i]+');"></div>';
        foodNumPerHtml += '<div class="num" style="color: rgb('+color[i]+');">'+gisData.deptList[i].percent+'%</div>';
        foodNumPerHtml += '<div class="type">'+gisData.deptList[i].name+'</div>';
        foodNumPerHtml += '</div></li>';
    }
    $("#foodNumPer").html(foodNumPerHtml);
    if (gisData.deptList.length > 0) {
        var varietyChart = breedChart;
        varietyChart.option.series[0].data = gisData.deptList;
        varietyChart.chart.setOption(varietyChart.option, true);
        breedChart = varietyChart;
    }
    barChartLoad("ss");
}
/**
 * èŽ·å–åœ°å›¾è¡Œæ”¿åŒºåŸŸé¢œè‰²
 * @param adcode
fzzy-igdss-web/src/main/resources/static/group/index.js
@@ -1,9 +1,4 @@
var nowClientWidth = document.documentElement.clientWidth; // å½“前视口宽度
var pieVarietyChart = null;   // å“ç§é¥¼çж图 -- ç²®é£Ÿ
var pieTypeChart = null;      // æ€§è´¨é¥¼çж图 -- ç²®é£Ÿ
var pieLevelChart = null;     // ç­‰çº§é¥¼çж图 -- ç²®é£Ÿ
var pieYearChart = null;      // å¹´ä»½é¥¼çж图 -- ç²®é£Ÿ
var pieAreaChart = null;      // åŒºåŸŸé¥¼çж图 -- ç²®é£Ÿ
var hisVarietyChart = null;   // å“ç§æŸ±çж图
var deptAreaAllList = null;   // æ‰€æœ‰åº“区列表信息
var deptAreaList = null;      // å­˜æ”¾åˆ‡æ¢åº“区列表信息
@@ -37,29 +32,33 @@
    initTime();
    // åˆå§‹åŒ–图表
    initChart();
    //初始化标语
    initDicSlogan();
    //初始化地图
    initMap();
    //加载指定地区地图
    renderMapPoints("乌鲁木齐市,克拉玛依市,吐鲁番市,哈密市,昌吉回族自治州,博尔塔拉蒙古自治州,巴音郭楞蒙古自治州,阿克苏地区,克孜勒苏柯尔克孜自治州,喀什地区,和田地区,伊犁哈萨克自治州,塔城地区,阿勒泰地区");
    // è¯·æ±‚库区信息
    // ajaxDeptArea();
    // èŽ·å–å…¬å¸ä¿¡æ¯
    // ajaxCompany();
    // è¯·æ±‚粮食数量统计信息
    //TODO ç»Ÿè®¡ç›¸å…³æ•°é‡ä¿¡æ¯ï¼ŒåŒ…含库点及粮食数量
    // ajaxFoodNum();
    // è¯·æ±‚获取库区动态信息
    //TODO è¯·æ±‚监管库区信息
    // ajaxDeptArea();
    //TODO è¯·æ±‚AI事件信息
    // ajaxMsg();
    // æ»šåЍ
    //TODO è¯·æ±‚抓拍跟踪信息
    // ajaxFoodNum();
    //抓拍跟踪滚动
    jQuery(".block2").slide({ mainCell: ".bd ul", autoPage: true, effect: "topLoop", autoPlay: true, vis: 4 });
    jQuery(".follow").slide({ mainCell: ".bd ul", autoPlay: true, effect: "leftMarquee", vis: 5, interTime: 50 });
}
// socket信息返回處理
function socketOnMessage(pocket) {
    //console.log(pocket);
    if (pocket.bizId == "slogan") {
    if (pocket.bizId === "slogan") {
        var data = pocket.data;
        dicSlogan = data;
        initDicSlogan();
@@ -581,43 +580,6 @@
        hisVarietyChart = hisFoodVariety;
    }
    /*----- é¥¼å›¾ -----*/
    // å“ç§ -- ç²®é£Ÿ
    if (data.varietyChartPie.length > 0) {
        var varietyChart = pieVarietyChart;
        varietyChart.option.series[0].data = data.varietyChartPie;
        varietyChart.chart.setOption(varietyChart.option, true);
        pieVarietyChart = varietyChart;
    }
    // æ€§è´¨ -- ç²®é£Ÿ
    if (data.typeChartPie.length > 0) {
        var typeChart = pieTypeChart;
        typeChart.option.series[0].data = data.typeChartPie;
        typeChart.chart.setOption(typeChart.option, true);
        pieTypeChart = typeChart;
    }
    // ç­‰çº§ -- ç²®é£Ÿ
    if (data.levelChartPie.length > 0) {
        var levelChart = pieLevelChart;
        levelChart.option.series[0].data = data.levelChartPie;
        levelChart.chart.setOption(levelChart.option, true);
        pieLevelChart = levelChart;
    }
    // å¹´ä»½ -- ç²®é£Ÿ
    if (data.yearChartPie.length > 0) {
        var yearChart = pieYearChart;
        yearChart.option.series[0].data = data.yearChartPie;
        yearChart.chart.setOption(yearChart.option, true);
        pieYearChart = yearChart;
    }
    // åŒºåŸŸ -- ç²®é£Ÿ
    if (data.areaChartPie.length > 0) {
        var areaChart = pieAreaChart;
        areaChart.option.series[0].data = data.areaChartPie;
        areaChart.chart.setOption(areaChart.option, true);
        pieAreaChart = areaChart;
    }
    // ç²®é£Ÿç›‘管数量切换
    foodNumSwitch();
    // ç²®é£Ÿé¥¼å›¾åˆ‡æ¢
@@ -752,26 +714,6 @@
 */
function initScrollbar() {
    if (pieVarietyChart) {
        pieVarietyChart.resize();
    }
    if (pieTypeChart) {
        pieTypeChart.resize();
    }
    if (pieLevelChart) {
        pieLevelChart.resize();
    }
    if (pieYearChart) {
        pieYearChart.resize();
    }
    if (pieAreaChart) {
        pieAreaChart.resize();
    }
    if (hisVarietyChart) {
        hisVarietyChart.resize();
    }
@@ -806,59 +748,6 @@
        ['小麦', '玉米', '稻谷', '成品粮',  '成品油', '其他'],
        [1000, 1200, 1500, 1300, 1100, 1600]
    );
    // /* å“ç§ - ç²®é£Ÿ */
    // pieChartLoad(
    //     [
    //         {value: 0, name: '稻谷'},
    //         {value: 0, name: '玉米'},
    //         {value: 0, name: '小麦'}
    //     ],
    //     'pieVarietyChart'
    // );
    // /* æ€§è´¨ - ç²®é£Ÿ */
    // pieChartLoad(
    //     [
    //         {value: 0, name: '省级储备'},
    //         {value: 0, name: '市级储备'},
    //         {value: 0, name: '县级储备'}
    //     ],
    //     'pieTypeChart'
    // );
    // /* ç­‰çº§ - ç²®é£Ÿ */
    // pieChartLoad(
    //     [
    //         {value: 0, name: '一等'},
    //         {value: 0, name: '二等'},
    //         {value: 0, name: '三等'},
    //         {value: 0, name: '四等'},
    //         {value: 0, name: '五等'},
    //         {value: 0, name: '等外'}
    //     ],
    //     'pieLevelChart'
    // );
    // /* å¹´ä»½ - ç²®é£Ÿ */
    // pieChartLoad(
    //     [
    //         {value: 0, name: '2019'},
    //         {value: 0, name: '2020'},
    //         {value: 0, name: '2021'},
    //         {value: 0, name: '2022'},
    //         {value: 0, name: '2023'}
    //
    //     ],
    //     'pieYearChart'
    // );
    // /* åœ°åŸŸ - ç²®é£Ÿ */
    // pieChartLoad(
    //     [
    //         {value: 0, name: '2019'},
    //         {value: 0, name: '2020'},
    //         {value: 0, name: '2021'},
    //         {value: 0, name: '2022'},
    //         {value: 0, name: '2023'}
    //     ], 'pieAreaChart'
    // );
}
/**
@@ -978,97 +867,6 @@
    };
    myChart.setOption(options);
    hisVarietyChart = {"chart": myChart, "option": options};
}
/**
 * é¥¼å›¾åŠ è½½
 *
 * @param obj
 * @param id
 */
function pieChartLoad(data, id) {
    var dom = document.getElementById(id);
    var pieChart = echarts.init(dom);
    var option = {
        tooltip: {
            trigger: 'item'
        },
        legend: {
            bottom: 10,
            right: 10,
            left: 10,
            textStyle: {
                color: '#fff',
                fontSize: 12
            },
            itemWidth: 8,
            itemHeight: 8,
            icon: "circle",
            // ä½¿ç”¨å›žè°ƒå‡½æ•°
            formatter:function(name) {
                var than = option.series[0].data;
                var total = 0;
                var tarValue;
                for (var i = 0, l = than.length; i < l; i++) {
                    total += Number(than[i].value);
                    if (than[i].name == name) {
                        tarValue = Number(than[i].value);
                    }
                }
                var p = 0.0;
                if(total > 0){
                    p = (tarValue / total) * 100;
                }
                return name + " " + " " + p.toFixed(2) + "%";
            }
        },
        color: ['#26a2cf', '#d36b37', '#d49327', '#2d6be9', '#36b994', '#bc2032', '#d3614f'],
        series: [
            {
                name: '',
                type: 'pie',
                radius: ['20%', '50%'],
                center: ['center', '30%'],
                avoidLabelOverlap: false,
                itemStyle: {
                    borderRadius: 10,
                    borderColor: '#041636',
                    borderWidth: 8,
                },
                label: {
                    show: false,
                    color: '#fff',
                    formatter: '{b}\n{d}%',
                    fontSize: nowSize(16),
                    lineHeight: nowSize(25),
                },
                labelLine: {
                    show: true,
                    lineStyle: {
                        cap: 'round',
                    }
                },
                data: data
            }
        ]
    };
    pieChart.setOption(option);
    if (id === 'pieVarietyChart') {
        pieVarietyChart = {"chart": pieChart, "option": option};
    } else if (id === 'pieTypeChart') {
        pieTypeChart = {"chart": pieChart, "option": option};
    } else if (id === 'pieLevelChart') {
        pieLevelChart = {"chart": pieChart, "option": option};
    } else if (id === 'pieYearChart') {
        pieYearChart = {"chart": pieChart, "option": option};
    } else if (id === 'pieAreaChart') {
        pieAreaChart = {"chart": pieChart, "option": option};
    }
}
/**
fzzy-igdss-web/src/main/resources/templates/group/gis.html
@@ -92,8 +92,8 @@
                            <div class="chartbox">
                                <div class="chart" id="breedChart"></div>
                                <div class="txt">
                                    <div class="n" id="foodSum">1433331 </div>
                                    <div class="p">吨 </div>
                                    <div class="n" id="foodSum">10 </div>
                                    <div class="p">个 </div>
                                </div>
                            </div>
                        </div>
@@ -102,99 +102,78 @@
                                <li>
                                    <div class="con" style="background-color: rgba(0, 228, 250,.05);">
                                        <div class="dot" style="background-color: rgb(0, 228, 250);"></div>
                                        <div class="num" style="color: rgb(0, 228, 250);">42.2%</div>
                                        <div class="type">混合小麦</div>
                                        <div class="num" style="color: rgb(0, 228, 250);">0%</div>
                                        <div class="type">伊宁市</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(22, 226, 173,.05);">
                                        <div class="dot" style="background-color: rgb(22, 226, 173);"></div>
                                        <div class="num" style="color: rgb(22, 226, 173);">12.6%</div>
                                        <div class="type">小麦</div>
                                        <div class="num" style="color: rgb(22, 226, 173);">0%</div>
                                        <div class="type">奎屯市</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(255, 181, 23,.05);">
                                        <div class="dot" style="background-color: rgb(255, 181, 23);"></div>
                                        <div class="num" style="color: rgb(255, 181, 23);">21.0%</div>
                                        <div class="type">玉米</div>
                                        <div class="num" style="color: rgb(255, 181, 23);">0%</div>
                                        <div class="type">霍尔果斯市</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(238, 60, 72,.05);">
                                        <div class="dot" style="background-color: rgb(238, 60, 72);"></div>
                                        <div class="num" style="color: rgb(238, 60, 72);">5.8%</div>
                                        <div class="type">稻谷</div>
                                        <div class="num" style="color: rgb(238, 60, 72);">90%</div>
                                        <div class="type">伊宁县</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(135, 103, 255,.05);">
                                        <div class="dot" style="background-color: rgb(135, 103, 255);"></div>
                                        <div class="num" style="color: rgb(135, 103, 255);">0.9%</div>
                                        <div class="type">青稞</div>
                                        <div class="num" style="color: rgb(135, 103, 255);">0%</div>
                                        <div class="type">察布查尔锡伯自治县</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(41, 122, 255,.05);">
                                        <div class="dot" style="background-color: rgb(41, 122, 255);"></div>
                                        <div class="num" style="color: rgb(41, 122, 255);">10.2%</div>
                                        <div class="type">苦荞麦</div>
                                        <div class="num" style="color: rgb(41, 122, 255);">0%</div>
                                        <div class="type">霍城县</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(238, 60, 144,.05);">
                                        <div class="dot" style="background-color: rgb(238, 60, 144);"></div>
                                        <div class="num" style="color: rgb(238, 60, 144);">16.2%</div>
                                        <div class="type">大豆</div>
                                        <div class="num" style="color: rgb(238, 60, 144);">0%</div>
                                        <div class="type">巩留县</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(0, 228, 250,.05);">
                                        <div class="dot" style="background-color: rgb(0, 228, 250);"></div>
                                        <div class="num" style="color: rgb(0, 228, 250);">42.2%</div>
                                        <div class="type">混合小麦</div>
                                        <div class="num" style="color: rgb(0, 228, 250);">0%</div>
                                        <div class="type">新源县</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(22, 226, 173,.05);">
                                        <div class="dot" style="background-color: rgb(22, 226, 173);"></div>
                                        <div class="num" style="color: rgb(22, 226, 173);">12.6%</div>
                                        <div class="type">小麦</div>
                                        <div class="num" style="color: rgb(22, 226, 173);">0%</div>
                                        <div class="type">昭苏县</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(255, 181, 23,.05);">
                                        <div class="dot" style="background-color: rgb(255, 181, 23);"></div>
                                        <div class="num" style="color: rgb(255, 181, 23);">21.0%</div>
                                        <div class="type">玉米</div>
                                        <div class="num" style="color: rgb(255, 181, 23);">0%</div>
                                        <div class="type">特克斯县</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(238, 60, 72,.05);">
                                        <div class="dot" style="background-color: rgb(238, 60, 72);"></div>
                                        <div class="num" style="color: rgb(238, 60, 72);">5.8%</div>
                                        <div class="type">稻谷</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(135, 103, 255,.05);">
                                        <div class="dot" style="background-color: rgb(135, 103, 255);"></div>
                                        <div class="num" style="color: rgb(135, 103, 255);">0.9%</div>
                                        <div class="type">青稞</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(41, 122, 255,.05);">
                                        <div class="dot" style="background-color: rgb(41, 122, 255);"></div>
                                        <div class="num" style="color: rgb(41, 122, 255);">10.2%</div>
                                        <div class="type">苦荞麦</div>
                                    </div>
                                </li>
                                <li>
                                    <div class="con" style="background-color: rgba(238, 60, 144,.05);">
                                        <div class="dot" style="background-color: rgb(238, 60, 144);"></div>
                                        <div class="num" style="color: rgb(238, 60, 144);">16.2%</div>
                                        <div class="type">大豆</div>
                                        <div class="dot" style="background-color: rgb(32,134,32);"></div>
                                        <div class="num" style="color: rgb(32,134,32);">10%</div>
                                        <div class="type">尼勒克县</div>
                                    </div>
                                </li>
                            </ul>
@@ -202,7 +181,6 @@
                    </div>
                    <div class="m-box2">
                        <div class="item">
                            <div class="bot">
                                <div class="chart" id="ss"></div>
                            </div>
@@ -430,16 +408,10 @@
    </div>
    <!-- <script src="../js/bootstrap.min.js" type="text/javascript"></script> -->
    <script>
    <script th:inline="javascript">
        window._AMapSecurityConfig = {
            securityJsCode:'39051edca2c561cb80d8f49b4624ab17',
        }
    </script>
    <script th:inline="javascript">
        var userId = [[${loginUser.loginName}]];
        var companyId = [[${loginUser.companyId}]];
        var deptId = [[${deptId}]];
@@ -449,6 +421,7 @@
        var bizType = [[${bizType}]];
        var bizTag = [[${bizTag}]];
        var dicSlogan = [[${dicSlogan}]];
        var gisData = [[${gisData}]];
        var defaultAreaCode = [[${defaultAreaCode}]];
    </script>
    <script th:src="@{https://webapi.amap.com/maps?v=2.0&key=5249315a4ba00ea7212898d4449b8c0e&plugin=AMap.DistrictSearch}" src="https://webapi.amap.com/maps?v=2.0&key=5249315a4ba00ea7212898d4449b8c0e"></script>