<template>
|
<div style="width:100%">
|
<div class="topSelect">
|
<div>
|
<el-radio-group v-model="dateRadio" style="margin-left:20px">
|
<el-radio-button label="月报" />
|
<el-radio-button label="年报" />
|
<el-radio-button label="自定义" />
|
</el-radio-group>
|
<component :is="dataType" :class="{'w160':w160,'w400':w400}" :value1="currentDate" style="padding-left:0;margin-left:10px" @sendPickerChild="showPickerChild" />
|
<el-radio-group v-model="cityRadio" style="margin-left:20px">
|
<el-radio-button label="省内城市" />
|
<el-radio-button label="市区范围" />
|
<el-radio-button label="2+26城市" />
|
</el-radio-group>
|
<el-radio-group v-model="compareRadio" style="margin-left:20px">
|
<el-radio-button label="同比" />
|
<el-radio-button label="环比" />
|
</el-radio-group>
|
</div>
|
<div>
|
<el-button type="primary" @click="getData()">查询</el-button>
|
<el-button type="primary" @click="setExport2Excel()">报表导出</el-button>
|
</div>
|
</div>
|
<div class="topTitle">
|
<el-table
|
:id="'mytable1'"
|
ref="mytable1"
|
height="720"
|
:data="tableData"
|
border
|
style="width: 100%"
|
:default-sort="{prop: 'rank', order: 'ascending'}"
|
:cell-class-name="tableCellClassName"
|
:cell-style="cellStyle"
|
@sort-change="changeTableSort"
|
>
|
<el-table-column
|
prop="rank"
|
label="排名"
|
align="center"
|
/>
|
<el-table-column
|
prop="cityName"
|
label="城市"
|
align="center"
|
/>
|
<el-table-column
|
label="综合指数"
|
align="center"
|
>
|
<el-table-column
|
prop="compositeIndex.percent"
|
:label="compareLabel"
|
align="center"
|
sortable
|
/>
|
<el-table-column
|
prop="compositeIndex.concentration"
|
label="指数"
|
align="center"
|
sortable
|
/>
|
</el-table-column>
|
<el-table-column
|
label="PM10"
|
align="center"
|
>
|
<el-table-column
|
prop="PM10.percent"
|
:label="compareLabel"
|
align="center"
|
sortable
|
/>
|
<el-table-column
|
prop="PM10.concentration"
|
label="浓度"
|
|
align="center"
|
sortable
|
/>
|
</el-table-column>
|
<el-table-column
|
label="PM2.5"
|
align="center"
|
>
|
<el-table-column
|
prop="PM2_5.percent"
|
:label="compareLabel"
|
align="center"
|
sortable
|
/>
|
<el-table-column
|
prop="PM2_5.concentration"
|
label="浓度"
|
|
align="center"
|
sortable
|
/>
|
</el-table-column>
|
<el-table-column
|
label="SO2"
|
align="center"
|
>
|
<el-table-column
|
prop="SO2.percent"
|
:label="compareLabel"
|
align="center"
|
sortable
|
/>
|
<el-table-column
|
prop="SO2.concentration"
|
label="浓度"
|
|
align="center"
|
sortable
|
/>
|
</el-table-column>
|
<el-table-column
|
label="NO2"
|
align="center"
|
>
|
<el-table-column
|
prop="NO2.percent"
|
:label="compareLabel"
|
align="center"
|
sortable
|
/>
|
<el-table-column
|
prop="NO2.concentration"
|
label="浓度"
|
|
align="center"
|
sortable
|
/>
|
</el-table-column>
|
<el-table-column
|
label="CO"
|
align="center"
|
>
|
<el-table-column
|
prop="CO.percent"
|
:label="compareLabel"
|
align="center"
|
sortable
|
/>
|
<el-table-column
|
prop="CO.concentration"
|
label="浓度"
|
|
align="center"
|
sortable
|
/>
|
</el-table-column>
|
<el-table-column
|
label="O3_8H"
|
align="center"
|
>
|
<el-table-column
|
prop="O3_8H.percent"
|
:label="compareLabel"
|
|
align="center"
|
sortable
|
/>
|
<el-table-column
|
prop="O3_8H.concentration"
|
label="浓度"
|
align="center"
|
sortable
|
/>
|
</el-table-column>
|
<el-table-column
|
label="优良天数"
|
align="center"
|
>
|
<el-table-column
|
prop="fineDays.percent"
|
:label="compareLabel"
|
align="center"
|
sortable
|
/>
|
<el-table-column
|
prop="fineDays.concentration"
|
label="天数"
|
|
align="center"
|
sortable
|
/>
|
</el-table-column>
|
<el-table-column
|
label="重污染天数"
|
align="center"
|
>
|
<el-table-column
|
prop="serverDays.percent"
|
:label="compareLabel"
|
align="center"
|
sortable
|
/>
|
<el-table-column
|
prop="serverDays.concentration"
|
label="天数"
|
|
align="center"
|
sortable
|
/>
|
</el-table-column>
|
</el-table>
|
</div>
|
</div>
|
</template>
|
|
<script>
|
import XLSX2 from 'xlsx'
|
import XLSX from 'xlsx-style'
|
import DatePicker1 from '@/components/Form/DatePicker1'
|
import MouthPicker1 from '@/components/Form/MouthPicker1'
|
import CustomPicker1 from '@/components/Form/CustomPicker1'
|
|
export default {
|
components: {
|
DatePicker1,
|
MouthPicker1,
|
CustomPicker1
|
},
|
data() {
|
return {
|
dataType: 'DatePicker1',
|
tableData: [],
|
govMt: [],
|
value: [], // 绑定多选下拉框数据
|
dateValue: '', // 绑定日期数据
|
pickerOptions: {
|
disabledDate(time) {
|
return time.getTime() > Date.now()
|
}
|
},
|
options: [],
|
sensorArr: [
|
{ code: '综合指数', name: '综合指数' },
|
{ code: 'PM2_5', name: 'PM2.5' },
|
{ code: 'PM10', name: 'PM10' },
|
{ code: 'SO2', name: 'SO2' },
|
{ code: 'NO2', name: 'NO2' },
|
{ code: 'CO', name: 'CO' },
|
{ code: 'O3', name: 'O3' },
|
{ code: 'O3_8H', name: 'O3_8H' },
|
{ code: 'AQI', name: 'AQI' }
|
],
|
aqi: { code: 'aqi', name: 'AQI' },
|
// 因子报警区间
|
levelSensor: {
|
'compositeIndex': [35, 75, 115, 150, 250],
|
'PM2_5': [35, 75, 115, 150, 250],
|
'PM10': [50, 150, 250, 350, 420],
|
'SO2': [150, 500, 650, 800, 1600],
|
'NO2': [100, 200, 700, 1200, 2340],
|
'CO': [5, 10, 35, 60, 90],
|
'O3': [160, 200, 300, 400, 800],
|
'O3_8H': [100, 160, 215, 265, 800],
|
'AQI': [50, 100, 150, 200, 300],
|
'all': [-50, -40, -30, -20, -10, 0, 10, 20, 30, 40, 50, 60]
|
},
|
compareLevel: [10, 20, 30, 40, 50],
|
// 标题
|
title: '',
|
dateRadio: '月报',
|
cityRadio: '省内城市',
|
unit: 'month',
|
currentCityType: 'province',
|
currentDate: '',
|
w160: true,
|
w400: false,
|
compareRadio: '同比',
|
currentCompare: 'yoy',
|
compareLabel: '同比',
|
excelTime: '',
|
excelCity: '省内城市',
|
excelCompare: '同比'
|
}
|
},
|
computed: {
|
// 获取当前时间的整点小时
|
currentTimes() {
|
var t = new Date()
|
var month = t.getMonth() < 9 ? '0' + (t.getMonth() + 1) : t.getMonth() + 1
|
var date = t.getDate() <= 9 ? '0' + t.getDate() : t.getDate()
|
var now = t.toLocaleTimeString().replace(/^\D*/, '')
|
var num = now.indexOf(':')
|
var time = t.getFullYear() + '-' + month + '-' + date + ' ' + now.substring(0, num) + ':00'
|
return time
|
},
|
govMtC() {
|
let name = 'c'
|
const newResults = []
|
this.govMt.forEach(data => {
|
let showData = false
|
if (name !== data.name) {
|
showData = true
|
}
|
let map = {}
|
map = { id: data.id, name: data.name, showData: showData }
|
newResults.push(map)
|
name = data.name
|
})
|
return newResults
|
}
|
},
|
watch: {
|
// 日期切换组件
|
dateRadio(nv, ov) {
|
this.w160 = true
|
this.w400 = false
|
if (nv === '月报') {
|
this.dataType = 'DatePicker1'
|
this.unit = 'month'
|
this.currentMonth()
|
} else if (nv === '年报') {
|
this.dataType = 'MouthPicker1'
|
this.unit = 'year'
|
this.currentYear()
|
} else {
|
this.dataType = 'CustomPicker1'
|
this.unit = 'custom'
|
this.currentTime()
|
this.w160 = !this.w160
|
this.w400 = !this.w400
|
}
|
},
|
// 城市切换组件
|
cityRadio(nv, ov) {
|
if (nv === '2+26城市') {
|
this.currentCityType = '28'
|
} else if (nv === '省内城市') {
|
this.currentCityType = 'province'
|
} else if (nv === '市区范围') {
|
this.currentCityType = 'city'
|
}
|
},
|
// 切换比较类型
|
compareRadio(nv, ov) {
|
if (nv === '同比') {
|
this.currentCompare = 'yoy'
|
} else {
|
this.currentCompare = 'mom'
|
}
|
}
|
},
|
created() {
|
this.currentMonth()
|
// this.getData()
|
},
|
methods: {
|
// 排序事件
|
changeTableSort(column) {
|
// 添加rank排名字段
|
var sortTableData = this.$refs.mytable1.tableData
|
for (let i = 0; i < sortTableData.length; i++) {
|
sortTableData[i].rank = i + 1
|
}
|
// 自定义排序
|
let tempTableData = []
|
// 获取字段名称和排序类型
|
const fieldName = column.prop.split('.')
|
const sortingType = column.order
|
// 给零时数组赋值默认数组数据
|
tempTableData = Object.assign([], this.tableData.filter(el => (el[fieldName[0]][fieldName[1]] !== '-' && el[fieldName[0]][fieldName[1]] !== undefined)))
|
// 把百分比字段从字符串变为数字
|
tempTableData.forEach((item) => {
|
item[fieldName[0]][fieldName[1]] = parseFloat(item[fieldName[0]][fieldName[1]])
|
})
|
if (sortingType !== null) {
|
if (sortingType === 'descending') {
|
// 降序排序
|
tempTableData = tempTableData.sort((a, b) => {
|
b[fieldName[0]][fieldName[1]] - a[fieldName[0]][fieldName[1]]
|
}
|
)
|
} else {
|
// 升序排序
|
tempTableData = tempTableData.sort((a, b) => {
|
a[fieldName[0]][fieldName[1]] - b[fieldName[0]][fieldName[1]]
|
}
|
)
|
}
|
this.tableData = Object.assign([], tempTableData)
|
} else {
|
// 如果是取消排序,则将数据还原成接口返回的数据
|
this.tableData = Object.assign([], this.tableData)
|
}
|
// 把百分比字段从数字变为字符串
|
setTimeout(() => {
|
tempTableData.forEach((item) => {
|
if (fieldName[0] !== 'serverDays' && fieldName[0] !== 'fineDays' && fieldName[1] === 'percent') {
|
item[fieldName[0]][fieldName[1]] = item[fieldName[0]][fieldName[1]] + '%'
|
} else if (fieldName[0] === 'serverDays' && fieldName[1] === 'percent' || fieldName[0] === 'fineDays' && fieldName[1] === 'percent') {
|
item[fieldName[0]][fieldName[1]] = item[fieldName[0]][fieldName[1]] + '天'
|
}
|
})
|
}, 1)
|
},
|
// 表格箭头样式
|
cellStyle({ row, column, rowIndex, columnIndex }) {
|
if (column.property.split('.')[1] === 'percent') {
|
var tempValue = parseFloat(row[column.property.split('.')[0]].percent)
|
if (tempValue > 0) {
|
return 'background-image: url(' + require('@/assets/icon/up_red.png') + ');background-repeat: no-repeat;background-position: right;'
|
} else if (tempValue < 0) {
|
return 'background-image: url(' + require('@/assets/icon/down_green.png') + ');background-repeat: no-repeat;background-position: right;'
|
} else {
|
''
|
}
|
}
|
},
|
// 获得子组件时间选择器传递的数据
|
showPickerChild(data) {
|
this.currentDate = data
|
},
|
// 查询数据
|
getData() {
|
this.tableData = []
|
if (this.dataType !== 'DatePicker1' && !this.currentDate) {
|
this.$message({
|
message: '请选择日期',
|
type: 'warning'
|
})
|
} else {
|
this.$request({
|
url: '/aqi/queryAirQualityComparison',
|
method: 'get',
|
params: {
|
// organizationId: this.$store.state.orgId,
|
regionCode: this.$store.state.regionCode,
|
dateType: this.unit,
|
comparisonType: this.currentCompare,
|
time: this.currentDate ? typeof this.currentDate === 'string' ? this.currentDate : null : null,
|
regionType: this.currentCityType,
|
startDate: typeof this.currentDate === 'string' ? null : this.currentDate[0],
|
endDate: typeof this.currentDate === 'string' ? null : this.currentDate[1]
|
}
|
}).then((res) => {
|
// console.log('获得时间对应因子数据')
|
// console.log(res)
|
if (this.compareRadio === '同比') {
|
this.compareLabel = '同比'
|
} else {
|
this.compareLabel = '环比'
|
}
|
var tempData = res.data
|
if (tempData.length !== 0) {
|
for (let i = 0; i < tempData.length; i++) {
|
tempData[i].rank = i + 1
|
}
|
this.tableData = tempData
|
} else {
|
this.$message.warning('当前条件下没有数据')
|
}
|
}).catch((err) => {
|
console.log(err)
|
})
|
}
|
this.currentDate ? this.excelTime = this.currentDate : this.excelTime = this.currentTimes
|
this.excelCity = this.cityRadio
|
this.excelCompare = this.compareRadio
|
},
|
// 单元格样式
|
tableCellClassName({ row, column, rowIndex, columnIndex }) {
|
for (const key in row) {
|
// var tempProperty = column.property.split('.')[0]
|
if (key !== 'rank' && key !== 'cityName' && key !== 'fineDays' && key !== 'serverDays') {
|
if (key + '.percent' === column.property) {
|
var percent = parseFloat(row[key].percent)
|
if (percent < -50) return 'negativeLevel6'
|
else if (percent < -40 && percent >= -50) return 'negativeLevel5'
|
else if (percent < -30 && percent >= -40) return 'negativeLevel4'
|
else if (percent < -20 && percent >= -30) return 'negativeLevel3'
|
else if (percent < -10 && percent >= -20) return 'negativeLevel2'
|
else if (percent < 0 && percent >= -10) return 'negativeLevel1'
|
else if (percent >= 0 && percent < 10) return 'positiveLevel1'
|
else if (percent >= 10 && percent < 20) return 'positiveLevel2'
|
else if (percent >= 20 && percent < 30) return 'positiveLevel3'
|
else if (percent >= 30 && percent < 40) return 'positiveLevel4'
|
else if (percent >= 40 && percent < 50) return 'positiveLevel5'
|
else if (percent >= 50 && percent < 60) return 'positiveLevel6'
|
else return 'positiveLevel7'
|
}
|
}
|
}
|
return ''
|
},
|
// 报表导出
|
setExport2Excel() {
|
/* generate workbook object from table */
|
var wb = XLSX2.utils.table_to_sheet(document.querySelector('#mytable1'))// mytable1为表格的id名
|
// if (!wb['!merges']) {
|
// this.$message.warning('无法导出:报表无数据')
|
// return
|
// }
|
const sum = 1 + this.govMt.length * 7 + 2 // 列的数量
|
for (var i = 0; i < sum; i++) {
|
if (i === sum - 1) {
|
wb['!cols'][i] = { wpx: 120 } // 设置列宽
|
} else {
|
wb['!cols'][i] = { wpx: 60 }
|
}
|
}
|
// 样式的文档地址
|
// https://www.npmjs.com/package/xlsx-style
|
const list = []
|
for (const key in wb) {
|
if (key.indexOf('!') === -1) {
|
wb[key].s = {
|
font: {// 字体设置
|
sz: 13,
|
bold: false,
|
color: {
|
rgb: '000000'// 十六进制,不带#
|
}
|
},
|
border: { // 设置边框
|
top: { style: 'thin' },
|
bottom: { style: 'thin' },
|
left: { style: 'thin' },
|
right: { style: 'thin' }
|
},
|
alignment: {// 文字居中
|
horizontal: 'center',
|
vertical: 'center',
|
wrap_text: true
|
}
|
}
|
|
var num = key.replace(/[^0-9]/ig, '')
|
if (num === '1') { // 应该等于2,表示每个字段的第二列
|
const map = {}
|
for (let i = 0; i < this.sensorArr.length; i++) {
|
if (this.sensorArr[i].name === wb[key].v) { // 修改sensorArr字段为环比
|
// console.log('进入对应字段添加逻辑')
|
var b = key.replace(/[^a-z]+/ig, '')
|
map.key = b
|
map.code = this.sensorArr[i].code
|
break
|
}
|
}
|
if (map.key) {
|
list.push(map)
|
}
|
}
|
// else if (num === '1') {
|
// const map = {}
|
// if (this.aqi.name === wb[key].v) {
|
// var b = key.replace(/[^a-z]+/ig, '')
|
// map.key = b
|
// map.code = this.aqi.code
|
// }
|
// if (map.key) {
|
// list.push(map)
|
// }
|
// }
|
}
|
}
|
for (const key in wb) {
|
var b = key.replace(/[^a-z]+/ig, '')
|
for (let i = 0; i < list.length; i++) {
|
if (b === list[i].key) {
|
if (typeof wb[key].v === 'number') {
|
// return
|
if (wb[key].v <= this.levelSensor.all[0]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: '6EBD18' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[1]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: '7EBD18' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[2]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: '8FC81F' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[3]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: 'A0CD23' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[4]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: '82D320' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[5]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: 'C1D82A' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[6]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: 'EFD92E' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[7]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: 'FCB107' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[8]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: 'FE9A03' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[9]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: 'FF6A0F' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[10]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: 'ED2629' }
|
}
|
} else if (wb[key].v <= this.levelSensor.all[11]) {
|
wb[key].s.fill = {
|
fgColor: { rgb: 'E61C2E' }
|
}
|
} else {
|
wb[key].s.fill = {
|
fgColor: { rgb: 'CF0040' }
|
}
|
}
|
}
|
}
|
}
|
}
|
var data = this.addRangeBorder(wb['!merges'], wb) // 合并项添加边框
|
var filedata = this.sheet2blob(wb)
|
this.openDownloadDialog(filedata, this.excelCity + '空气质量' + this.excelCompare + '-' + this.excelTime + '.xlsx')
|
},
|
// 为合并项添加边框
|
addRangeBorder(range, ws) {
|
const arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
|
range.forEach(item => {
|
const startColNumber = Number(item.s.r); const endColNumber = Number(item.e.r)
|
const startRowNumber = Number(item.s.c); const endRowNumber = Number(item.e.c)
|
const test = ws[arr[startRowNumber] + (startColNumber + 1)]
|
for (let col = startColNumber; col <= endColNumber; col++) {
|
for (let row = startRowNumber; row <= endRowNumber; row++) {
|
ws[arr[row] + (col + 1)] = test
|
}
|
}
|
})
|
return ws
|
},
|
// 将一个sheet转成最终的excel文件的blob对象,然后利用URL.createObjectURL下载
|
sheet2blob(sheet, sheetName) {
|
sheetName = sheetName || 'sheet1'
|
var workbook = {
|
SheetNames: [sheetName],
|
Sheets: {}
|
}
|
workbook.Sheets[sheetName] = sheet // 生成excel的配置项
|
|
var wopts = {
|
bookType: 'xlsx', // 要生成的文件类型
|
bookSST: false, // 是否生成Shared String Table,官方解释是,如果开启生成速度会下降,但在低版本IOS设备上有更好的兼容性
|
type: 'binary'
|
}
|
var wbout = XLSX.write(workbook, wopts)
|
var blob = new Blob([s2ab(wbout)], {
|
type: 'application/octet-stream'
|
}) // 字符串转ArrayBuffer
|
function s2ab(s) {
|
var buf = new ArrayBuffer(s.length)
|
var view = new Uint8Array(buf)
|
for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF
|
return buf
|
}
|
return blob
|
},
|
openDownloadDialog(url, saveName) {
|
if (typeof url === 'object' && url instanceof Blob) {
|
url = URL.createObjectURL(url) // 创建blob地址
|
}
|
var aLink = document.createElement('a')
|
aLink.href = url
|
aLink.download = saveName || '' // HTML5新增的属性,指定保存文件名,可以不要后缀,注意,file:///模式下不会生效
|
var event
|
if (window.MouseEvent) event = new MouseEvent('click')
|
else {
|
event = document.createEvent('MouseEvents')
|
event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
|
}
|
aLink.dispatchEvent(event)
|
},
|
// 当前月份默认值
|
currentMonth() {
|
var aData = new Date()
|
var month = aData.getMonth() < 9 ? '0' + (aData.getMonth() + 1) : aData.getMonth()
|
var currentDate = aData.getFullYear() + '-' + month
|
this.currentDate = currentDate.toString()
|
},
|
// 当前年份默认值
|
currentYear() {
|
var aData = new Date()
|
var currentDate = aData.getFullYear()
|
this.currentDate = currentDate.toString()
|
},
|
// 当前自定义默认值
|
currentTime() {
|
var aData = new Date()
|
var month = aData.getMonth() < 9 ? '0' + (aData.getMonth() + 1) : aData.getMonth() + 1
|
var date = aData.getDate() <= 9 ? '0' + aData.getDate() : aData.getDate()
|
var currentDate = aData.getFullYear() + '-' + month + '-' + date
|
this.currentDate = [currentDate, currentDate]
|
}
|
}
|
}
|
</script>
|
|
<style scoped lang="scss">
|
.topSelect{
|
display: flex;
|
margin-bottom: 20px;
|
padding: 20px 15px 0 15px;
|
display: flex;
|
justify-content: space-between;
|
span:first-child{
|
flex: 1;
|
}
|
}
|
.topTitle{
|
width: 100%;
|
justify-content: space-between;
|
margin-bottom: 20px;
|
padding: 10px 15px;
|
}
|
.timeClass {
|
float: left;
|
width: 4%;
|
border-collapse: collapse;/*关键代码*/
|
text-align: center;
|
color: black;
|
font-weight: 700;
|
}
|
.w160{
|
width: 160px;
|
}
|
.w400{
|
width: 400px;
|
}
|
/deep/.el-table th>.cell {
|
font-size: 14px;
|
padding: 0;
|
}
|
/deep/.gutter {
|
display: none;
|
}
|
/deep/.negativeLevel6{
|
background-color: rgb(110,189,24)
|
}
|
/deep/.negativeLevel5{
|
background-color: rgb(126,189,24)
|
}
|
/deep/.negativeLevel4{
|
background-color: rgb(143,200,31)
|
}
|
/deep/.negativeLevel3{
|
background-color: rgb(160,205,35)
|
}
|
/deep/.negativeLevel2{
|
background-color: rgb(130,211,32)
|
}
|
/deep/.negativeLevel1{
|
background-color: rgb(193,216,42)
|
}
|
/deep/.positiveLevel1{
|
background-color: rgb(239,217,46)
|
}
|
/deep/.positiveLevel2{
|
background-color: rgb(252,177,7)
|
}
|
/deep/.positiveLevel3{
|
background-color: rgb(254,154,3)
|
}
|
/deep/.positiveLevel4{
|
background-color: rgb(255,106,15)
|
}
|
/deep/.positiveLevel5{
|
background-color: rgb(237,38,41);
|
color:#fff
|
}
|
/deep/.positiveLevel6{
|
background-color: rgb(230,28,46);
|
color:#fff
|
}
|
/deep/.positiveLevel7{
|
background-color: rgb(207,0,64);
|
color:#fff
|
}
|
</style>
|