UNPKG

iep-ui

Version:

An enterprise-class UI design language and Vue-based implementation

370 lines (364 loc) 8.42 kB
export var factorDict = { factor: { aqi: { unit: '', name: 'AQI', colorMap: { '00e400': [0, 50], ffff00: [50, 100], ff7e00: [100, 150], ff0000: [150, 200], '99004c': [200, 300], '7e0023': [300, 500], '6e6e6e': [500] }, degreeMap: { '00e400': '(优)', ffff00: '(良)', ff7e00: '(轻度)', ff0000: '(中度)', '99004c': '(重度)', '7e0023': '(严重)' } }, pm25: { unit: 'μg/m³', name: 'PM2.5', colorMap: { '00e400': [0, 35], ffff00: [35, 75], ff7e00: [75, 115], ff0000: [115, 150], '99004c': [150, 250], '7e0023': [250, 500], '7e0022': [500] }, degreeMap: { '00e400': '(优)', ffff00: '(良)', ff7e00: '(轻度)', ff0000: '(中度)', '99004c': '(重度)', '7e0023': '(严重)' } }, pm10: { unit: 'μg/m³', name: 'PM10', colorMap: { '00e400': [0, 50], ffff00: [50, 150], ff7e00: [150, 250], ff0000: [250, 350], '99004c': [350, 420], '7e0023': [420, 600], '7e0022': [600] }, degreeMap: { '00e400': '(优)', ffff00: '(良)', ff7e00: '(轻度)', ff0000: '(中度)', '99004c': '(重度)', '7e0023': '(严重)' } }, so2: { unit: 'μg/m³', name: 'SO2', colorMap: { '00e400': [0, 50], ffff00: [50, 150], ff7e00: [150, 475], ff0000: [475, 800], '99004c': [800, 1600], '7e0023': [1600, 2620], '6e6e6e': [2620] }, degreeMap: { '00e400': '(优)', ffff00: '(良)', ff7e00: '(轻度)', ff0000: '(中度)', '99004c': '(重度)', '7e0023': '(严重)' } }, no2: { unit: 'μg/m³', name: 'NO2', colorMap: { '00e400': [0, 40], ffff00: [40, 80], ff7e00: [80, 180], ff0000: [180, 280], '99004c': [280, 565], '7e0023': [565, 940], '6e6e6e': [940] }, degreeMap: { '00e400': '(优)', ffff00: '(良)', ff7e00: '(轻度)', ff0000: '(中度)', '99004c': '(重度)', '7e0023': '(严重)' } }, co: { unit: 'mg/m³', name: 'CO', colorMap: { '00e400': [0, 2], ffff00: [2, 4], ff7e00: [4, 14], ff0000: [14, 24], '99004c': [24, 36], '7e0023': [36, 60], '6e6e6e': [60] }, degreeMap: { '00e400': '(优)', ffff00: '(良)', ff7e00: '(轻度)', ff0000: '(中度)', '99004c': '(重度)', '7e0023': '(严重)' } }, o3: { unit: 'μg/m³', name: 'O3', colorMap: { '00e400': [0, 100], ffff00: [100, 160], ff7e00: [160, 215], ff0000: [215, 265], '99004c': [265, 800], '7e0023': [800, 1200], '6e6e6e': [1200] }, degreeMap: { '00e400': '(优)', ffff00: '(良)', ff7e00: '(轻度)', ff0000: '(中度)', '99004c': '(重度)', '7e0023': '(严重)' } }, ci: { unit: 'μg/m³', name: 'CI', colorMap: { '00e400': [0, 1.3], ffff00: [1.3, 4], ff7e00: [4, 8], ff0000: [8, 12], '99004c': [12, 20], '7e0023': [20] }, degreeMap: { '00e400': '(优)', ffff00: '(良)', ff7e00: '(轻度)', ff0000: '(中度)', '99004c': '(重度)', '7e0023': '(严重)' } }, tsp: { unit: 'μg/m³', name: 'TSP', colorMap: { '00e400': [0, 120], ffff00: [120, 300], ff7e00: [300, 400], ff0000: [400, 500], '99004c': [500, 625], '7e0023': [625, 3000], '6e6e6e': [3000] }, degreeMap: { '00e400': '', ffff00: '', ff7e00: '', ff0000: '', '99004c': '', '7e0023': '' } }, voc: { unit: 'mg/m³', name: 'VOC', colorMap: { '00e400': [0, 0.19], ffff00: [0.19, 0.59], ff7e00: [0.59, 1.79], ff0000: [1.79, 2.29], '99004c': [2.29, 3], '7e0023': [3] }, degreeMap: { '00e400': '', ffff00: '', ff7e00: '', ff0000: '', '99004c': '', '7e0023': '' } }, temperature: { unit: '℃', name: '温度', colorMap: { '8274cc': [-40, -30], acb3e2: [-30, -20], '95d0d8': [-20, -10], '61afff': [-10, 0], '87b922': [0, 10], e5aa06: [10, 20], e45914: [20, 30], '8a2b0a': [30] }, degreeMap: { '8274cc': '', acb3e2: '', '95d0d8': '', '61afff': '', '87b922': '', e5aa06: '', e45914: '', '8a2b0a': '' } }, humidity: { unit: '%', name: '湿度', colorMap: { c4be20: [0, 20], c4be21: [20, 40], '4fcb46': [40, 60], '45afde': [60, 80], '6661f1': [80] }, degreeMap: { c4be20: '', c4be21: '', '4fcb46': '', '45afde': '', '6661f1': '' } }, pressure: { unit: 'Pa', name: '气压', colorMap: { '6493FF': [1, 100000000000000000] }, degreeMap: { '6493FF': '' } } }, colorForValue: { '00e400': '优', ffff00: '良', ff7e00: '轻度', ff0000: '中度', '99004c': '重度', '7e0023': '严重', '6e6e6e': '无' }, colorForFont: { '#00e400': '#000', '#ffff00': '#000', '#ff7e00': '#fff', '#ff0000': '#fff', '#99004c': '#fff', '#7e0023': '#fff', '#6e6e6e': '#fff' }, wind: { '东北⻛': [22.5, 67.5], '东⻛': [67.5, 112.5], '东南⻛': [112.5, 157.5], '南⻛': [157.5, 202.5], '⻄南⻛': [202.5, 247.5], '⻄⻛': [247.5, 292.5], '⻄北⻛': [292.5, 337.5] }, windLevel: { '0级': [0, 0.2], '1级': [0.2, 1.5], '2级': [1.5, 3.3], '3级': [3.3, 5.4], '4级': [5.4, 7.9], '5级': [7.9, 10.7], '6级': [10.7, 13.8], '7级': [13.8, 17.1], '8级': [17.1, 20.7], '9级': [20.7, 24.4], '10级': [24.4, 28.4], '11级': [28.4, 32.6] }, windLevelZh: { '零级(⽆⻛)': [0, 0.2], '⼀级(软⻛)': [0.2, 1.5], '⼆级(轻⻛)': [1.5, 3.3], '三级(微⻛)': [3.3, 5.4], '四级(和⻛)': [5.4, 7.9], '五级(劲⻛)': [7.9, 10.7], '六级(强⻛)': [10.7, 13.8], '七级(疾⻛)': [13.8, 17.1], '⼋级(⼤⻛)': [17.1, 20.7], '九级(烈⻛)': [20.7, 24.4], '⼗级(狂⻛)': [24.4, 28.4], '⼗⼀级(暴⻛)': [28.4, 32.6] } }; /** * 将污染因子值转化为对应颜色 */ export var formatValueToColor = function formatValueToColor(v, t) { if (!t) return '#8a97a0'; var vs = (factorDict.factor[t] || factorDict.factor[t.toLowerCase()] || {}).colorMap; if (!vs) return '#8a97a0'; v = +v; for (var i in vs) { if (vs[i].length === 1 && vs[i][0] < v) return '#' + i;else if (vs[i][0] < v && v <= vs[i][1]) { return '#' + i; } } return '#8a97a0'; }; /** * 将污染因子值背景转化为对应字体的颜色 */ export var formatValueToFontColor = function formatValueToFontColor(v, t) { var colorForFont = factorDict.colorForFont.colorForFont; return colorForFont[formatValueToColor(v, t.toLowerCase())]; }; /** * 计算风速 */ export var getWindSpeed = function getWindSpeed(val) { var wind = factorDict.wind; var values = Object.keys(wind).filter(function (item) { var arr = wind['' + item]; return val >= arr[0] && val < arr[1]; }); return values[0]; }; /** * 计算风向 */ export var getWindLevel = function getWindLevel(val) { var isZh = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; var windLevel = isZh ? factorDict.windLevelZh : factorDict.windLevel; var values = Object.keys(windLevel).filter(function (item) { var arr = windLevel[item]; return val >= arr[0] && val < arr[1]; }); return values[0]; };