iep-ui
Version:
An enterprise-class UI design language and Vue-based implementation
165 lines (151 loc) • 4.47 kB
JavaScript
Object.defineProperty(exports, "__esModule", {
value: true
});
var _vueTypes = require('../_util/vue-types');
var _vueTypes2 = _interopRequireDefault(_vueTypes);
var _toolkits = require('../toolkits');
var _toolkits2 = _interopRequireDefault(_toolkits);
var _moment = require('moment');
var _moment2 = _interopRequireDefault(_moment);
var _lodash = require('lodash');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var airParamsEnumKeys = [{
key: 'so2',
name: 'SO2',
ncode: 'a21026',
unit: 'ug/m³'
}, {
key: 'no2',
name: 'NO2',
ncode: 'a21004',
unit: 'ug/m³'
}, {
key: 'co',
name: 'CO',
ncode: 'a21005',
unit: 'mg/m³'
}, {
key: 'o3',
name: 'O3',
ncode: 'a05024',
unit: 'ug/m³'
}, {
key: 'pm25',
name: 'PM2.5',
ncode: 'a34004',
unit: 'ug/m³'
}, {
key: 'pm10',
name: 'PM10',
ncode: 'a34002',
unit: 'ug/m³'
}];
var waterParamsEnumKeys = [{
key: 'ph',
name: 'pH值',
ncode: 'w01001'
}, {
key: 'cod',
name: '化学需氧量',
ncode: 'w01018'
}, {
key: 'nh3n',
name: '氨氮(NH3-N)',
ncode: 'w21003'
}, {
key: 'tp',
name: '总磷(以 P 计)',
ncode: 'w21011'
}, {
key: 'tn',
name: '总氮(以 N 计)',
ncode: 'w21001'
}, {
key: 'dissolvedOxygen',
name: '溶解氧',
ncode: 'w01009'
}];
exports['default'] = {
name: 'PolluteTooltip',
props: {
data: {
type: Object,
'default': function _default() {}
},
prefixCls: _vueTypes2['default'].string,
mode: _vueTypes2['default'].string.def('air'),
type: _vueTypes2['default'].string,
factorList: _vueTypes2['default'].array,
factor: _vueTypes2['default'].string
},
data: function data() {
return {
factorDict: _toolkits2['default'].pollutionFactors.factorDict,
waterDict: _toolkits2['default'].waterLevel.waterDict,
formatValueToColor: _toolkits2['default'].pollutionFactors.formatValueToColor,
waterFormatValueToColor: _toolkits2['default'].waterLevel.formatWaterValueToColor,
formatWaterLevel: _toolkits2['default'].waterLevel.formatWaterLevel,
formatValueToFontColor: _toolkits2['default'].pollutionFactors.formatValueToFontColor
};
},
render: function render() {
var h = arguments[0];
var $props = this.$props,
data = this.data,
factorDict = this.factorDict,
waterDict = this.waterDict,
formatValueToColor = this.formatValueToColor,
formatValueToFontColor = this.formatValueToFontColor,
waterFormatValueToColor = this.waterFormatValueToColor,
formatWaterLevel = this.formatWaterLevel;
var type = $props.type,
mode = $props.mode,
factorList = $props.factorList,
factor = $props.factor;
var paramsVNodes = (0, _lodash.filter)(factorList, function (e) {
return e !== factor;
}).map(function (item) {
return h(
'div',
{ 'class': $props.prefixCls + '-tooltip-footer-item' },
[h('span', [mode === 'air' ? factorDict.factor[item].name : waterDict.factor[item].name]), h(
'span',
{
style: {
'--bg-color': (mode === 'air' ? formatValueToColor : waterFormatValueToColor)(data[item], item),
'--text-color': formatValueToFontColor(data[item], item)
}
},
[parseFloat(data[item]) >= 0 ? data[item] : '--']
)]
);
});
return h(
'div',
{ 'class': $props.prefixCls + '-tooltip' },
[h(
'div',
{ 'class': $props.prefixCls + '-tooltip-header' },
[h('span', [(0, _moment2['default'])(data.time).format('YYYY/MM/DD')])]
), h(
'div',
{ 'class': $props.prefixCls + '-tooltip-aqi' },
[h('span', [mode === 'air' ? factorDict.factor[factor].name : waterDict.factor[factor].name]), h(
'span',
{
style: {
'--bg-color': mode === 'air' ? formatValueToColor(data[factor], factor) : waterFormatValueToColor(data[factor], factor),
'--text-color': formatValueToFontColor(data[factor], factor)
}
},
[mode === 'air' ? parseFloat(data[factor]) >= 0 ? data[factor] : '--' : parseFloat(data[factor]) >= 0 ? formatWaterLevel(data[factor]) : '--']
)]
), h(
'div',
{ 'class': $props.prefixCls + '-tooltip-footer' },
[paramsVNodes]
)]
);
}
};
;