/**
* 顶部header
*/
Vue.component("safe-monitor-data", {
template: `
{{data.police}}
预警 {{data.warning}}
{{data.min}}
{{data.data}} {{data.unit}}
`,
props: {
data:{
type: Object,
},
},
data() {
return {
speed:{},
max_i:0,
warning_top:0
}
},
mounted(){
this.getSpeed()
},
methods: {
getClass(i){
var speed = this.data
if(isNaN(speed.min)){
speed.min = 0;
}
if(isNaN(speed.police)){
speed.police = 0;
}
if(isNaN(speed.warning)){
speed.warning = 0;
}
if(isNaN(speed.data) || speed.data == undefined){
speed.data = 0;
}
var data = speed.data
if(data >= 0 || speed.type == 'heightData'){
if(data < speed.warning){
if((10 - i) <= this.max_i){
return 'activation'
}
}else if(data >= speed.police){
if((10 - i) <= this.max_i){
return 'police'
}
}else {
if((10 - i) <= this.max_i){
return 'warning'
}
}
}else{
if(data > speed.warning){
if( i < this.max_i){
return 'activation'
}
}else if(data <= speed.min){
if( i < this.max_i){
return 'police'
}
}else {
if( i < this.max_i){
return 'warning'
}
}
}
return ''
},
getDataClass(){
var speed = this.data
if(isNaN(speed.min)){
speed.min = 0;
}
if(isNaN(speed.police)){
speed.police = 0;
}
if(isNaN(speed.warning)){
speed.warning = 0;
}
if(isNaN(speed.data) || speed.data == undefined){
speed.data = 0;
}
var data = speed.data
if(data >= 0 || speed.type == 'heightData'){
if(data >= speed.warning && data < speed.police){
return 'monitor-data warning-data'
}else if(data >= speed.police){
return 'monitor-data police-data'
}
}else{
if(data <= speed.warning && data > speed.min){
return 'monitor-data warning-data'
}else if(data <= speed.min){
return 'monitor-data police-data'
}else {
}
}
return 'monitor-data'
},
getSpeed(){
var speed = this.data
if(isNaN(speed.min)){
speed.min = 0;
}
if(isNaN(speed.police)){
speed.police = 0;
}
if(isNaN(speed.warning)){
speed.warning = 0;
}
if(isNaN(speed.data) || speed.data == undefined){
speed.data = 0;
}
if(speed.data >= 0 || speed.type == 'heightData'){
this.speed = speed
}else{
let tmp = -speed.min
speed.min = -speed.police
speed.warning = -speed.warning
speed.police = tmp
this.speed = speed
}
var data = speed.data
if(data >= 0 || speed.type == 'heightData'){
let data_prop = (data - speed.min) / (speed.police - speed.min)
this.max_i = Math.ceil(data_prop*10)
let warning_prop = (speed.warning - speed.min) / (speed.police - speed.min)
this.warning_top = Math.ceil(warning_prop*10)
}else{
let data_prop = (data - speed.police) / (speed.min - speed.police )
this.max_i = Math.ceil(data_prop*10)
let warning_prop = (speed.warning - speed.police) / (speed.min - speed.police )
this.warning_top = Math.ceil(warning_prop*10)
}
}
},
watch:{
data: function (n,o) {
this.getSpeed();
},
}
})