var district = AUTH.user.area var userType = AUTH.user.userType var industry = AUTH.user.industry var win = null //窗口大小变化时延时刷新图表大小 $(window).resize(function () { var width = $(window).width() $("#chartdiv").width(width - 150) winResize() }) function winResize() { var width = $(window).width() var height = $(window).height() var left = (width - 900) / 2 var top = 80 $(".panel.window").css({ left: left + "px", }) $(".window-shadow").css({ left: left + "px", }) } $(document).ready(function () { win = $("#win").dialog({ title: "企业负荷详情", width: 900, height: 400, closed: true, cache: false, modal: true, }) //设置root账号大小 if (G.is_root != 1) { $("#show1").hide() $("#show2").hide() $("#show3").hide() $("#show4").hide() $("#detail1").width(260) } setDate() getIndustry() showIndustry2(industry) initArea() getArea2() getArea3() getMapMessage() getDetail() $("#btnQuery").on("click", function () { query() }) $(".maxbox>div").each(function (i) { $(this).bind("click", function () { showCompanyFluctuationLoad(this) }) }) }) function transform(data) { if (data) { var transformData = [] $.each(data, function (i, n) { if (n["y"] == -9999) { n["y"] = null } if (new Date(n["x"]).getMinutes() % 10 == 0) { transformData.push(n) } }) return transformData } return data } function query() { var city = getCity() var industry = "", industry2 = "" try { industry = $("#industry").combobox("getValue") } catch (err) { industry = "" } try { industry2 = $("#industry2").combobox("getValue") } catch (err) { industry2 = "" } var date1 = $("#date1").datebox("getValue").replace(/-/g, "") var date2 = $("#date2").datebox("getValue").replace(/-/g, "") var date3 = $("#date3").datebox("getValue").replace(/-/g, "") var first = $("#date1").datebox("getValue") var second = $("#date2").datebox("getValue") var third = $("#date3").datebox("getValue") $("#firstDate").html(first) $("#secondDate").html(second) if (!time && !city) { return } ajax({ url: "/web/flucatuationLoad/getFlucatuationLoad.json", type: "POST", dataType: "JSON", beforeSend: function () { $("#chartdiv").mask("数据加载中....") }, data: { city: city, date1: date1, date2: date2, date3: date3, industry: industry, industry2: industry2, }, success: function (data) { $("#chartdiv").unmask() if (data["status"] == 1) { data = data["data"] var today = {} var yesterday = {} var beforeday = {} today["name"] = first yesterday["name"] = second beforeday["name"] = third today["data"] = {} yesterday["data"] = {} beforeday["data"] = {} if (null == data) { showDayChart( [today, yesterday, beforeday], { title: { text: "单位:(万千瓦)", }, }, "" ) setMaxBox(false, "", "", false, "", "", date1, date2) return } chatData = data["chatData"] today["data"] = transform(chatData["date1"]) yesterday["data"] = transform(chatData["date2"]) beforeday["data"] = transform(chatData["date3"]) showDayChart( [today, yesterday, beforeday], { title: { text: "单位:(万千瓦)", }, }, "" ) maxData = data["maxData"] todayMaxData = maxData["date1"] yesterdayMaxData = maxData["date2"] todayBoundState = todayMaxData["boundState"] var todayP = null var todayGetTime = null if (todayMaxData["p"] != null && todayMaxData["p"] != "") { todayP = todayMaxData["p"] } if (todayMaxData["getTime"] != null && todayMaxData["getTime"] != "") { todayGetTime = String(todayMaxData["getTime"]) } yesterdayBoundState = todayMaxData["boundState"] var yesterdayP = null var yesterdayGetTime = null if (yesterdayMaxData["p"] != null && yesterdayMaxData["p"] != "") { yesterdayP = yesterdayMaxData["p"] } if (yesterdayMaxData["getTime"] != null && yesterdayMaxData["getTime"] != "") { yesterdayGetTime = String(yesterdayMaxData["getTime"]) } setMaxBox(todayBoundState, todayP, todayGetTime, yesterdayBoundState, yesterdayP, yesterdayGetTime, date1, date2) setInfoMap(data) } }, error: function () { $("#chartdiv").unmask() layer.msg(" 服务存在异常,请稍后再试!", { icon: 2, }) }, }) } function setInfoMap(data) { $("#infoMap").empty() if (_.has(data, "infoMap")) { _.each(data["infoMap"], function (item, index) { var date = index var one = $("

[" + date + "] 最大负荷:" + item.max + ", 最小负荷:" + item.min + ", 平均负荷:" + item.avg + "

") $("#infoMap").append(one) }) } } function getCity() { var area2, area3 try { area2 = $("#area2").combobox("getValue") } catch (err) {} try { area3 = $("#area3").combobox("getValue") } catch (err) {} var city if ("" != area3 && undefined != area3) { city = area3 } else if ("" != area2 && undefined != area2) { city = area2 } else { city = "640000" } return city } //企业负荷详情弹窗 function showCompanyFluctuationLoad(obj) { var text = $(".maxbox>.today dl:eq(0)").find("dd").html() if (text == "") { return } win.dialog("open") var city = getCity() var industry = $("#industry").combobox("getValue") var industry2 = $("#industry2").combobox("getValue") var time = $(obj).find("input").val() $("#win p").remove() $("#content tr").remove() $("#content").append("" + '企业名称' + '负荷波动值(万千瓦)' + '地址') $("#content").append('数据加载中......') if (null == time || "" == time) { return } ajax({ url: "/web/flucatuationLoad/getCompanyFlucatuationLoadDetail.json", type: "POST", data: { city: city, industry: industry, industry2: industry2, time: time, }, dataType: "JSON", success: function (data) { $("#content tr").remove() $("#content").append("" + '企业名称' + '负荷波动值(万千瓦)' + '地址') if (data["status"] == 1) { var html var host = jQuery.parseJSON(AUTH.site.config).platform["01200009"] + "." + AUTH.site.domain host = "http://" + host if (undefined === data["data"] || data["data"].length <= 0) { $("#win").append('

没有数据

