12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403 |
- var loadGeoJson = {};
- var element;
- var table;
- var slider;
- var dom = document.getElementById("container");
- var myChart = echarts.init(dom);
- var option;
- var myCharts = {};
- var myTables = {};
- myChart.showLoading();
- var msurl = 'json/市级_山西.json';
- var qxurl = './json/县级_山西.json';
- var namefield = "name";
- var valuefield = "Shape_Area";
- var codefield = "CODE";
- var statisticsInfoByXZQ;
- var xzqSlider;
- var resertEchartsParams = {};
- var objList = []
- var levelName = ['优等地', '高等地', '中等地', '低等地']
- var levelColor = ['rgb(77,179,0)', 'rgb(187,230,0)', 'rgb(237,213,0)', 'rgb(199,139,0)']
- var XZQDMName = null
- var mapYears = null
- var mapYearsType = true
- var qixianName = null
- var curYear = null
- var mapYearsType1 = true
- var analysisList = []
- var targetType = false
- var analysisListShi = null
- var analysisListXdata = null
- var analysisListXian = null
- var analysisListQdata = null
- var analysisListQian = null
- var analysisListQX = [] // 存储县级数据
- var analysisListType = false // 点击县级的状态
- //var configInfo = InitialParameter("/Config.json");
- //globleUrl = configInfo["modelOrigin"].type + "://" + configInfo["modelOrigin"].value;
- let currentText = "" // 点击的文字
- let currentYear = '' // 当前年份
- let currentXzqdm = '' // 当前行政区代码
- let yearData = [] // 全部的年份
- let btnType = false // 上面行政区域状态
- let dataSheng = null // 省数据
- let dataShi = null // 市数据
- let dataXian = null // 县数据
- let btnMeg = 0 // 按钮的状态
- $(".loading").css("line-height", $(".loading").height() + "px");
- window.onload = function() {
- setTimeout(function() {
- layui.use(['form', 'layer', 'element', 'slider', 'table'], function() {
- element = layui.element;
- table = layui.table;
- slider = layui.slider;
- init();
- timeLine()
- echarLinBar("1", "")
- echartsBar("1", "")
- echartslineBar("1", "")
- });
- $(".xzqBtn").click(function(e) {
- onTabClick(e);
- });
- }, 5);
- }
- // 封装的jquery的get方法
- function InitialParameter(url) {
- var info = null;
- $.ajax({
- async: false,
- url: url,
- success: function(result) {
- info = result;
- },
- error: function(result) {
- console.log(result);
- }
- });
- return info;
- }
- // 封装的ajax请求
- function getGeoJson(url) {
- $.ajaxSettings.async = false;
- var geojson = null;
- $.get(url, function(results) {
- geojson = results;
- });
- return geojson;
- }
- // 行政区划数据
- function getXZQData() {
- return {
- "2016": {
- "150102": "231",
- "150103": "22",
- "150104": "221",
- "150105": "76",
- "150121": "507.378979",
- "150122": "70.446859",
- "150123": "233.161043",
- "150124": "87.138653",
- "150125": "53.75949",
- "150202": "34",
- "150203": "123",
- "150204": "763",
- "150205": "69.618587",
- "150206": "10.997343",
- "150207": "451",
- "150221": "121.631",
- "150222": "232.1993",
- "150223": "162.607938",
- "150302": "79.347582",
- "150303": "216.106506",
- "150304": "117.66068",
- "150402": "639.210523",
- "150402": "281.870306",
- "150403": "594.864259",
- "150421": "461.192925",
- "150422": "77.532357",
- "150423": "824.63896",
- "150424": "83.229244",
- "150425": "1618.996566",
- "150426": "494.515183",
- "150428": "300.704366",
- "150429": "163.34025",
- "150430": "126.423867",
- "150502": "88.838653",
- "150521": "89.102034",
- "150522": "44.102228",
- "150523": "325.434118",
- "150524": "52.526868",
- "150525": "126.795964",
- "150526": "61.215115",
- "150581": "59.073048",
- "150602": "602.420675",
- "150621": "395.035128",
- "150622": "708.06381",
- "150623": "245.6431",
- "150624": "216.076227",
- "150625": "254.09903",
- "150626": "911.770879",
- "150627": "1259.538331",
- "150702": "56.699763",
- "150721": "97.133563",
- "150722": "619.195029",
- "150723": "140.030397",
- "150724": "440.572726",
- "150725": "254.190343",
- "150726": "20.68259",
- "150727": "5.693056",
- "150781": "75.468311",
- "150782": "258.449345",
- "150783": "60.431917",
- "150784": "38.730268",
- "150785": "81.183259",
- "150802": "194.530089",
- "150821": "114.78101",
- "150822": "15.305659",
- "150823": "167.568182",
- "150824": "414.540064",
- "150825": "58.7872",
- "150826": "133.218149",
- "150902": "260.0014",
- "150921": "449.443286",
- "150922": "329.047357",
- "150923": "102.146917",
- "150924": "566.594265",
- "150925": "145.176893",
- "150926": "604.3128",
- "150927": "137.39863",
- "150928": "110.854242",
- "150929": "136.343695",
- "150981": "193.2078",
- "152201": "615.707698",
- "152202": "62.160748",
- "152221": "357.815655",
- "152222": "23.709504",
- "152223": "317.128348",
- "152224": "29.730594",
- "152501": "7.334255",
- "152502": "2086.174959",
- "152522": "26.941754",
- "152523": "54.367129",
- "152524": "16.059589",
- "152525": "310.872563",
- "152526": "1075.894023",
- "152527": "85.146797",
- "152528": "523.83536",
- "152529": "239.860635",
- "152530": "49.770978",
- "152531": "207.098203",
- "152921": "1001.650127",
- "152922": "246.344865",
- "152923": "700.47709"
- },
- "2017": {
- "150102": "231",
- "150103": "22",
- "150104": "221",
- "150105": "76",
- "150121": "407.378979",
- "150122": "70.446859",
- "150123": "233.161043",
- "150124": "87.138653",
- "150125": "53.75949",
- "150202": "34",
- "150203": "123",
- "150204": "763",
- "150205": "69.618587",
- "150206": "10.997343",
- "150207": "451",
- "150221": "121.631",
- "150222": "232.1993",
- "150223": "162.607938",
- "150302": "79.347582",
- "150303": "116.106506",
- "150304": "117.66068",
- "150402": "639.210523",
- "150402": "281.870306",
- "150403": "594.864259",
- "150421": "461.192925",
- "150422": "77.532357",
- "150423": "824.63896",
- "150424": "83.229244",
- "150425": "1618.996566",
- "150426": "494.515183",
- "150428": "300.704366",
- "150429": "163.34025",
- "150430": "126.423867",
- "150502": "88.838653",
- "150521": "89.102034",
- "150522": "44.102228",
- "150523": "325.434118",
- "150524": "52.526868",
- "150525": "126.795964",
- "150526": "61.215115",
- "150581": "59.073048",
- "150602": "602.420675",
- "150621": "395.035128",
- "150622": "708.06381",
- "150623": "245.6431",
- "150624": "216.076227",
- "150625": "254.09903",
- "150626": "911.770879",
- "150627": "759.538331",
- "150702": "56.699763",
- "150721": "97.133563",
- "150722": "619.195029",
- "150723": "140.030397",
- "150724": "440.572726",
- "150725": "254.190343",
- "150726": "20.68259",
- "150727": "5.693056",
- "150781": "75.468311",
- "150782": "258.449345",
- "150783": "60.431917",
- "150784": "38.730268",
- "150785": "81.183259",
- "150802": "194.530089",
- "150821": "114.78101",
- "150822": "15.305659",
- "150823": "167.568182",
- "150824": "414.540064",
- "150825": "58.7872",
- "150826": "133.218149",
- "150902": "260.0014",
- "150921": "449.443286",
- "150922": "329.047357",
- "150923": "102.146917",
- "150924": "566.594265",
- "150925": "145.176893",
- "150926": "604.3128",
- "150927": "137.39863",
- "150928": "110.854242",
- "150929": "136.343695",
- "150981": "193.2078",
- "152201": "615.707698",
- "152202": "62.160748",
- "152221": "357.815655",
- "152222": "23.709504",
- "152223": "317.128348",
- "152224": "29.730594",
- "152501": "7.334255",
- "152502": "2086.174959",
- "152522": "26.941754",
- "152523": "54.367129",
- "152524": "16.059589",
- "152525": "310.872563",
- "152526": "1075.894023",
- "152527": "85.146797",
- "152528": "523.83536",
- "152529": "239.860635",
- "152530": "49.770978",
- "152531": "207.098203",
- "152921": "1001.650127",
- "152922": "246.344865",
- "152923": "700.47709"
- },
- "2018": {
- "150102": "231",
- "150103": "22",
- "150104": "221",
- "150105": "76",
- "150121": "507.378979",
- "150122": "70.446859",
- "150123": "233.161043",
- "150124": "87.138653",
- "150125": "53.75949",
- "150202": "34",
- "150203": "123",
- "150204": "763",
- "150205": "69.618587",
- "150206": "10.997343",
- "150207": "451",
- "150221": "121.631",
- "150222": "232.1993",
- "150223": "162.607938",
- "150302": "79.347582",
- "150303": "316.106506",
- "150304": "117.66068",
- "150402": "639.210523",
- "150402": "281.870306",
- "150403": "594.864259",
- "150421": "461.192925",
- "150422": "77.532357",
- "150423": "824.63896",
- "150424": "83.229244",
- "150425": "1618.996566",
- "150426": "494.515183",
- "150428": "300.704366",
- "150429": "163.34025",
- "150430": "126.423867",
- "150502": "88.838653",
- "150521": "89.102034",
- "150522": "44.102228",
- "150523": "325.434118",
- "150524": "52.526868",
- "150525": "126.795964",
- "150526": "61.215115",
- "150581": "59.073048",
- "150602": "602.420675",
- "150621": "395.035128",
- "150622": "708.06381",
- "150623": "245.6431",
- "150624": "216.076227",
- "150625": "254.09903",
- "150626": "911.770879",
- "150627": "859.538331",
- "150702": "56.699763",
- "150721": "97.133563",
- "150722": "619.195029",
- "150723": "140.030397",
- "150724": "440.572726",
- "150725": "254.190343",
- "150726": "20.68259",
- "150727": "5.693056",
- "150781": "75.468311",
- "150782": "258.449345",
- "150783": "60.431917",
- "150784": "38.730268",
- "150785": "81.183259",
- "150802": "194.530089",
- "150821": "114.78101",
- "150822": "15.305659",
- "150823": "167.568182",
- "150824": "414.540064",
- "150825": "58.7872",
- "150826": "133.218149",
- "150902": "260.0014",
- "150921": "449.443286",
- "150922": "329.047357",
- "150923": "102.146917",
- "150924": "566.594265",
- "150925": "145.176893",
- "150926": "604.3128",
- "150927": "137.39863",
- "150928": "110.854242",
- "150929": "136.343695",
- "150981": "193.2078",
- "152201": "615.707698",
- "152202": "62.160748",
- "152221": "357.815655",
- "152222": "23.709504",
- "152223": "317.128348",
- "152224": "29.730594",
- "152501": "7.334255",
- "152502": "2086.174959",
- "152522": "26.941754",
- "152523": "54.367129",
- "152524": "16.059589",
- "152525": "310.872563",
- "152526": "1075.894023",
- "152527": "85.146797",
- "152528": "523.83536",
- "152529": "239.860635",
- "152530": "49.770978",
- "152531": "207.098203",
- "152921": "1001.650127",
- "152922": "246.344865",
- "152923": "700.47709"
- },
- "2019": {
- "150102": "231",
- "150103": "22",
- "150104": "221",
- "150105": "76",
- "150121": "507.378979",
- "150122": "70.446859",
- "150123": "233.161043",
- "150124": "87.138653",
- "150125": "53.75949",
- "150202": "34",
- "150203": "123",
- "150204": "763",
- "150205": "69.618587",
- "150206": "10.997343",
- "150207": "451",
- "150221": "121.631",
- "150222": "232.1993",
- "150223": "162.607938",
- "150302": "79.347582",
- "150303": "276.106506",
- "150304": "117.66068",
- "150402": "679.210523",
- "150402": "281.870306",
- "150403": "594.864259",
- "150421": "461.192925",
- "150422": "77.532357",
- "150423": "824.63896",
- "150424": "83.229244",
- "150425": "1618.996566",
- "150426": "494.515183",
- "150428": "300.704366",
- "150429": "163.34025",
- "150430": "126.423867",
- "150502": "88.838653",
- "150521": "89.102034",
- "150522": "44.102228",
- "150523": "325.434118",
- "150524": "52.526868",
- "150525": "126.795964",
- "150526": "61.215115",
- "150581": "59.073048",
- "150602": "602.420675",
- "150621": "395.035128",
- "150622": "708.06381",
- "150623": "245.6431",
- "150624": "216.076227",
- "150625": "254.09903",
- "150626": "911.770879",
- "150627": "759.538331",
- "150702": "56.699763",
- "150721": "97.133563",
- "150722": "619.195029",
- "150723": "140.030397",
- "150724": "440.572726",
- "150725": "254.190343",
- "150726": "20.68259",
- "150727": "5.693056",
- "150781": "75.468311",
- "150782": "258.449345",
- "150783": "60.431917",
- "150784": "38.730268",
- "150785": "81.183259",
- "150802": "194.530089",
- "150821": "114.78101",
- "150822": "15.305659",
- "150823": "167.568182",
- "150824": "414.540064",
- "150825": "58.7872",
- "150826": "133.218149",
- "150902": "260.0014",
- "150921": "449.443286",
- "150922": "329.047357",
- "150923": "102.146917",
- "150924": "566.594265",
- "150925": "145.176893",
- "150926": "604.3128",
- "150927": "137.39863",
- "150928": "110.854242",
- "150929": "136.343695",
- "150981": "193.2078",
- "152201": "615.707698",
- "152202": "62.160748",
- "152221": "357.815655",
- "152222": "23.709504",
- "152223": "317.128348",
- "152224": "29.730594",
- "152501": "7.334255",
- "152502": "2086.174959",
- "152522": "26.941754",
- "152523": "54.367129",
- "152524": "16.059589",
- "152525": "310.872563",
- "152526": "1075.894023",
- "152527": "85.146797",
- "152528": "523.83536",
- "152529": "239.860635",
- "152530": "49.770978",
- "152531": "207.098203",
- "152921": "1001.650127",
- "152922": "246.344865",
- "152923": "700.47709"
- }
- };
- // var resultData;
- // $.ajax({
- // type: globleConfig.ajaxType,
- // async: false,
- // url: globleConfig.ajax,
- // data: {
- // "mtype": globleConfig.mtype,
- // "dataBaseSelected": globleConfig.dataBaseSelected, // 所选数据库名称,
- // "tableTypeSelected": globleConfig.tableTypeSelected,
- // "tableDataSelected": XZQConfig.tableDataSelected,
- // "dimensionSelected": JSON.stringify(XZQConfig.dimensionSelected),
- // "measureSelected": JSON.stringify(XZQConfig.measureSelected),
- // "aggregate": XZQConfig.aggregate,
- // "filterdata": XZQConfig.filterdata,
- // "queryFields": ""
- // },
- // datatype: 'json',
- // success: function (res) {
- // var resArr = res.split('||');
- // if (resArr.length == 0) {
- // console.log("数据请求失败!");
- // } else if (resArr.length == 3) {
- // if (resArr[2].split("^_^")[0] && resArr[2].split("^_^")[0] != "{}") {
- // resultData = JSON.parse(resArr[2].split("^_^")[0]);
- // }
- // } else {
- // if (resArr[0]) {
- // resultData = JSON.parse(resArr[0]);
- // }
- // }
- // },
- // error: function (err) {
- // console.log(err);
- // }
- // });
- // return resultData;
- }
- // 获取专项统计模块获取登陆信息和点击地图
- function init() {
- // var list = {};
- // for (var attr in TDYTDM.classify) {
- // var item = TDYTDM.classify[attr];
- // for (var i = 0; i < item.length; i++) {
- // list[item[i]] = attr;
- // }
- // }
- // TDYTDM["handle"] = list;
- //getGDLBData();
- resertEcharts("", "1");
- // 点击地图
- myChart.on('click', function(params) {
- if (params.name) {
- $(".loading").show();
- setTimeout(function() {
- resertEcharts(params.data.code, (parseInt(params.seriesName) + 1).toString(), params.name);
- echarLinBar((parseInt(params.seriesName) + 1).toString(), params.data.code)
- echartsBar((parseInt(params.seriesName) + 1).toString(), params.data.code)
- echartslineBar((parseInt(params.seriesName) + 1).toString(), params.data.code)
- }, 10);
- }
- });
- myChart.hideLoading();
- }
- // 画地图图表
- function resertEcharts(xzq, type, name, year) {
- if (!year) {
- resertEchartsParams = {
- xzq: xzq,
- type: type,
- name: name
- }
- }
- if (!statisticsInfoByXZQ) {
- statisticsInfoByXZQ = getXZQData();
- if (statisticsInfoByXZQ) {
- var years = [];
- for (var attr in statisticsInfoByXZQ) {
- years.push(parseInt(attr));
- }
- years.sort(function(a, b) {
- return a - b;
- });
- statisticsInfoByXZQ["years"] = years;
- }
- // xzqSlider = slider.render({
- // elem: '#' + XZQConfig.container,
- // min: years[0],
- // max: years[years.length - 1],
- // theme: '#5470c6',
- // //type: 'vertical', //垂直滑块
- // showstep: true,
- // change: function(data) {
- // resertEcharts(null, null, null, data);
- // }
- // });
- statisticsInfoByXZQ["curYear"] = statisticsInfoByXZQ["years"][0];
- yearData = years;
- }
- //curYear = year ? year : statisticsInfoByXZQ["curYear"];
- //curYear = statisticsInfoByXZQ["curYear"];
- if (year) {
- curYear = year
- } else {
- curYear = statisticsInfoByXZQ["curYear"];
- }
- var mapYearsText = null
- if (mapYearsType) {
- mapYearsText = mapYears
- mapYearsType = false
- } else {
- if (mapYearsType1) {
- mapYearsText = curYear
- } else {
- mapYearsText = mapYears
- }
- }
- //let yearSpan = currentYear === '' ? yearData[0] : currentYear
- let yearSpan = curYear
- $(".yearSpan").html(yearSpan + "年");
- statisticsInfoByXZQ["curYear"] = curYear;
- var list = [];
- var chartType = "";
- switch (resertEchartsParams.type) {
- case "1": //盟市
- btnMeg = 1
- var html = "<a class='xzqBtn' value='' type='1' >内蒙古自治区</a>";
- elementTemplate(html);
- chartType = "MS";
- if (!loadGeoJson[chartType]) {
- loadGeoJson[chartType] = getGeoJson(msurl);
- }
- for (var i = 0; i < loadGeoJson[chartType].features.length; i++) {
- var info = loadGeoJson[chartType].features[i]["properties"];
- var code = info[codefield].substr(0, 4);
- var value = 0;
- for (var attr in statisticsInfoByXZQ[curYear]) {
- if (attr.toString().indexOf(code) == 0) {
- value += parseFloat(statisticsInfoByXZQ[curYear][attr]);
- }
- }
- list.push({
- name: info[namefield],
- value: value ? Math.round(value * 100) / 100 : 0,
- code: info[codefield]
- });
- }
- echarts.registerMap('MS', loadGeoJson[chartType]);
- break;
- case "2": //旗县
- btnMeg = 2
- var html = "<a class='xzqBtn' value='' type='1' >内蒙古自治区</a>";
- html += "<a class='xzqBtn' value='" + resertEchartsParams.xzq + "' type='2' >" + resertEchartsParams.name + "</a>";
- qixianName = resertEchartsParams.name
- elementTemplate(html);
- chartType = resertEchartsParams.xzq.length == 6 ? resertEchartsParams.xzq.substr(0, 4) : resertEchartsParams.xzq;
- if (!loadGeoJson["QX"]) {
- loadGeoJson["QX"] = getGeoJson(qxurl);
- }
- var list = [];
- var json = {
- type: "FeatureCollection",
- features: []
- };
- for (var i = 0; i < loadGeoJson["QX"].features.length; i++) {
- var info = loadGeoJson["QX"].features[i]["properties"];
- if (info[codefield].indexOf(chartType) > -1) {
- list.push({
- name: info[namefield],
- value: statisticsInfoByXZQ[curYear][info[codefield]] ? Math.round(parseFloat(statisticsInfoByXZQ[curYear][info[codefield]]) * 100) / 100 : 0,
- code: info[codefield]
- });
- json.features.push(loadGeoJson["QX"].features[i]);
- }
- }
- echarts.registerMap(chartType, json);
- break;
- case "3": //旗县
- btnMeg = 3
- var html = $(".layui-breadcrumb").text().split(">")[1];
- html = "<a class='xzqBtn' value='' type='1' >内蒙古自治区</a><a class='xzqBtn' value='" + resertEchartsParams.xzq.substr(0, 4) + "' type='2' >" + html + "</a>";
- html += "<a class='xzqBtn' value='" + resertEchartsParams.xzq + "' type='3' >" + resertEchartsParams.name + "</a>";
- elementTemplate(html);
- chartType = resertEchartsParams.xzq;
- if (!loadGeoJson["QX"]) {
- loadGeoJson["QX"] = getGeoJson(qxurl);
- }
- var list = [];
- var json = {
- type: "FeatureCollection",
- features: []
- };
- for (var i = 0; i < loadGeoJson["QX"].features.length; i++) {
- var info = loadGeoJson["QX"].features[i]["properties"];
- if (info[codefield] == chartType) {
- list.push({
- name: info[namefield],
- value: statisticsInfoByXZQ[curYear][info[codefield]] ? Math.round(parseFloat(statisticsInfoByXZQ[curYear][info[codefield]]) * 100) / 100 : 0,
- code: info[codefield]
- });
- json.features.push(loadGeoJson["QX"].features[i]);
- break;
- }
- }
- echarts.registerMap(chartType, json);
- break;
- default:
- return $(".loading").hide();
- break;
- }
- list.sort(function(a, b) {
- return a.value - b.value
- });
- analysisList = list
- option = {
- title: {
- // text: '{A| ' + XZQConfig.chartTitle + '}',
- text: '{A| 内蒙古自治区供应总量统计分析}',
- x: 'left',
- //padding: [5, 5, 5, 5],
- textStyle: {
- align: 'center',
- rich: {
- A: {
- backgroundColor: {
- image: XZQConfig.titleImage.image,
- },
- width: XZQConfig.titleImage.width,
- height: XZQConfig.titleImage.height,
- color: "#5470c6",
- fontSize: 17,
- fontWeight: 'bold',
- verticalAlign: "middle",
- lineHeight: 50,
- left: 15
- }
- }
- },
- left: 15
- },
- tooltip: {
- trigger: 'item',
- show: true,
- formatter: function(data) {
- var total = 0;
- for (var i = 0; i < myChart.getOption().series[0].data.length; i++) {
- total += myChart.getOption().series[0].data[i].value;
- }
- //return data.name + '<br/>' + XZQConfig.title + data.value + XZQConfig.unit;
- var per = Math.round(data.value / total * 10000) / 100;
- return data.name;
- return data.name + '<br/>' + XZQConfig.title + data.value + XZQConfig.unit + '<br/>本级占比:' + per + "%";
- }
- },
- toolbox: {
- show: false,
- orient: 'vertical',
- left: 'right',
- top: 'center',
- feature: {
- saveAsImage: {}
- }
- },
- visualMap: {
- min: list[0].value,
- max: list[list.length - 1].value,
- text: ['高', '低'],
- realtime: false,
- calculable: true,
- inRange: {
- //color: ['#313695', '#4575b4', '#74add1', '#abd9e9', '#e0f3f8', '#ffffbf', '#fee090', '#fdae61', '#f46d43', '#d73027', '#a50026']
- //color: globleConfig.color
- color: ['#0000ff30', '#0000ff']
- },
- orient: 'vertical',
- right: '4%',
- bottom: '0%',
- z: 100
- },
- series: [{
- name: resertEchartsParams.type,
- type: 'map',
- left: '20%',
- roam: true,
- mapType: chartType, // 自定义扩展图表类型
- label: {
- show: true,
- //color: "blue",
- //fontStyle: 'normal',
- //fontWeight: 'normal',
- textBorderColor: "white",
- textBorderWidth: 1
- },
- itemStyle: {
- normal: {
- borderWidth: 1,
- borderColor: '#ddd', //区域边框色
- //areaColor: '#FFDAB9',//区域背景色
- label: {
- show: true,
- //textBorderColor: "white",
- //textBorderWidth: 1,
- textStyle: {
- color: '#ffffff', //文字颜色
- fontSize: 12 //文字大小
- }
- }
- },
- emphasis: { // 选中样式
- borderWidth: 1,
- borderColor: '#00ffff',
- color: '#ffffff',
- label: {
- show: true,
- textStyle: {
- color: '#ff0000'
- }
- }
- }
- },
- data: list
- }]
- };
- setTimeout(() => {
- window.onresize = function() {
- myChart.resize()
- }
- }, 200)
- myChart.clear();
- myChart.setOption(option);
- // if (year) {
- // var data = filterArray(myTables["myChartTable2"].config.dataStore, [{
- // field: "QDRQ",
- // value: year,
- // type: "like"
- // }]);
- // myTables["myChartTable2"].reload({
- // data: data
- // }, false);
- // } else {
- // // createVisualizationCharts(resertEchartsParams.xzq ? chartType : "")
- // }
- }
- // 为行政区域赋值,点击行政区域
- function elementTemplate(html) {
- $(".layui-breadcrumb").html(html);
- element ? element.render() : null;
- $(".xzqBtn").click(function(e) {
- onTabClick(e);
- });
- }
- // 点击行政区域文字信息
- function onTabClick(e) {
- $(".loading").show();
- setTimeout(function() {
- resertEcharts($(e.target).attr("value"), $(e.target).attr("type"), $(e.target).html());
- echarLinBar($(e.target).attr("type"), $(e.target).attr("value"))
- echartsBar($(e.target).attr("type"), $(e.target).attr("value"))
- echartslineBar($(e.target).attr("type"), $(e.target).attr("value"))
- btnType = true
- }, 50);
- }
- // 画地图的图表
- function createVisualizationCharts(xzq) {
- for (var attr in chartsConfig) {
- var params = chartsConfig[attr];
- if (!params.able) {
- continue;
- }
- var queryFields = "";
- if (params.queryFields) {
- for (var k = 0; k < params.queryFields.length; k++) {
- queryFields += params.queryFields[k].name + ",";
- }
- queryFields = queryFields.substring(0, queryFields.length - 1);
- }
- var resultData;
- var where = globleConfig.XZQFIELD + " like '" + xzq + "%'"
- $.ajax({
- type: globleConfig.ajaxType,
- async: false,
- url: globleConfig.ajax,
- data: {
- "mtype": globleConfig.mtype,
- "dataBaseSelected": globleConfig.dataBaseSelected, // 所选数据库名称,
- "tableTypeSelected": globleConfig.tableTypeSelected,
- "tableDataSelected": params.tableDataSelected,
- "dimensionSelected": params.dimensionSelected ? JSON.stringify(params.dimensionSelected) : "",
- "measureSelected": params.measureSelected ? JSON.stringify(params.measureSelected) : "",
- "aggregate": params.aggregate,
- "filterdata": xzq ? (params.filterdata ? params.filterdata + " and " + where : where) : params.filterdata,
- "queryFields": queryFields
- },
- datatype: 'json',
- success: function(res) {
- var resArr = res.split('||');
- if (resArr.length == 0) {
- console.log("数据请求失败!");
- } else if (resArr.length == 3) {
- if (resArr[2].split("^_^")[0] && resArr[2].split("^_^")[0] != "{}") {
- resultData = JSON.parse(resArr[2].split("^_^")[0]);
- }
- } else {
- if (resArr[0]) {
- resultData = JSON.parse(resArr[0]);
- }
- }
- },
- error: function(err) {
- console.log(err);
- }
- });
- if (resultData) {
- createVisualizationChartsHandle(params, resultData);
- } else {
- //$("#" + params.container).html(params.noText);
- alert(params.noText);
- }
- }
- $(".loading").hide();
- }
- //得到随机的颜色值
- function randomColor() {
- var r = Math.floor(Math.random() * 256);
- var g = Math.floor(Math.random() * 256);
- var b = Math.floor(Math.random() * 256);
- return "rgb(" + r + "," + g + "," + b + ")";
- }
- // 一维数组转换为二维数组
- function arrTrans(num, arr) {
- const iconsArr = [];
- arr.forEach((item, index) => {
- const page = Math.floor(index / num); // 计算该元素为第几个素组内
- if (!iconsArr[page]) { // 判断是否存在
- iconsArr[page] = [];
- }
- iconsArr[page].push(item);
- });
- return iconsArr;
- }
- var arableNF = null
- var arableXZQDM
- var objIndex = 0
- var objIndexXZQ = 0
- var objIndexXZQ1 = 0
- var oldobjList = xzLineDataList = []
- var objIndexNF = 0
- var arableType = false
- var oldArble = null
- var dlDjData = []
- // 排序的一个公用函数 传入排序的属性值 从大到小
- function creatCompare(propertyName) {
- return function(obj1, obj2) {
- var value1 = obj1[propertyName];
- var value2 = obj2[propertyName];
- if (value1 < value2) {
- return -1
- } else if (value1 > value2) {
- return 1
- } else {
- return 0
- }
- }
- }
- // 时间轴样式
- function timeLine() {
- let timeLineLeft = -15
- // selected
- let timeLinehtml = ''
- yearData.map((item, index) => {
- if (index == 0) {
- timeLinehtml += `
- <li>
- <a class="order_item selected" style="left:${timeLineLeft += 20}%;">${item}</a>
- </li>
- `
- } else {
- timeLinehtml += `
- <li>
- <a class="order_item" style="left:${timeLineLeft += 20}%;">${item}</a>
- </li>
- `
- }
- })
- $('.time_line ol').html(timeLinehtml)
- targetType = true
- $('.order_item').on('click', function(e) {
- let timeText = e.target.innerHTML
- $(this).addClass('selected')
- $(this).parent().siblings().find('.order_item').removeClass('selected')
- currentYear = timeText
- //resertEcharts(null, null, null, parseInt(timeText));
- //resertEcharts($(e.target).attr("value"), $(e.target).attr("type"), $(e.target).html(), parseInt(timeText));
- resertEcharts("", "1", "", currentYear)
- // if (currentXzqdm == "150000") {
- // getGDLBData(null, currentYear)
- // } else {
- // getGDLBData(currentXzqdm, currentYear)
- // }
- })
- }
- //第二图表
- function echarLinBar(type, xzq) {
- var pewgData = []; //批而未供
- var gewyData = []; //供而未用
- var chwyData = []; //拆后未用
- var yewjData = []; //用而未尽
- var xData2 = getLinData();
- switch (type) {
- case "1": //盟市
- for (var i = 2016; i <= 2019; i++) {
- var pewgvalue = 0
- var gewyvalue = 0;
- var chwyvalue = 0;
- var yewjvalue = 0;
- for (var attr in xData2["批而未供"][i]) {
- pewgvalue += parseFloat(xData2["批而未供"][i][attr]);
- }
- pewgData.push(Math.floor(pewgvalue * 100) / 100)
- for (var attr in xData2["供而未用"][i]) {
- gewyvalue += parseFloat(xData2["供而未用"][i][attr]);
- }
- gewyData.push(Math.floor(gewyvalue * 100) / 100)
- for (var attr in xData2["拆后未用"][i]) {
- chwyvalue += parseFloat(xData2["拆后未用"][i][attr]);
- }
- chwyData.push(Math.floor(chwyvalue * 100) / 100)
- for (var attr in xData2["用而未尽"][i]) {
- yewjvalue += parseFloat(xData2["用而未尽"][i][attr]);
- }
- yewjData.push(Math.floor(yewjvalue * 100) / 100)
- }
- break;
- case "2": //旗县
- var code = xzq.substr(0, 4);
- for (var i = 2016; i <= 2019; i++) {
- var pewgvalue = 0
- var gewyvalue = 0;
- var chwyvalue = 0;
- var yewjvalue = 0;
- for (var attr in xData2["批而未供"][i]) {
- if (attr.toString().indexOf(code) == 0) {
- pewgvalue += parseFloat(xData2["批而未供"][i][attr]);
- }
- }
- pewgData.push(Math.floor(pewgvalue * 100) / 100)
- for (var attr in xData2["供而未用"][i]) {
- if (attr.toString().indexOf(code) == 0) {
- gewyvalue += parseFloat(xData2["供而未用"][i][attr]);
- }
- }
- gewyData.push(Math.floor(gewyvalue * 100) / 100)
- for (var attr in xData2["拆后未用"][i]) {
- if (attr.toString().indexOf(code) == 0) {
- chwyvalue += parseFloat(xData2["拆后未用"][i][attr]);
- }
- }
- chwyData.push(Math.floor(chwyvalue * 100) / 100)
- for (var attr in xData2["用而未尽"][i]) {
- if (attr.toString().indexOf(code) == 0) {
- yewjvalue += parseFloat(xData2["用而未尽"][i][attr]);
- }
- }
- yewjData.push(Math.floor(yewjvalue * 100) / 100)
- }
- case "3": //旗县
- for (var i = 2016; i <= 2019; i++) {
- var pewgvalue = 0
- var gewyvalue = 0;
- var chwyvalue = 0;
- var yewjvalue = 0;
- for (var attr in xData2["批而未供"][i]) {
- if (attr.toString() == xzq) {
- pewgvalue += parseFloat(xData2["批而未供"][i][attr]);
- }
- }
- pewgData.push(Math.floor(pewgvalue * 100) / 100)
- for (var attr in xData2["供而未用"][i]) {
- if (attr.toString() == xzq) {
- gewyvalue += parseFloat(xData2["供而未用"][i][attr]);
- }
- }
- gewyData.push(Math.floor(gewyvalue * 100) / 100)
- for (var attr in xData2["拆后未用"][i]) {
- if (attr.toString() == xzq) {
- chwyvalue += parseFloat(xData2["拆后未用"][i][attr]);
- }
- }
- chwyData.push(Math.floor(chwyvalue * 100) / 100)
- for (var attr in xData2["用而未尽"][i]) {
- if (attr.toString() == xzq) {
- yewjvalue += parseFloat(xData2["用而未尽"][i][attr]);
- }
- }
- yewjData.push(Math.floor(yewjvalue * 100) / 100)
- }
- break;
- default:
- break;
- }
- var option1 = {
- // title: {
- // text: '折线图堆叠'
- // },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- data: ['批而未供', '供而未用', '拆后未用', '用而未尽']
- },
- grid: {
- left: '3%',
- right: '4%',
- bottom: '3%',
- containLabel: true
- },
- toolbox: {
- feature: {
- saveAsImage: {}
- }
- },
- xAxis: {
- type: 'category',
- boundaryGap: false,
- data: ['2016', '2017', '2018', '2019']
- },
- yAxis: {
- type: 'value'
- },
- series: [{
- name: '批而未供',
- type: 'line',
- data: pewgData
- },
- {
- name: '供而未用',
- type: 'line',
- data: gewyData
- },
- {
- name: '拆后未用',
- type: 'line',
- data: chwyData
- },
- {
- name: '用而未尽',
- type: 'line',
- data: yewjData
- }
- ]
- };
- var myChart1 = echarts.init(document.getElementById('containerClass1'));
- myChart1.setOption(option1);
- }
- //第4图标
- function echartslineBar(type, xzq) {
- var rateData = []; //使用率
- var xData2 = getLinData();
- var sumData = getXZQData();
- switch (type) {
- case "1": //盟市
- for (var i = 2016; i <= 2019; i++) {
- var gewyvalue = 0;
- var sumValue = 0;
- var rateValue;
- for (var attr in xData2["供而未用"][i]) {
- gewyvalue += parseFloat(xData2["供而未用"][i][attr]);
- }
- for (var attr1 in sumData[i]) {
- sumValue += parseFloat(sumData[i][attr1]);
- }
- rateValue = (gewyvalue / sumValue) * 100;
- rateData.push(Math.floor(rateValue * 100) / 100)
- }
- break;
- case "2": //旗县
- var code = xzq.substr(0, 4);
- for (var i = 2016; i <= 2019; i++) {
- var gewyvalue = 0;
- var sumValue = 0;
- var rateValue;
- for (var attr in xData2["供而未用"][i]) {
- if (attr.toString().indexOf(code) == 0) {
- gewyvalue += parseFloat(xData2["供而未用"][i][attr]);
- }
- }
- for (var attr1 in sumData[i]) {
- if (attr1.toString().indexOf(code) == 0) {
- sumValue += parseFloat(sumData[i][attr1]);
- }
- }
- rateValue = (gewyvalue / sumValue) * 100;
- rateData.push(Math.floor(rateValue * 100) / 100)
- }
- case "3": //旗县
- for (var i = 2016; i <= 2019; i++) {
- var gewyvalue = 0;
- var sumValue = 0;
- var rateValue;
- for (var attr in xData2["供而未用"][i]) {
- if (attr.toString() == xzq) {
- gewyvalue += parseFloat(xData2["供而未用"][i][attr]);
- }
- }
- for (var attr1 in sumData[i]) {
- if (attr1.toString() == xzq) {
- sumValue += parseFloat(sumData[i][attr1]);
- }
- }
- rateValue = (gewyvalue / sumValue) * 100;
- rateData.push(Math.floor(rateValue * 100) / 100)
- }
- break;
- default:
- break;
- }
- var option4 = {
- // title: {
- // text: '建设用地时候用率'
- // },
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- data: ['使用率']
- },
- xAxis: {
- type: 'category',
- data: ['2016', '2017', '2018', '2019']
- },
- yAxis: {
- type: 'value'
- },
- series: [{
- name: "使用率",
- data: rateData,
- type: 'line'
- }]
- };
- var myChart4 = echarts.init(document.getElementById('containerClass4'));
- myChart4.setOption(option4);
- }
- //第三图标
- function echartsBar(type, xzq) {
- var pewgData = []; //批而未供
- var chaData = [0]; //差值
- var xData2 = getLinData();
- switch (type) {
- case "1": //盟市
- for (var i = 2016; i <= 2019; i++) {
- var pewgvalue = 0
- var chaValue;
- for (var attr in xData2["批而未供"][i]) {
- pewgvalue += parseFloat(xData2["批而未供"][i][attr]);
- }
- pewgData.push(Math.floor(pewgvalue * 100) / 100)
- }
- for (var x = 0; x < pewgData.length; x++) {
- if (pewgData.length - 1 == x) {
- break;
- }
- chaValue = pewgData[x + 1] - pewgData[x]
- if (chaValue < 0) {
- chaValue = 0;
- }
- chaData.push(chaValue)
- }
- break;
- case "2": //旗县
- var code = xzq.substr(0, 4);
- for (var i = 2016; i <= 2019; i++) {
- var pewgvalue = 0
- for (var attr in xData2["批而未供"][i]) {
- if (attr.toString().indexOf(code) == 0) {
- pewgvalue += parseFloat(xData2["批而未供"][i][attr]);
- }
- }
- pewgData.push(Math.floor(pewgvalue * 100) / 100)
- for (var x = 0; x < pewgData.length; x++) {
- if (pewgData.length - 1 == x) {
- break;
- }
- chaValue = pewgData[x + 1] - pewgData[x]
- if (chaValue < 0) {
- chaValue = 0;
- }
- chaData.push(chaValue)
- }
- }
- break;
- case "3": //旗县
- for (var i = 2016; i <= 2019; i++) {
- var pewgvalue = 0
- for (var attr in xData2["批而未供"][i]) {
- if (attr.toString() == xzq) {
- pewgvalue += parseFloat(xData2["批而未供"][i][attr]);
- }
- }
- pewgData.push(Math.floor(pewgvalue * 100) / 100)
- for (var x = 0; x < pewgData.length; x++) {
- if (pewgData.length - 1 == x) {
- break;
- }
- chaValue = pewgData[x + 1] - pewgData[x]
- if (chaValue < 0) {
- chaValue = 0;
- }
- chaData.push(chaValue)
- }
- }
- break;
- default:
- break;
- }
- var option3 = {
- tooltip: {
- trigger: 'axis'
- },
- legend: {
- data: ['批而未供', '差值']
- },
- xAxis: {
- type: 'category',
- data: ["2016", "2017", "2018", "2019"]
- },
- yAxis: {
- type: 'value'
- },
- series: [{
- name: "批而未供",
- data: pewgData,
- type: 'bar'
- },
- {
- name: "差值",
- data: chaData,
- type: 'bar'
- }
- ]
- };
- var myChart3 = echarts.init(document.getElementById('containerClass3'));
- myChart3.setOption(option3);
- }
|