This repository has been archived on 2026-06-20. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
EDT/admin/js/webdatarocks/webdatarocks.fusioncharts.js
wsh5485 7e47ce238b chore: 添加多个图片和资源文件
添加了管理后台所需的图片资源、Excel文件、安装程序以及设计相关的图片文件
2025-06-15 13:04:37 +08:00

519 lines
14 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/**
* WebDataRocks Reporting v1.3.3 (http://www.webdatarocks.com/)
* Copyright 2020 WebDataRocks. All rights reserved.
*/
(function () {
WebDataRocksFusioncharts = {};
WebDataRocksFusioncharts.getData = function (options, callbackHandler, updateHandler) {
var type = options.type;
var _options = {
type: options.type
}
//define slice to select the data you would like to show (different from data that webdatarocks instance is showing)
//leave it undefined to get the data that webdatarocks instance is showing
var slice = options.slice;
//in case WebDataRocksFusioncharts does not include the type of chart you need
//or you need to preprocess the data in a different way
//please use prepareDataFunction
var _prepareDataFunction = options.prepareDataFunction;
var _updateHandler;
if (updateHandler != null) {
_updateHandler = function (data) {
if (_prepareDataFunction != undefined) {
updateHandler(_prepareDataFunction(data, _options), data);
} else {
updateHandler(prepareData(data, _options.type), data);
}
};
}
this.instance.getData({
slice: slice
}, function (data) {
if (_prepareDataFunction != undefined) {
callbackHandler(_prepareDataFunction(data, _options), data);
} else {
callbackHandler(prepareData(data, _options.type), data);
}
}, _updateHandler
);
}
WebDataRocksFusioncharts.getNumberFormat = function (fmt) {
var format = {};
if (fmt != null) {
var thousandsSeparator = (fmt["thousandsSeparator"] != undefined && fmt["thousandsSeparator"] != "");
if (thousandsSeparator) {
format.thousandSeparator = fmt["thousandsSeparator"];
}
var decimalSeparator = (fmt["decimalSeparator"] != undefined && fmt["decimalSeparator"] != "");
if (decimalSeparator) {
format.decimalSeparator = fmt["decimalSeparator"];
}
var decimalPlaces = (fmt["decimalPlaces"] != undefined && fmt["decimalPlaces"] != -1);
if (decimalPlaces) {
format.decimals = fmt["decimalPlaces"];
format.forceDecimals = "1";
}
var currencySymbol = fmt["currencySymbol"] != undefined && fmt["currencySymbol"] != "";
if (currencySymbol) {
if (fmt["currencySymbolAlign"] == "left") {
format.numberPrefix = fmt["currencySymbol"];
} else if (fmt["currencySymbolAlign"] == "right") {
format.numberSuffix = fmt["currencySymbol"];
}
}
}
return format;
}
function prepareData(data, type) {
switch (type) {
case "column2d":
case "column3d":
case "line":
case "area2d":
case "bar2d":
case "bar3d":
case "pie2d":
case "pie3d":
case "doughnut2d":
case "doughnut3d":
case "pareto2d":
case "pareto3d":
case "spline":
case "splinearea":
return prepareSingleSeriesChart(data, type);
case "mscolumn2d":
case "mscolumn3d":
case "mscolumn3dlinedy":
case "msline":
case "msbar2d":
case "msbar3d":
case "msarea":
case "marimekko":
case "stackedcolumn2d":
case "stackedcolumn3d":
case "stackedbar2d":
case "stackedbar2d":
case "stackedarea2d":
case "msspline":
case "mssplinearea":
case "radar":
return prepareMultiSeriesChart(data, type);
case "maps/worldwithcountries":
return prepareMap(data, type);
default:
return data;
}
}
function prepareSingleSeriesChart(data, type) {
var output = prepareChartInfo(data, type);
output.data = [];
for (var i = 0; i < data.data.length; i++) {
var elem = {};
var record = data.data[i];
if (data.meta["rAmount"] > 0) {
if (record["r0"] == undefined || record["r1"] != undefined || record["c0"] != undefined || record["v0"] == undefined) continue;
elem["label"] = record["r0"];
elem["value"] = record["v0"];
} else if (data.meta["cAmount"] > 0) {
if (record["c0"] == undefined || record["c1"] != undefined || record["r0"] != undefined || record["v0"] == undefined) continue;
elem["label"] = record["c0"];
elem["value"] = record["v0"];
} else {
if (record["v0"] == undefined) continue;
elem["value"] = record["v0"];
}
output.data.push(elem);
}
return output;
}
function prepareMultiSeriesChart(data, type) {
var output = prepareChartInfo(data, type);
output.categories = [];
output.dataset = [];
var categories = {};
var series = {};
for (var i = 0; i < data.data.length; i++) {
var record = data.data[i];
if (data.meta["rAmount"] > 0 && data.meta["cAmount"] > 0) {
if (record["r0"] == undefined || record["r1"] != undefined || record["v0"] == undefined) continue;
if (categories[record["r0"]] == undefined) categories[record["r0"]] = { "label": record["r0"] };
if (record["c0"] == undefined || record["c1"] != undefined) continue;
if (series[record["c0"]] == undefined) series[record["c0"]] = [];
series[record["c0"]].push({ "value": [record["v0"]] });
} else if (data.meta["rAmount"] > 0) {
if (record["r0"] == undefined || record["r1"] != undefined || record["v0"] == undefined) continue;
if (categories[record["r0"]] == undefined) categories[record["r0"]] = { "label": record["r0"] };
if (series[""] == undefined) series[""] = [];
series[""].push({ "value": [record["v0"]] });
} else if (data.meta["cAmount"] > 0) {
if (record["c0"] == undefined || record["c1"] != undefined || record["v0"] == undefined) continue;
if (categories[record["c0"]] == undefined) categories[record["c0"]] = { "label": record["c0"] };
if (series[""] == undefined) series[""] = [];
series[""].push({ "value": [record["v0"]] });
}
}
var cats = [];
for (var category in categories) {
cats.push(categories[category]);
}
output.categories.push({ "category": cats });
for (var seriesname in series) {
output.dataset.push({ "seriesname": seriesname, "data": series[seriesname] });
}
return output;
}
function prepareChartInfo(data, type) {
var output = {
chart: {}
};
output.chart.caption = data.meta.caption;
//number formatting
var format = WebDataRocksFusioncharts.getNumberFormat(data.meta.formats[0]);
for (var prop in format) {
output.chart[prop] = format[prop];
}
//for the 2nd y axis
if (data.meta.formats.length > 1) {
var format2 = WebDataRocksFusioncharts.getNumberFormat(data.meta.formats[1]);
for (var prop in format2) {
output.chart["s" + prop] = format2[prop];
}
}
switch (type) {
case "pie2d":
case "pie3d":
case "doughnut2d":
case "doughnut3d":
case "radar":
break;
case "pareto2d":
case "pareto3d":
output.chart.pYAxisName = data.meta.v0Name;
break;
default:
output.chart.xAxisName = (data.meta.r0Name != undefined) ? data.meta.r0Name : ((data.meta.c0Name != undefined) ? data.meta.c0Name : "");
output.chart.yAxisName = data.meta.v0Name;
}
return output;
}
function prepareMap(data, type) {
var output = prepareMapInfo(data, type);
output.data = [];
var minValue;
var maxValue;
for (var i = 0; i < data.data.length; i++) {
var record = data.data[i];
if (data.meta["rAmount"] > 0) {
if (record["r0"] == undefined || record["r1"] != undefined || record["c0"] != undefined || record["v0"] == undefined) continue;
output.data.push({
"id": toMapID(record["r0"]),
"value": record["v0"]
});
minValue = (minValue == undefined || record["v0"] < minValue) ? record["v0"] : minValue;
maxValue = (maxValue == undefined || record["v0"] > maxValue) ? record["v0"] : maxValue;
} else if (data.meta["cAmount"] > 0) {
if (record["c0"] == undefined || record["c1"] != undefined || record["r0"] != undefined || record["v0"] == undefined) continue;
output.data.push({
"id": toMapID(record["c0"]),
"value": record["v0"]
});
minValue = (minValue == undefined || record["v0"] < minValue) ? record["v0"] : minValue;
maxValue = (maxValue == undefined || record["v0"] > maxValue) ? record["v0"] : maxValue;
}
}
output.extradata = {
"minValue": minValue,
"maxValue": maxValue
};
return output;
}
function prepareMapInfo(data, type) {
var output = {
chart: {}
};
output.chart.caption = data.meta.caption;
//number formatting
var format = WebDataRocksFusioncharts.getNumberFormat(data.meta.formats[0]);
for (var prop in format) {
output.chart[prop] = format[prop];
}
return output;
}
function toMapID(label) {
var countries = {
"Antigua and Barbuda": "01",
"Bahamas": "02",
"Barbados": "03",
"Belize": "04",
"Canada": "05",
"Costa Rica": "06",
"Cuba": "07",
"Dominica": "08",
"Dominican Republic": "09",
"El Salvador": "10",
"Grenada": "11",
"Guatemala": "12",
"Haiti": "13",
"Honduras": "14",
"Jamaica": "15",
"Mexico": "16",
"Nicaragua": "17",
"Panama": "18",
"St.Kitts & Nevis": "19",
"St.Lucia": "20",
"St.Vincent & the Grenadines": "21",
"Trinidad & Tobago": "22",
"United States": "23",
"Greenland": "24",
"Argentina": "25",
"Bolivia": "26",
"Brazil": "27",
"Chile": "28",
"Colombia": "29",
"Ecuador": "30",
"Falkland Islands": "31",
"French Guiana": "32",
"Guyana": "33",
"Paraguay": "34",
"Peru": "35",
"Suriname": "36",
"Uruguay": "37",
"Venezuela": "38",
"Algeria": "39",
"Angola": "40",
"Benin": "41",
"Botswana": "42",
"Burkina Faso": "43",
"Burundi": "44",
"Cameroon": "45",
"Cape Verde": "46",
"Central African Republic": "47",
"Chad": "48",
"Comoros": "49",
"Cote divoire": "50",
"Democratic Republic of the Congo": "51",
"Djibouti": "52",
"Egypt": "53",
"Equatorial Guinea": "54",
"Eritrea": "55",
"Ethiopia": "56",
"Gabon": "57",
"Ghana": "58",
"Guinea": "59",
"Guinea-Bissau": "60",
"Kenya": "61",
"Lesotho": "62",
"Liberia": "63",
"Libya": "64",
"Madagascar": "65",
"Malawi": "66",
"Mali": "67",
"Mauritania": "68",
"Morocco": "69",
"Mozambique": "70",
"Namibia": "71",
"Niger": "72",
"Nigeria": "73",
"Rwanda": "74",
"Sao Tome and Principe": "75",
"Senegal": "76",
"Seychelles": "77",
"Sierra Leone": "78",
"Somalia": "79",
"South Africa": "80",
"Sudan": "81",
"Swaziland": "82",
"Tanzania": "83",
"Togo": "84",
"Tunisia": "85",
"Uganda": "86",
"Western Sahara": "87",
"Zambia": "88",
"Zimbabwe": "89",
"Gambia": "90",
"Congo": "91",
"Mauritius": "92",
"Afghanistan": "93",
"Armenia": "94",
"Azerbaijan": "95",
"Bangladesh": "96",
"Bhutan": "97",
"Brunei": "98",
"Burma (Myanmar)": "99",
"Cambodia": "100",
"China": "101",
"East Timor": "102",
"Georgia": "103",
"India": "104",
"Indonesia": "105",
"Iran": "106",
"Japan": "107",
"Kazakhstan": "108",
"Korea (north)": "109",
"Korea (south)": "110",
"Kyrgyzstan": "111",
"Laos": "112",
"Malaysia": "113",
"Mongolia": "114",
"Nepal": "115",
"Pakistan": "116",
"Philippines": "117",
"Russia": "118",
"Singapore": "119",
"Sri Lanka": "120",
"Tajikistan": "121",
"Thailand": "122",
"Turkmenistan": "123",
"Uzbekistan": "124",
"Vietnam": "125",
"Taiwan": "126",
"Hong Kong": "127",
"Macau": "128",
"Albania": "129",
"Andorra": "130",
"Austria": "131",
"Belarus": "132",
"Belgium": "133",
"Bosnia and Herzegovina": "134",
"Bulgaria": "135",
"Croatia": "136",
"Czech Republic": "137",
"Denmark": "138",
"Estonia": "139",
"Finland": "140",
"France": "141",
"Germany": "142",
"Greece": "143",
"Hungary": "144",
"Iceland": "145",
"Ireland": "146",
"Italy": "147",
"Latvia": "148",
"Liechtenstein": "149",
"Lithuania": "150",
"Luxembourg": "151",
"Macedonia": "152",
"Malta": "153",
"Moldova": "154",
"Monaco": "155",
"Montenegro": "156",
"Netherlands": "157",
"Norway": "158",
"Poland": "159",
"Portugal": "160",
"Romania": "161",
"San Marino": "162",
"Serbia": "163",
"Slovakia": "164",
"Slovenia": "165",
"Spain": "166",
"Sweden": "167",
"Switzerland": "168",
"Ukraine": "169",
"United Kingdom": "170",
"Vatican City": "171",
"Cyprus": "172",
"Turkey": "173",
"Australia": "175",
"Fiji": "176",
"Kiribati": "177",
"Marshall Islands": "178",
"Micronesia": "179",
"Nauru": "180",
"New Zealand": "181",
"Palau": "182",
"Papua New Guinea": "183",
"Samoa": "184",
"Solomon Islands": "185",
"Tonga": "186",
"Tuvalu": "187",
"Vanuatu": "188",
"New Caledonia": "189",
"Bahrain": "190",
"Iraq": "191",
"Israel": "192",
"Jordan": "193",
"Kuwait": "194",
"Lebanon": "195",
"Oman": "196",
"Qatar": "197",
"Saudi Arabia": "198",
"Syria": "199",
"United Arab Emirates": "200",
"Yemen": "201",
"Puerto Rico": "202",
"Cayman Islands": "203",
"South Sudan": "204",
"Kosovo": "205",
"Aruba": "206",
"Anguilla": "207",
"American Samoa": "208",
"Bermuda": "209",
"Christmas Island": "210",
"Cocos (Keeling) Islands": "211",
"Cook Islands": "212",
"Faroe Islands": "213",
"French Polynesia": "214",
"Gaza Strip": "215",
"Gibraltar": "216",
"Guadeloupe": "217",
"Guam": "218",
"Guernsey": "219",
"Jersey": "220",
"Kingman Reef": "221",
"Maldives": "222",
"Isle of Man": "223",
"Martinique": "224",
"Mayotte": "225",
"Montserrat": "226",
"BES Islands": "227",
"Curacao": "228",
"Sint Maarten": "229",
"Niue": "230",
"Norfolk Island": "231",
"Northern Mariana Islands": "232",
"Pitcairn Islands": "233",
"Reunion": "234",
"Saint Helena": "235",
"Saint Pierre and Miquelon": "236",
"Turks and Caicos Islands": "237",
"Virgin Islands (UK)": "238",
"Virgin Islands (US)": "239",
"West Bank": "240",
"Wallis and Futuna": "241"
};
if (countries[label] == undefined) {
if (label == "Moldova Republic of") label = "Moldova";
if (label == "United Kingdom (Scotland)") label = "United Kingdom";
if (label == "Korea, Democratic People's Republic of") label = "Korea (north)";
if (label == "Russian Federation") label = "Russia";
}
return (countries[label] != undefined) ? countries[label] : "";
}
})();