') } else { $.each(data["data"], function (i, n) { var content = "" if (i % 2 !== 0) { content += "  " + n["companyName"] + "" content += "" + n["p"] + "" content += "" + n["address"] + "" } else { content += "  " + n["companyName"] + "" content += "" + n["p"] + "" content += "" + n["address"] + "" } content += "" html += content }) $("#content").append(html) } } }, }) } //最大值设置 function setMaxBox(todayBoundState, todayP, todayGetTime, yesterdayBoundState, yesterdayP, yesterdayGetTime, date1, date2) { //拼日期时间 var t1 = todayGetTime.replace(/:/g, "") var t2 = yesterdayGetTime.replace(/:/g, "") $(".todayTime").attr("value", date1 + t1) $(".yesterdayTime").attr("value", date2 + t2) if (true == todayBoundState) { $(".maxbox>.today dl:eq(0)") .find("dd") .html("" + todayP + "万千瓦" + "") } else { $(".maxbox>.today dl:eq(0)") .find("dd") .html("" == todayP ? "-" : todayP + "万千瓦") } //$(".maxbox>.today dl:eq(1)").find('dd').html("" == todayGetTime ? "-" : todayGetTime.substring(8,10)+":"+todayGetTime.substring(10,12)+":"+todayGetTime.substring(12,14)); $(".maxbox>.today dl:eq(1)").find("dd").html(todayGetTime) if (true == yesterdayBoundState) { $(".maxbox>.yesterday dl:eq(0)") .find("dd") .html("" + yesterdayP + "万千瓦" + "") } else { $(".maxbox>.yesterday dl:eq(0)") .find("dd") .html(null == yesterdayP ? "-" : yesterdayP + "万千瓦") } //$(".maxbox>.yesterday dl:eq(1)").find('dd').html(null == yesterdayGetTime ? "-" : yesterdayGetTime.substring(8,10)+":"+yesterdayGetTime.substring(10,12)+":"+yesterdayGetTime.substring(12,14)); $(".maxbox>.yesterday dl:eq(1)").find("dd").html(yesterdayGetTime) } function setDate() { var current = new Date() var today = new Date(current.getFullYear(), current.getMonth(), current.getDate()).format("yyyy-MM-dd") var yesterday = new Date(current.getFullYear(), current.getMonth(), current.getDate() - 1).format("yyyy-MM-dd") var beforeday = new Date(current.getFullYear(), current.getMonth(), current.getDate() - 2).format("yyyy-MM-dd") $("#date1").datebox("setValue", today) $("#date2").datebox("setValue", yesterday) $("#date3").datebox("setValue", beforeday) } //饼图加载 function pieChartBuild(project, pieData) { $("#" + project).highcharts({ chart: { plotBackgroundColor: null, plotBorderWidth: null, plotShadow: false, }, colors: ["#ED561B", "#24CBE5", "#64E572", "#FF9655", "#FFF263", "#6AF9C4"], tooltip: { pointFormat: " {point.percentage:.1f}%({point.y})", }, title: { text: "", }, plotOptions: { pie: { allowPointSelect: true, cursor: "pointer", size: 160, dataLabels: { enabled: false, format: "{point.name}: {point.percentage:.1f} %", style: { color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || "black", }, }, showInLegend: true, }, }, series: [ { type: "pie", // name: pieData.seriesName, data: pieData, }, ], }) } var mapType function getDetail() { var provinceName = $("#currentProName").val() var cityName = $("#currentCName").val() var districtName = $("#currentDisName").val() ajax({ url: "/web/platformAnalyse/getDetail.json", type: "POST", dataType: "JSON", data: { provinceName: provinceName, cityName: cityName, districtName: districtName, }, success: function (data) { if (data["status"] == 1) { data = data["data"] if (null != data["city"] && "" != data["city"]) { $("#title").html(data["city"] + "运行情况") } else if (null != data["province"] && "" != data["province"]) { $("#title").html(data["province"] + "运行情况") } else { $("#title").html("全国运行情况") } $("#NotonlineCount").html("" + data["NotonlineCount"] + "") $("#customer").html(data["customer"]) $("#totalCount").html(data["totalCount"]) $("#total").html(data["total"] + " 万千伏安") var dataArr = [] var arr1 = ["异常运行", data["NotonlineCount"]] var arr2 = ["在线", data["onlineCount"]] dataArr.push(arr1) dataArr.push(arr2) pieChartBuild("container1", dataArr) } }, }) } function initDialog(flag) { var provinceName = $("#currentProName").val() var cityName = $("#currentCName").val() var districtName = $("#currentDisName").val() $("#content tr").remove() $("#content").append("" + '企业名称' + '负荷波动值(万千瓦)' + '地址') $("#content").append('数据加载中......') ajax({ url: "/web/platformAnalyse/getCompanyDetail.json", type: "POST", data: { provinceName: provinceName, cityName: cityName, districtName: districtName, }, dataType: "JSON", success: function (data) { $("#content tr").remove() $("#content").append( "" + '企业名称' + '监测点总数' + '当前运行异常数' + '连续三月运行异常数' + '服务公司名称' ) if (data["status"] == 1) { var host = jQuery.parseJSON(AUTH.site.config).platform["01200009"] + "." + AUTH.site.domain host = "http://" + host var html $.each(data["data"], function (i, n) { var content = "" if (i % 2 !== 0) { content += "  " + n["companyName"] + "" content += "" + n["totalCount"] + "" content += "" + n["notOnlineCount"] + "" content += "" + n["threeMonthNotOnlineCount"] + "" content += "  " + n["serviceCompany"] + "" } else { content += "  " + n["companyName"] + "" content += "" + n["totalCount"] + "" content += "" + n["notOnlineCount"] + "" content += "" + n["threeMonthNotOnlineCount"] + "" content += "  " + n["serviceCompany"] + "" } content += "" html += content }) $("#content").append(html) } }, }) } function showCompanyDetail() { win.dialog("open") initDialog() } function getCityDetail() { var provinceName = $("#currentProName").val() var cityName = $("#currentCName").val() var districtName = $("#currentDisName").val() ajax({ url: "/web/platformAnalyse/getCityDetail.json", type: "POST", dataType: "JSON", data: { provinceName: provinceName, cityName: cityName, districtName: districtName, }, success: function (data) { if (data["status"] == 1) { $("#cityContainer").css("display", "") if (null != districtName && "" != districtName) { $("#title1").html(districtName + "运行情况") } else if (null != cityName && "" != cityName) { $("#title1").html(cityName + "运行情况") } else if (null != provinceName && "" != provinceName) { $("#title1").html(provinceName + "运行情况") } data = data["data"] $("#NotonlineCount1").html("" + data["NotonlineCount"] + "") $("#customer1").html(data["customer"]) $("#totalCount1").html(data["totalCount"]) $("#total1").html(data["total"] + " 万千伏安") var dataArr = [] var arr1 = ["异常运行", data["NotonlineCount"]] var arr2 = ["在线", data["onlineCount"]] dataArr.push(arr1) dataArr.push(arr2) pieChartBuild("container2", dataArr) } }, }) } function getMapMessage() { var provinceName = $("#currentProName").val() var cityName = $("#currentCName").val() ajax({ url: "/web/platformAnalyse/getMapMessage.json", type: "POST", dataType: "JSON", data: { provinceName: provinceName, cityName: cityName, }, success: function (data) { if (data["status"] == 1) { data = data["data"] if (null != data["district"] && "" != data["district"]) { var district var dataArr = data["dataArr"] for (var pos in dataArr) { if (dataArr[pos]["name"] == data["district"]) district = [ { name: data["district"], value: dataArr[pos]["value"], selected: true, }, ] } loadAreaMap(district, data["max"], data["min"], data["city"]) } else if (null != data["city"] && "" != data["city"]) { loadCityMap(data["dataArr"], data["max"], data["min"], data["city"]) } else if (null != data["province"] && "" != data["province"]) { loadProvinceMap(data["dataArr"], data["max"], data["min"], data["province"]) } else { loadChinaMap(data["dataArr"], data["max"], data["min"]) } } }, }) } function initArea() { //initOneArea('#area1'); initOneArea("#area2") initOneArea("#area3") } function initOneArea(el) { var arr = [ { id: "", title: "请选择", selected: "true", }, ] h = arr.length * 24 $(el).combobox({ data: arr, valueField: "id", textField: "title", width: 80, panelHeight: h, }) } function getArea1() { ajax({ url: "/web/area/getComboxData.json", type: "POST", dataType: "JSON", success: function (data) { if (data["status"] == 1) { if (data["data"].length === 1) { data["data"][0].selected = "true" } var h = data["data"].length * 24 h = h > 240 ? 240 : h $("#area1").combobox({ data: data["data"], valueField: "id", textField: "title", width: 80, panelHeight: h, onChange: function () { getArea2() query() }, }) query() } }, }) } function getArea2() { //var parentId = $("#area1").combobox('getValue'); ajax({ url: "/web/platformAnalyse/getArea.json", // url: '/web/area/getComboxData.json', type: "POST", dataType: "JSON", /*data: { parentId: parentId, },*/ success: function (data) { if (data["status"] == 1) { var list = data["data"] var h = list.length * 24 h = h > 240 ? 240 : h area = data["data"] $("#area2").combobox({ data: list, valueField: "value", textField: "text", width: 80, panelHeight: h, onChange: function () { getArea3() query() }, }) } }, }) } function getArea3() { var parentId = $("#area2").combobox("getValue") ajax({ url: "/web/area/getComboxData.json", type: "POST", dataType: "JSON", data: { parentId: parentId, }, success: function (data) { if (data["status"] == 1) { var list = data["data"] list.unshift({ id: "", title: "请选择", selected: "true", }) var h = list.length * 24 h = h > 240 ? 240 : h $("#area3").combobox({ data: list, valueField: "id", textField: "title", width: 80, panelHeight: h, onChange: function () { query() }, }) } }, }) } function getIndustry() { ajax({ url: "/web/industry/getTopIndustryComboData.json", data: { id: -1, }, type: "POST", dataType: "JSON", success: function (data) { var industryData = [ { value: "", text: "全部", selected: "true", }, ] $.each(data, function (i, n) { var json = {} json["value"] = n["id"] json["text"] = n["title"] industryData.push(json) }) init_industry(industryData) }, }) } function init_industry(industryData) { var h = industryData.length * 24 h = h > 240 ? 240 : h $("#industry").combobox({ data: industryData, valueField: "value", textField: "text", width: 80, panelHeight: h, onSelect: function (rec) { showIndustry2(rec.value) query() }, }) } function showIndustry2(id) { if (null == id || "" == id) { var industry2Data = [ { value: "", text: "请选择", selected: "true", }, ] init_industry2(industry2Data) return } ajax({ url: "/web/industry/getIndustryComboDataByParent.json?industryCode=" + id, success: function (data) { var industryData2 = [ { value: "", text: "请选择", selected: "true", }, ] for (var i = 0; i < data.length; i++) { var json = {} json["value"] = data[i].id json["text"] = data[i].title if (district == data[i].id) { json["selected"] = "true" } industryData2.push(json) } init_industry2(industryData2) }, }) } function init_industry2(industryData2) { var h = industryData2.length * 24 h = h > 240 ? 240 : h $("#industry2").combobox({ data: industryData2, valueField: "value", textField: "text", width: 80, panelHeight: h, onChange: function () { query() }, }) } var myChart, ecConfig, zrEvent var clickCount = 0 var clickTimer //加载中国地图 function loadChinaMap(dataArr, max, min) { mapType = "china" // 路径配置 require.config({ paths: { echarts: "http://static.vbdsm.com/js/lib/echarts/build/dist", }, }) // 使用 require(["echarts", "echarts/chart/map"], function (ec) { // 使用柱状图就加载bar模块,按需加载 // 基于准备好的dom,初始化echarts图表 myChart = ec.init(document.getElementById("main")) var curIndx = 0 var mapType = [] var mapGeoData = require("echarts/util/mapData/params") for (var city in cityMap) { mapType.push(city) // 自定义扩展图表类型 mapGeoData.params[city] = { getGeoJson: (function (c) { var geoJsonName = cityMap[c] return function (callback) { $.getJSON("../js/geoJson/china-main-city/" + geoJsonName + ".jsonp", callback) } })(city), } } ecConfig = require("echarts/config") zrEvent = require("zrender/tool/event") myChart.on(ecConfig.EVENT.CLICK, function (param) { $("#currentProName").val(param.name) clickCount += 1 if (null != clickTimer) { return } clickTimer = window.setInterval(function () { clearInterval(clickTimer) clickTimer = null var doClick = function () { getCityDetail() } var doDBClick = function () { $("#cityContainer").css("display", "none") getMapMessage() getDetail() } if (clickCount == 1) { //单击的逻辑 doClick() } else if (clickCount % 2 == 0) { //双击的逻辑 doDBClick() } clickCount = 0 }, 300) }) option = { tooltip: { trigger: "item", formatter: "{b}", }, dataRange: { min: min, max: max, realtime: false, text: ["高", "低"], // 文本,默认为数值文本 calculable: true, color: ["#d44f47", "#de7e39", "#e49a37", "#d9c224", "#84d653", "#47d077", "#50c38b", "#40ace4", "#3c9ef1"], }, series: [ { name: "china", type: "map", mapType: "china", selectedMode: "single", itemStyle: { normal: { label: { show: true, }, areaStyle: { color: "#3c9ef1", }, }, emphasis: { label: { show: true, }, }, }, data: dataArr, }, ], } // 为echarts对象加载数据 myChart.setOption(option) }) } //加载省地图 function loadProvinceMap(dataArr, max, min, provinceName) { mapType = "province" // 路径配置 require.config({ paths: { echarts: "http://static.vbdsm.com/js/lib/echarts/build/dist", }, }) // 使用 require(["echarts", "echarts/chart/map"], function (ec) { // 使用柱状图就加载bar模块,按需加载 // 基于准备好的dom,初始化echarts图表 myChart = ec.init(document.getElementById("main")) var curIndx = 0 var mapType = [] var mapGeoData = require("echarts/util/mapData/params") for (var city in cityMap) { mapType.push(city) // 自定义扩展图表类型 mapGeoData.params[city] = { getGeoJson: (function (c) { var geoJsonName = cityMap[c] return function (callback) { $.getJSON("../js/geoJson/china-main-city/" + geoJsonName + ".jsonp", callback) } })(city), } } ecConfig = require("echarts/config") zrEvent = require("zrender/tool/event") myChart.on(ecConfig.EVENT.CLICK, function (param) { $("#currentCName").val(param.name) clickCount += 1 if (null != clickTimer) { return } clickTimer = window.setInterval(function () { clearInterval(clickTimer) clickTimer = null var doClick = function () { getCityDetail() } var doDBClick = function () { $("#cityContainer").css("display", "none") getMapMessage() getDetail() } if (clickCount == 1) { //单击的逻辑 doClick() } else if (clickCount % 2 == 0) { //双击的逻辑 doDBClick() } clickCount = 0 }, 300) }) option = { tooltip: { trigger: "item", formatter: "{b}", }, dataRange: { min: min, max: max, realtime: false, text: ["高", "低"], // 文本,默认为数值文本 calculable: true, color: ["#d44f47", "#de7e39", "#e49a37", "#d9c224", "#84d653", "#47d077", "#50c38b", "#40ace4", "#3c9ef1"], }, toolbox: { show: true, feature: { selfButtons: { //自定义按钮 danielinbiti,这里增加,selfbuttons可以随便取名字 show: true, //是否显示 title: "返回", //鼠标移动上去显示的文字 icon: "http://static.vbdsm.com/js/lib/easyui/themes/icons/back.png", //图标 option: {}, onclick: function (option) { //点击事件,这里的option1是chart的option信息 $("#currentProName").val("") $("#currentCName").val("") $("#currentDisName").val("") $("#cityContainer").css("display", "none") getMapMessage() getDetail() }, }, }, }, series: [ { name: provinceName, type: "map", mapType: provinceName, selectedMode: "single", itemStyle: { normal: { label: { show: true, }, areaStyle: { color: "#3c9ef1", }, }, emphasis: { label: { show: true, }, }, }, data: dataArr, }, ], } // 为echarts对象加载数据 myChart.setOption(option) }) } //加载地市地图 function loadCityMap(dataArr, max, min, cityName) { mapType = "city" // 路径配置 require.config({ paths: { echarts: "http://static.vbdsm.com/js/lib/echarts/build/dist", }, }) // 使用 require(["echarts", "echarts/chart/map"], function (ec) { // 使用柱状图就加载bar模块,按需加载 // 基于准备好的dom,初始化echarts图表 myChart = ec.init(document.getElementById("main")) var curIndx = 0 var mapType = [] var mapGeoData = require("echarts/util/mapData/params") for (var city in cityMap) { mapType.push(city) // 自定义扩展图表类型 mapGeoData.params[city] = { getGeoJson: (function (c) { var geoJsonName = cityMap[c] return function (callback) { $.getJSON("../js/geoJson/china-main-city/" + geoJsonName + ".jsonp", callback) } })(city), } } ecConfig = require("echarts/config") zrEvent = require("zrender/tool/event") myChart.on(ecConfig.EVENT.CLICK, function (param) { $("#currentDisName").val(param.name) clickCount += 1 if (null != clickTimer) { return } clickTimer = window.setInterval(function () { clearInterval(clickTimer) clickTimer = null var doClick = function () { getCityDetail() } var doDBClick = function () { $("#currentProName").val("") $("#currentCName").val("") $("#currentDisName").val("") $("#cityContainer").css("display", "none") getMapMessage() getDetail() } if (clickCount == 1) { //单击的逻辑 doClick() } else if (clickCount % 2 == 0) { //双击的逻辑 doDBClick() } clickCount = 0 }, 300) }) option = { tooltip: { trigger: "item", formatter: "{b}", }, dataRange: { min: min, max: max, realtime: false, text: ["高", "低"], // 文本,默认为数值文本 calculable: true, color: ["#d44f47", "#de7e39", "#e49a37", "#d9c224", "#84d653", "#47d077", "#50c38b", "#40ace4", "#3c9ef1"], }, toolbox: { show: true, feature: { selfButtons: { //自定义按钮 danielinbiti,这里增加,selfbuttons可以随便取名字 show: true, //是否显示 title: "返回", //鼠标移动上去显示的文字 icon: "http://static.vbdsm.com/js/lib/easyui/themes/icons/back.png", //图标 option: {}, onclick: function (option) { //点击事件,这里的option1是chart的option信息 $("#currentCName").val("") $("#currentDisName").val("") $("#cityContainer").css("display", "none") getMapMessage() getDetail() }, }, }, }, series: [ { name: cityName, type: "map", mapType: cityName, selectedMode: "single", itemStyle: { normal: { label: { show: true, }, areaStyle: { color: "#3c9ef1", }, }, emphasis: { label: { show: true, }, }, }, data: dataArr, }, ], } // 为echarts对象加载数据 myChart.setOption(option) }) } //加载地市地图 function loadAreaMap(dataArr, max, min, cityName) { mapType = "city" // 路径配置 require.config({ paths: { echarts: "http://static.vbdsm.com/js/lib/echarts/build/dist", }, }) // 使用 require(["echarts", "echarts/chart/map"], function (ec) { // 使用柱状图就加载bar模块,按需加载 // 基于准备好的dom,初始化echarts图表 myChart = ec.init(document.getElementById("main")) var curIndx = 0 var mapType = [] var mapGeoData = require("echarts/util/mapData/params") for (var city in cityMap) { mapType.push(city) // 自定义扩展图表类型 mapGeoData.params[city] = { getGeoJson: (function (c) { var geoJsonName = cityMap[c] return function (callback) { $.getJSON("../js/geoJson/china-main-city/" + geoJsonName + ".jsonp", callback) } })(city), } } ecConfig = require("echarts/config") zrEvent = require("zrender/tool/event") option = { tooltip: { trigger: "item", formatter: "{b}", }, dataRange: { min: min, max: max, realtime: false, text: ["高", "低"], // 文本,默认为数值文本 calculable: true, color: ["#d44f47", "#de7e39", "#e49a37", "#d9c224", "#84d653", "#47d077", "#50c38b", "#40ace4", "#3c9ef1"], }, toolbox: { show: false, feature: { selfButtons: { //自定义按钮 danielinbiti,这里增加,selfbuttons可以随便取名字 show: true, //是否显示 title: "返回", //鼠标移动上去显示的文字 icon: "http://static.vbdsm.com/js/lib/easyui/themes/icons/back.png", //图标 option: {}, onclick: function (option) { //点击事件,这里的option1是chart的option信息 $("#currentCName").val("") $("#currentDisName").val("") $("#cityContainer").css("display", "none") getMapMessage() getDetail() }, }, }, }, series: [ { name: cityName, type: "map", mapType: cityName, selectedMode: "single", itemStyle: { normal: { label: { show: true, }, areaStyle: { color: "#3c9ef1", }, }, emphasis: { label: { show: true, }, }, }, data: dataArr, }, ], } // 为echarts对象加载数据 myChart.setOption(option) }) } function showDayChart(series, yAxis, title) { $("#chartdiv").highcharts({ title: { text: title, x: -20, }, xAxis: { type: "datetime", tickInterval: 3 * 3600 * 1000, gridLineWidth: 1, // 默认是0,即在图上没有纵轴间隔线 // 自定义x刻度上显示的时间格式,根据间隔大小,以下面预设的小时/分钟/日的格式来显示 dateTimeLabelFormats: { hour: "%H:%M", day: "00:00", }, }, yAxis: yAxis, tooltip: { crosshairs: { width: 1, color: "gray", }, headerFormat: '时间:{point.key}
', pointFormat: '{series.name}: {point.y}
', valueDecimals: 2, // 数据值保留小数位数 xDateFormat: "%H:%M", shared: true, }, legend: { borderWidth: 0, }, plotOptions: { column: { dataLabels: { enabled: false, color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || "white", }, }, series: { connectNulls: true, }, }, series: series, }) } //扩展Date的format方法 Date.prototype.format = function (format) { var o = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getMinutes(), "s+": this.getSeconds(), "q+": Math.floor((this.getMonth() + 3) / 3), S: this.getMilliseconds(), } if (/(y+)/.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)) } for (var k in o) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)) } } return format }