Commit e6d5414e authored by taabe's avatar taabe

3维点闪烁频次修改

parent 53f90cc3
......@@ -28,7 +28,8 @@ import {
matchingFireEquipDisPlay,
removeFireAlarm,
initView3d,
removeFireAlarm2
removeFireAlarm2,
flickerTroubleMarkers
} from './ruleActionView';
// import ScreenSaverView from './screenSaver/ScreenSaverView';
import { lineData } from './datas';
......@@ -422,8 +423,12 @@ class View3D extends Component {
case 'base3d.fromws.default_contingencyAction29':
removeFireAlarm(this, data); //监控屏解除报警状态-suhg-已完成
break;
case 'base3d.fromws.riskSituation_flicker':
console.log('风险触发风险点闪烁~~~~~~~~~~~~~~~~~~~~');
flickerTroubleMarkers(this, data);//风险触发风险点闪烁
break;
default:
console.log(topic + ':类型不支持');
console.log(topic,':类型不支持');
}
});
};
......
......@@ -160,7 +160,7 @@ class MarkerIcon extends Component {
};
render() {
const { markerType, title, level, twinkle, label, type } = this.props;
let { markerType, title, level, twinkle, label, type, frequency } = this.props;
const { showInfo, showRiskName } = this.state;
let fireImg = '';
if (markerType === 'fireResource') {
......@@ -172,17 +172,19 @@ class MarkerIcon extends Component {
background: `url(${getIcon(fireImg, level)}) no-repeat`,
backgroundSize: 'contain'
};
twinkle = frequency > 0;
const cls = classNames('marker-icon', {
'marker-anim': twinkle
});
const showLabel = disableLabel(markerType);
let animDur = (twinkle ? 1 / frequency : 0) + 's';
if (showInfo) {
return (
<div className={cls} style={style} onMouseLeave={this.onMouseLeave} onMouseOver={this.onMouseOver}>
{this.renderTitle(title, label, showRiskName, type, showInfo, twinkle)}
{showLabel && markerType === 'riskSource' && level}
{twinkle && <div className="pulse-spread" />}
{twinkle && <div className="pulse-spread" style={{ animationDuration: animDur }} />}
</div>
);
}
......@@ -190,7 +192,7 @@ class MarkerIcon extends Component {
<div className={cls} style={style} onMouseOver={this.onMouseOver}>
{this.renderTitle(title, label, showRiskName, type, showInfo, twinkle)}
{showLabel && markerType === 'riskSource' && level}
{twinkle && <div className="pulse-spread" />}
{twinkle && <div className="pulse-spread" style={{ animationDuration: animDur }} />}
</div>
);
}
......
......@@ -3,6 +3,7 @@ import { initView3DAction } from './../../services/3dService';
import { getMatchEquipmentListAction } from './../../services/ledgerService';
import { eventTopics } from './consts';
import { desigerHelperConfig } from './conf';
import { connect3D } from 'amos-3d/lib/designer';
const typeEum = { picture1: '电源负荷图',picture2: '电缆沟封堵图',picture3: '消防车进站行车路线图',picture4: '消防取水图' };
const parseTroubleMarkers = (instance,content,markers)=> {//处理设备报警:切换图层到探测器、显示报警的探测器(闪烁-报警,不闪烁-报警解除)
......@@ -289,6 +290,67 @@ export const dealTroubleMarkers = (instance, content) => {
});
};
const updateMarker = (instance, content, markers) => {
let { type } = content;
let { id } = content.bizobj;
const markersArr = markers[type] || [];
if (markersArr.length > 0){
let needUpdate = false;
const newArr = markersArr.map(ma => {
if (parseInt(ma.id) === parseInt(id)){
needUpdate = true;
return {
...ma,
visible: true,//控制点的显示:显示
showInfo: true,
twinkle: true
};
} else {
// ma.visible = false;//控制点的显示:不显示
}
return ma;
});
if (needUpdate){
markers[type] = newArr;
instance.setState({
markers
});
}
}
};
export const flickerTroubleMarkers = (instance, content) => {
let type = 'riskSource';
let { bizobj, frequency } = content;
content.type = type;
let { markers = {} } = instance.state;
let riskSourceList = markers[type];
if (riskSourceList && riskSourceList.length === 0) {
initView3DAction(type).then(d => {
d.map(o => {
if (o.id === bizobj.id) {
o.frequency = frequency;
if (frequency === 3) { //等级上升
o.level = o.level === '1' ? o.level : (o.level - 1) + '';
}
}
});
markers[type] = d;
updateMarker(instance, content, markers);
});
} else if (riskSourceList && riskSourceList.length > 0){
markers[type].map(o => {
if (o.id === bizobj.id) {
o.frequency = frequency;
if (frequency === 3) { //等级上升
o.level = o.level === '1' ? o.level : (o.level - 1) + '';
}
}
});
updateMarker(instance, content, markers);
}
};
export const equipReleteCameraOpen = (instance, content) => {
let markers = {};
let type = 'video';
......
......@@ -58,8 +58,8 @@ const getColumns = () => {
let a = e.replace("##0","");
grandChildItem.innerText=a;
let font = document.createElement('font');
font.innerText=" 合格";
font.style.color="red";
font.innerText=" 合格";
font.style.color="green";
grandChildItem.append(font);
p.append(grandChildItem)
......@@ -68,8 +68,8 @@ const getColumns = () => {
let b = e.replace("##1","");
grandChildItem.innerText=b;
let font = document.createElement('font');
font.innerText=" 合格";
font.style.color="green";
font.innerText=" 合格";
font.style.color="red";
grandChildItem.append(font);
p.append(grandChildItem)
......
......@@ -127,6 +127,14 @@ class RiskSourceModel extends Component {
}
}
changeBool2Num = (value) => {
if (value === true || value === 1) {
return 1;
} else {
return 0;
}
}
render() {
const { form, rules, riskLevelData, isEdit } = this.state;
const { treeNodeType, disabled } = this.props;
......@@ -180,7 +188,7 @@ class RiskSourceModel extends Component {
/>
</FormItem>
<FormItem label={<span>是否室内</span>} field="isIndoor" {...formItemLayout}>
<RadioGroup disabled={disabled} defaultValue={form.isIndoor} onChange={e => this.onSelectChange('isIndoor', e)}>
<RadioGroup disabled={disabled} defaultValue={this.changeBool2Num(form.isIndoor)} onChange={e => this.onSelectChange('isIndoor', e)}>
<Radio value={0}></Radio>
<Radio value={1}></Radio>
</RadioGroup>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment