| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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"; //å æ¯; |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | 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è½´å¯¹åºæ°å¼ |
| | | |
| | | } |
| | |
| | | |
| | | 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; |
| | |
| | | List<Dept> deptList = groupManager.getAllDept(user.getCompanyId()); |
| | | view.put("deptList", deptList); |
| | | |
| | | //ç»è®¡ä¿¡æ¯ |
| | | GisData gisData = groupManager.getGisData(); |
| | | view.put("gisData", gisData); |
| | | |
| | | return prefix + "/gis"; |
| | | } |
| | | |
| | |
| | | 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 |
| | |
| | | private DicAreaService dicAreaService; |
| | | @Resource |
| | | private CoreDeptService deptService; |
| | | @Resource |
| | | private DepotService depotService; |
| | | |
| | | /** |
| | | * è·åçåä¸å±å¸å·éå |
| | |
| | | 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; |
| | | } |
| | | } |
| | |
| | | //------------------------------------------------------------------------------------------------ |
| | | var breedChart = null; |
| | | |
| | | /** |
| | | * 饼å¾å è½½ |
| | |
| | | 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: '', |
| | |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * å å æ±ç¶å¾å è½½ |
| | | * @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(); // è½¬æ¢æå符æ°ç»å¹¶ä¸ååºæå |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | 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%', |
| | |
| | | axisTick: { |
| | | show: false |
| | | }, |
| | | data: ['ç级å¨å¤ç²®', 'å
¶ä»ç²®é£', 'ç级å¨å¤æ²¹', 'å
¶å®æ²¹'], |
| | | data: ['æ»éé', 'è´¨æ¼éé', 'éè´¨æ¼éé'], |
| | | }, |
| | | { |
| | | type: "category", |
| | |
| | | } |
| | | ] |
| | | }; |
| | | |
| | | 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); |
| | | } |
| | |
| | | var markers = [];//ç¹æ è®° |
| | | var type = "0"; |
| | | var county = "all"; |
| | | var breedChart = null; |
| | | |
| | | //var switch2AreaNode2; |
| | | |
| | |
| | | //åå§åå°å¾ |
| | | 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"); |
| | |
| | | } |
| | | } |
| | | |
| | | 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 |
| | |
| | | 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; // 忾忢åºåºåè¡¨ä¿¡æ¯ |
| | |
| | | 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(); |
| | |
| | | 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(); |
| | | // ç²®é£é¥¼å¾åæ¢ |
| | |
| | | */ |
| | | 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(); |
| | | } |
| | |
| | | ['å°éº¦', 'çç±³', '稻谷', 'æåç²®', 'æåæ²¹', 'å
¶ä»'], |
| | | [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' |
| | | // ); |
| | | } |
| | | |
| | | /** |
| | |
| | | }; |
| | | 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}; |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | <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> |
| | |
| | | <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> |
| | |
| | | </div> |
| | | <div class="m-box2"> |
| | | <div class="item"> |
| | | |
| | | <div class="bot"> |
| | | <div class="chart" id="ss"></div> |
| | | </div> |
| | |
| | | |
| | | </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}]]; |
| | |
| | | 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> |