Commit 25336125 authored by zhengjiangtao's avatar zhengjiangtao

新增设备告警页面,设备台账中的所属区域下拉框修改为树结构

parent efc6c2ab
......@@ -55,6 +55,7 @@ const AsyncXJCtrlModel = props => <AsyncLoader load={import('../view/bizview/xun
const AsyncDifferentiate = props => <AsyncLoader load={import('./../view/bizview/intelligentDifferentiate/DifferentiateView')} componentProps={props} />;
const AsyncAlarmVideoMonitor = props => <AsyncLoader load={import('./../view/bizview/alarmVideoMonitor')} componentProps={props} />;
const AsyncAlarmTestView = props => <AsyncLoader load={import('./../view/bizview/alarm')} componentProps={props} />;
const AsyncEquipmentAlarmTestView = props => <AsyncLoader load={import('./../view/bizview/situation/equipmentAlarm')} componentProps={props} />;
const AsyncCusVizLib = props => <AsyncLoader load={import('./../view/planMgmt/cusVizLib')} componentProps={props} />;
const AsyncGraph3DModel = props => <AsyncLoader load={import('amos-iot-3dgraph/lib/view/modelMgmt')} componentProps={props} />;
const AsyncLeaderStruct = props => <AsyncLoader load={import('./../view/planMgmt/view/leaderStruct')} componentProps={props} />;
......@@ -109,6 +110,7 @@ const Routes = {
differentiate: AsyncDifferentiate,
alarmVideoMonitor: AsyncAlarmVideoMonitor,
alarmTest: AsyncAlarmTestView,
equipmentAlarm: AsyncEquipmentAlarmTestView,
vizlib: AsyncCusVizLib,
modelManage: AsyncGraph3DModel,
leaderStruct: AsyncLeaderStruct,
......
......@@ -37,6 +37,7 @@ import MonitorView from './../view/bizview/equipmentLedger/Monitor';
import ParamSet from './../view/bizview/preControl/paramSet';
import MatchEquipment from './../view/bizview/equipmentLedger/Equipment/MatchEquipment';
import Alarm from './../view/bizview/situation/alarm/index';
import EquipmentAlarm from './../view/bizview/situation/equipmentAlarm';
import RiskModel from './../view/bizview/preControl/riskModel';
import MgtCtrlModel from './../view/bizview/preControl/mgtCtrlModel';
import RiskAssessment from './../view/bizview/situation/riskAssessment/index';
......@@ -87,6 +88,7 @@ const Routes = {
equipment: EquipmentView,
monitor: MonitorView,
alarm: Alarm,
equipmentAlarm: EquipmentAlarm,
riskModel: RiskModel,
mgtCtrlModel: MgtCtrlModel,
xjCtrlModel: XJCtrlModel,
......
......@@ -27,6 +27,12 @@ export const getRiskRiseUprateAction = () => {
return commonGet(FasSerUrl.riskSourceRiseRateUrl);
};
export const getAlarmListAction = (searchParam, page, size) => {
let param = [{ 'name' : 'beginDate', 'value' : searchParam[0].value === '' ? '' : searchParam[0].value }, { 'name' : 'endDate', 'value' : searchParam[1].value === '' ? '' : searchParam[1].value }, { 'name' : 'protectObj', 'value' : searchParam[2].value === '' ? '' : searchParam[2].value }];
let url = formatUrl(FasSerUrl.alarmInfoListUrl, { page, size });
return commonPost(url, param);
}
export const getFireSourceHistoryDataAction = (searchParam, page, size) => {
let { fireEquipmentName = '', equipmentName = '', startTime = '', endTime = '' } = searchParam;
let url = formatUrl(FasSerUrl.fireEquipmentHistoryDataUrl, { fireEquipmentName, equipmentName, startTime, endTime, page, size });
......
......@@ -5,9 +5,10 @@ import formatUrl from 'amos-processor/lib/utils/urlFormat';
import * as endConf from 'amos-processor/lib/config/endconf';
import { FasSerUrl } from '../../../../consts/urlConsts';
import { Form, Upload, Input, Select, Radio, Modal, AmosAlert, Icon } from 'amos-framework';
import { TreeSelect } from 'amos-antd';
import PropTypes from 'amos-react-router/lib/PropTypes';
import { getEquipmentDataAction, getFireStationDataAction, getPrePlanPictureAction } from '../../../../services/ledgerService';
import { queryDeptByOrgCodeAction, getUsersByDepartmentIdAction, getRiskSourceSecondLevelAction , queryLoadPackagesAction } from '../../../../services/preControlService';
import { queryDeptByOrgCodeAction, getUsersByDepartmentIdAction, queryRegionTreeAction , queryLoadPackagesAction } from '../../../../services/preControlService';
import { convertImgUrlToFile, getBase64 } from './../../../../utils/FileUtils';
import { baseURI, FscSerUrl } from '../../../../consts/urlConsts';
......@@ -81,7 +82,7 @@ class EquipmentModel extends Component {
getRiskSourceSecondLevel = () =>{
getRiskSourceSecondLevelAction().then(
queryRegionTreeAction().then(
data =>{
this.setState({ riskSourceData: data });
}
......@@ -347,13 +348,14 @@ class EquipmentModel extends Component {
<Input className="risk_factor_input" required value={form.code} onChange={e => this.onInputChange('code', e.target.value)} />
</FormItem>
<FormItem label={<span>所属区域</span>} field="riskSourceId" {...formItemLayout}>
<Select
<TreeSelect
searchable
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
value={form.riskSourceId}
style={{ width: '200px' }}
dropdownStyle={{ maxHeight: 200, overflow: 'auto' }}
treeData={riskSourceData}
placeholder="请选择"
value={form.riskSourceId === 0 ? undefined : form.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
</FormItem>
......
......@@ -254,8 +254,8 @@ class FireEquipmentModel extends Component {
style={{ width: '200px' }}
dropdownStyle={{ maxHeight: 200, overflow: 'auto' }}
treeData={riskSourceData}
placeholder = "请选择"
value={form.riskSourceId}
placeholder="请选择"
value={form.riskSourceId == null ? undefined : form.riskSourceId}
onChange={(value, label, extra) => this.onSelectChange('riskSourceId', value)}
/>
</FormItem>
......
......@@ -284,7 +284,6 @@ class FireEquipmentView extends Component {
edit() {
let { selectedRowKeys } = this.state;
debugger;
if (selectedRowKeys === undefined || selectedRowKeys.length <= 0) {
AmosAlert.warning('提示', '请先选择需要编辑的设备');
return;
......
import React, { Component } from 'react';
import { Form, Input, Select, Radio, Upload, Modal, Icon, AmosAlert } from 'amos-framework';
import { TreeSelect } from 'amos-antd';
import PropTypes from 'prop-types';
import { getBase64 } from './../../../../../utils/FileUtils';
......@@ -20,7 +21,7 @@ class FireStationAdd extends Component {
position3d: '',
floor3d: '1',
isIndoor: true,
riskSourceId:0,
riskSourceId: undefined,
picture: []
},
previewVisible: false,
......@@ -67,9 +68,9 @@ class FireStationAdd extends Component {
this.props.callback(station);
};
validPositon3d = (rule, value, callback) => {
if(value != undefined){
if (value != undefined) {
let tempArry = value.split(',') || [];
if ( tempArry && tempArry.length === 3 ){
const patt = /(^([-]?)[1-9]([0-9]+)?(\.[0-9]+)?$)|(^([-]?)(0){1}$)|(^([-]?)[0-9]\.[0-9]+?$)/;
......@@ -166,15 +167,16 @@ class FireStationAdd extends Component {
<Input className="risk_factor_input" value={station.code} onChange={e => this.onChange('code', e)} />
</FormItem>
<FormItem label={<span>所属区域</span>} field="riskSourceId" {...formItemLayout}>
<Select
searchable
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
<TreeSelect
searchable
className="fire-equip-select"
style={{ width: '200px' }}
dropdownStyle={{ maxHeight: 200, overflow: 'auto' }}
treeData={riskSourceData}
placeholder="请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
</FormItem>
<FormItem label="小室地址" field="address" {...formItemLayout}>
<Input className="risk_factor_input" value={station.address} onChange={e => this.onChange('address', e)} />
......
......@@ -74,7 +74,7 @@ class FireStationDetail extends Component {
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
placeholder="请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Form, Input, Select, Radio, Upload, Modal, Icon, AmosAlert } from 'amos-framework';
import { TreeSelect } from 'amos-antd';
import { getFireStationDetailAction } from '../../../../../services/ledgerService';
import { convertImgUrlToFile, getBase64 } from './../../../../../utils/FileUtils';
import { baseURI } from '../../../../../consts/urlConsts';
......@@ -21,7 +22,8 @@ class FireStationEdit extends Component {
position3d: '',
floor3d: '1',
isIndoor: true,
picture: []
picture: [],
riskSourceId: 0
},
previewVisible: false,
previewImage: '',
......@@ -192,15 +194,16 @@ class FireStationEdit extends Component {
<Input className="risk_factor_input" value={station.code ? station.code : ''} onChange={e => this.onChange('code', e)} />
</FormItem>
<FormItem label={<span>所属区域</span>} field="riskSourceId" {...formItemLayout}>
<Select
searchable
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
<TreeSelect
searchable
className="fire-equip-select"
style={{ width: '200px' }}
dropdownStyle={{ maxHeight: 200, overflow: 'auto' }}
treeData={riskSourceData}
placeholder="请选择"
value={station.riskSourceId === 0 ? undefined : station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
</FormItem>
<FormItem label="小室地址" field="address" {...formItemLayout}>
<Input className="risk_factor_input" value={station.address ? station.address : ''} onChange={e => this.onChange('address', e)} />
......
......@@ -11,7 +11,7 @@ import FireStationAdd from './FireStationAdd';
import FireStatioinToolBar from './fireStatioinToolBar';
import { pathMapping } from './../../../../../routes/customRoutes';
import { deleteFireStationDataAction, getFireStationAction } from '../../../../../services/ledgerService';
import { getRiskSourceSecondLevelAction } from '../../../../../services/preControlService';
import { queryRegionTreeAction } from '../../../../../services/preControlService';
import { FasSerUrl } from '../../../../../consts/urlConsts';
const fireStationPath = pathMapping.stationMatches;
......@@ -176,7 +176,7 @@ class FireStationTableView extends Component {
};
getRiskSourceSecondLevel = () =>{
getRiskSourceSecondLevelAction().then(
queryRegionTreeAction().then(
data =>{
this.setState({ riskSourceData: data });
}
......
import React, { Component } from 'react';
import { Form, Input, Select, Radio } from 'amos-framework';
import { TreeSelect } from 'amos-antd';
import moment from 'moment';
import PropTypes from 'amos-react-router/lib/PropTypes';
import { queryDeptByOrgCodeAction, getRiskSourceSecondLevelAction } from '../../../../../services/preControlService';
import { queryDeptByOrgCodeAction, queryRegionTreeAction } from '../../../../../services/preControlService';
const FormItem = Form.Item;
const Option = Select.Option;
......@@ -31,7 +32,8 @@ class FireTruckModel extends Component {
floor3d: '1',
position3d: '',
remark: '',
isIndoor: true
isIndoor: true,
riskSourceId: undefined
},
chargeDeptData: [],
riskSourceData:[],
......@@ -55,7 +57,7 @@ class FireTruckModel extends Component {
this.setState({ chargeDeptData: data });
}
);
getRiskSourceSecondLevelAction().then(
queryRegionTreeAction().then(
data =>{
this.setState({ riskSourceData: data });
}
......@@ -143,13 +145,14 @@ class FireTruckModel extends Component {
</FormItem>
<FormItem label={<span>所属区域</span>} field="riskSourceId" {...formItemLayout}>
<Select
<TreeSelect
searchable
className="risk_source_select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
value={form.riskSourceId}
style={{ width: '200px' }}
dropdownStyle={{ maxHeight: 200, overflow: 'auto' }}
treeData={riskSourceData}
placeholder="请选择"
value={form.riskSourceId == null ? undefined : form.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
disabled={!this.props.editable}
/>
......
import React, { Component } from 'react';
import { Form, Input, Select, Radio, Upload, Modal, Icon, AmosAlert } from 'amos-framework';
import { TreeSelect } from 'amos-antd';
import PropTypes from 'prop-types';
import { getBase64 } from './../../../../../utils/FileUtils';
......@@ -21,7 +22,7 @@ class FireFoamAdd extends Component {
floor3d: '1',
isIndoor: true,
picture: [],
riskSourceId:0
riskSourceId: undefined
},
previewVisible: false,
previewImage: '',
......@@ -163,15 +164,16 @@ class FireFoamAdd extends Component {
<Input className="risk_factor_input" value={station.code} onChange={e => this.onChange('code', e)} />
</FormItem>
<FormItem label={<span>所属区域</span>} field="riskSourceId" {...formItemLayout}>
<Select
searchable
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
<TreeSelect
searchable
className="fire-equip-select"
style={{ width: '200px' }}
dropdownStyle={{ maxHeight: 200, overflow: 'auto' }}
treeData={riskSourceData}
placeholder="请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
</FormItem>
<FormItem label="泡沫间地址" field="address" {...formItemLayout}>
<Input className="risk_factor_input" value={station.address} onChange={e => this.onChange('address', e)} />
......
......@@ -74,7 +74,7 @@ class FireFoamDetail extends Component {
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
placeholder="请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Form, Input, Select, Radio, Upload, Modal, Icon, AmosAlert } from 'amos-framework';
import { TreeSelect } from 'amos-antd';
import { stringify } from 'amos-tool';
import { convertImgUrlToFile, getBase64 } from './../../../../../utils/FileUtils';
import { baseURI } from '../../../../../consts/urlConsts';
......@@ -24,7 +25,7 @@ class FireFoamEdit extends Component {
floor3d: '1',
isIndoor: true,
picture: [],
riskSourceId:0
riskSourceId: 0
},
previewVisible: false,
previewImage: '',
......@@ -195,15 +196,16 @@ class FireFoamEdit extends Component {
<Input className="risk_factor_input" value={station.code ? station.code : ''} onChange={e => this.onChange('code', e)} />
</FormItem>
<FormItem label={<span>所属区域</span>} field="riskSourceId" {...formItemLayout}>
<Select
searchable
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
<TreeSelect
searchable
className="fire-equip-select"
style={{ width: '200px' }}
dropdownStyle={{ maxHeight: 200, overflow: 'auto' }}
treeData={riskSourceData}
placeholder="请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
</FormItem>
<FormItem label="泡沫间地址" field="address" {...formItemLayout}>
<Input className="risk_factor_input" value={station.address ? station.address : ''} onChange={e => this.onChange('address', e)} />
......
......@@ -9,7 +9,7 @@ import FireReourceDetail from './FireFoamDetail';
import FireReourceEdit from './FireFoamEdit';
import FireReourceAdd from './FireFoamAdd';
import { deleteFireStationDataAction, getFireStationAction } from '../../../../../services/ledgerService';
import { getRiskSourceSecondLevelAction } from '../../../../../services/preControlService';
import { queryRegionTreeAction } from '../../../../../services/preControlService';
import FireFoamToolBar from './fireFoamToolBar';
import { pathMapping } from './../../../../../routes/customRoutes';
import { FasSerUrl } from '../../../../../consts/urlConsts';
......@@ -126,11 +126,10 @@ class FireFoamable extends Component {
if (recordId) {
this.setState({ show: true, showDetail: true, recordId });
}
}
};
getRiskSourceSecondLevel = () =>{
getRiskSourceSecondLevelAction().then(
queryRegionTreeAction().then(
data =>{
this.setState({ riskSourceData: data });
}
......
import React, { Component } from 'react';
import { Form, Input, Select, Radio, InputNumber,Fragment } from 'amos-framework';
import { TreeSelect } from 'amos-antd';
import PropTypes from 'prop-types';
const FormItem = Form.Item;
......@@ -23,7 +24,7 @@ class FireWaterAdd extends Component {
maxLevel: 0,
area: 0,
isIndoor: true,
riskSourceId:0,
riskSourceId: undefined,
area: 0,
maxLevel: 0,
alarmLevel: 0
......@@ -136,15 +137,16 @@ class FireWaterAdd extends Component {
<Input value={station.code} className="risk_factor_input" onChange={e => this.onChange('code', e)} />
</FormItem>
<FormItem label={<span>所属区域</span>} field="riskSourceId" {...formItemLayout}>
<Select
searchable
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
<TreeSelect
searchable
className="fire-equip-select"
style={{ width: '200px' }}
dropdownStyle={{ maxHeight: 200, overflow: 'auto' }}
treeData={riskSourceData}
placeholder="请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
</FormItem>
<FormItem label={addressName} field="address" {...formItemLayout}>
<Input value={station.address} className="risk_factor_input" onChange={e => this.onChange('address', e)} />
......
......@@ -105,7 +105,7 @@ class FireWaterDetail extends Component {
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
placeholder="请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Form, Input, Select, Radio, InputNumber,Fragment } from 'amos-framework';
import { TreeSelect } from 'amos-antd';
import { stringify } from 'amos-tool';
import { getFireWaterDataAction } from '../../../../../services/ledgerService';
......@@ -140,15 +141,16 @@ class FireWaterEdit extends Component {
<Input className="risk_factor_input" value={station.code} onChange={e => this.onChange('code', e)} />
</FormItem>
<FormItem label={<span>所属区域</span>} field="riskSourceId" {...formItemLayout}>
<Select
searchable
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
value={station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
<TreeSelect
searchable
className="fire-equip-select"
style={{ width: '200px' }}
dropdownStyle={{ maxHeight: 200, overflow: 'auto' }}
treeData={riskSourceData}
placeholder="请选择"
value={station.riskSourceId === 0 ? undefined : station.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
</FormItem>
<FormItem label="地址" field="address" {...formItemLayout}>
<Input className="risk_factor_input" value={station.address} onChange={e => this.onChange('address', e)} />
......
......@@ -10,7 +10,7 @@ import FireWaterToolBar from './FireWaterToolBar';
import { pathMapping } from './../../../../../routes/customRoutes';
import { browserHistory } from 'amos-react-router';
import { deleteFireWaterDataAction, newFireWaterDataAction, editFireWaterDataAction, getFireWaterAction } from '../../../../../services/ledgerService';
import { getRiskSourceSecondLevelAction } from '../../../../../services/preControlService';
import { queryRegionTreeAction } from '../../../../../services/preControlService';
import { downLoadFilePost } from './../../../../../utils/FileUtils';
import { FasSerUrl } from './../../../../../consts/urlConsts';
......@@ -121,7 +121,7 @@ class WaterView extends Component {
}
getRiskSourceSecondLevel = () =>{
getRiskSourceSecondLevelAction().then(
queryRegionTreeAction().then(
data =>{
this.setState({ riskSourceData: data });
}
......
import React, { Component } from 'react';
import { Form, InputNumber, Input, Select, Radio } from 'amos-framework';
import { TreeSelect } from 'amos-antd';
import { DatePicker } from 'amos-antd';
import moment from 'moment';
import PropTypes from 'amos-react-router/lib/PropTypes';
import { getFireEquipmentAction } from '../../../../services/ledgerService';
import { getRiskSourceSecondLevelAction } from '../../../../services/preControlService';
import { queryRegionTreeAction } from '../../../../services/preControlService';
const FormItem = Form.Item;
const TextArea = Input.TextArea;
......@@ -33,8 +34,7 @@ class MonitorModel extends Component {
position3d: '',
room: '',
remark: '',
isIndoor: true,
riskSourceId: 0
isIndoor: true
},
_disabled: true,
chargeDeptData: [],
......@@ -58,7 +58,7 @@ class MonitorModel extends Component {
};
getRiskSourceSecondLevel = () =>{
getRiskSourceSecondLevelAction().then(
queryRegionTreeAction().then(
data =>{
this.setState({ riskSourceData: data });
}
......@@ -179,13 +179,14 @@ class MonitorModel extends Component {
<Input className="risk_factor_input" required value={form.equipType} onChange={e => this.onInputChange('equipType', e.target.value)} />
</FormItem>
<FormItem label={<span>所属区域</span>} field="riskSourceId" {...formItemLayout}>
<Select
<TreeSelect
searchable
className="fire-equip-select"
data={riskSourceData}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
placeholder = "请选择"
value={form.riskSourceId}
style={{ width: '200px' }}
dropdownStyle={{ maxHeight: 200, overflow: 'auto' }}
treeData={riskSourceData}
placeholder="请选择"
value={form.riskSourceId == null ? undefined : form.riskSourceId}
onChange={e => this.onSelectChange('riskSourceId', e)}
/>
</FormItem>
......
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import { Select, Input, Button } from 'amos-framework';
import { DatePicker } from 'amos-antd';
import { areaPlistNoPageAction, equipNoPageAction } from '../../../../services/ledgerService';
import BizIcon from '../../../common/icon/BizIcon';
import moment from 'moment';
import { NavItem } from 'amos-framework/lib/nav';
const { RangePicker } = DatePicker;
const Option = Select.Option;
/**
* 报警查询条件
*/
class AlarmSearch extends Component {
constructor(props) {
super(props);
this.state = {
searchParam:[{'name' : 'beginDate', 'value' : '' }, { 'name' : 'endDate', 'value' : '' }, { 'name' : 'protectObj', 'value' : '' }],
areaData: [],
equipData: []
};
}
componentDidMount() {
// this.queryAreaPlist();
this.queryEquipList();
}
onSelectChange = (type, value, obj) => {
let { searchParam } = this.state;
let param = {};
if (type === 'time') {
let beginDate;
let endDate;
if (value.length !== 0) {
beginDate = value[0].format('YYYY-MM-DD HH:mm:ss');
endDate = value[1].format('YYYY-MM-DD HH:mm:ss');
}
searchParam[0].value = beginDate;
searchParam[1].value = endDate;
} else {
param[type] = obj.name;
}
this.setState(searchParam);
};
onChange = (e, value) => {
let { searchParam } = this.state;
searchParam[2].value = value;
console.log(value);
// Object.assign(searchParam, { [e]: value });
this.setState(searchParam);
};
// queryAreaPlist = () => {
// areaPlistNoPageAction().then(data => {
// this.setState({ areaData: data });
// });
// };
queryEquipList = () => {
equipNoPageAction().then(data => {
this.setState({ equipData: data });
});
};
searchData = () => {
let { searchParam } = this.state;
let param = [{ 'name' : 'beginDate', 'value' : searchParam[0].value }, { 'name' : 'endDate', 'value' : searchParam[1].value }, { 'name' : 'protectObj', 'value' : searchParam[2].value }];
this.props.setSearchParam(param);
};
render() {
let { equipData, searchParam } = this.state;
return (
<div className="alarm-view-search">
{/*<div className="alarm-view-select-1">
<span>建/构筑物:</span>
<Select
className="alarm-view-select"
data={areaData}
defaultOption={<Option>请选择</Option>}
renderOption={item => <Option value={item}>{item}</Option>}
onChange={e => this.onSelectChange('productArea', e)}
/>
</div>*/}
{/*<div className="alarm-view-select-2">
<span>保护对象:</span>
<Select
className="alarm-view-select"
data={equipData}
defaultOption={<Option>请选择</Option>}
renderOption={item => <Option value={parseInt(item.id)}>{item.name}</Option>}
onChange={(e,o) => this.onSelectChange('equipmentName', e, o)}
/>
</div>*/}
<div className="alarm-view-select-3">
<span>告警时间:</span>
<RangePicker
style={{ width : 400 }}
format="YYYY-MM-DD HH:mm:ss"
onChange={e => this.onSelectChange('time', e)}
// value={[searchParam[0].value === '' ? '' : moment(searchParam[0].value, 'YYYY-MM-DD HH:mm:ss'), searchParam[1].value === '' ? '' : moment(searchParam[1].value, 'YYYY-MM-DD HH:mm:ss')]}
showTime={{
format: 'HH:mm:ss',
defaultValue: [moment('00:00:00', 'HH:mm:ss'), moment('23:59:59', 'HH:mm:ss')]
}}
/>
</div>
<div className="alarm-view-input">
<span>名称:</span>
<Input value={searchParam[2].value} onChange={e => this.onChange('fireEquipmentName', e.target.value)} />
<Button icon={<BizIcon icon='sousuo' />} transparent onClick={this.searchData} />
</div>
</div>
);
}
}
AlarmSearch.propTypes = {
setSearchParam: PropTypes.func
};
export default AlarmSearch;
import React, { Component } from 'react';
import PropTypes from 'prop-types';
import moment from 'moment';
import AmosGridTable from '../../common/tableComponent/table/AmosGridTable';
import EquipmentAlarmSearch from './EquipmentAlarmSearch';
import { getAlarmListAction } from '../../../../services/situationService';
const getColumns = () => {
return [
{
title: '序号',
render: (text, record, index) => `${index + 1}`
},
{
title: '设备编号',
dataIndex: 'fireEquipmentCode',
key: 'fireEquipmentCode',
width: '10%',
className: 'uant-table-thead'
},
{
title: '设备名称',
dataIndex: 'fireEquipmentName',
key: 'fireEquipmentName',
width: '17%',
className: 'uant-table-thead'
},
// {
// title: '所属区域',
// dataIndex: 'prodArea',
// key: 'prodArea',
// width: '15%',
// className: 'uant-table-thead'
// },
{
title: '重点设备',
dataIndex: 'fireEquipmentPointName',
key: 'fireEquipmentPointName',
width: '20%',
className: 'uant-table-thead'
},
{
title: '报警类型',
dataIndex: 'type',
key: 'type',
width: '10%',
render: text => {
if (text === 'alarm_type_trouble') { return '故障告警'; }
if (text === 'alarm_type_fire') { return '火灾报警'; }
},
className: 'uant-table-thead'
},
{
title: '状态',
dataIndex: 'status',
key: 'status',
width: '10%',
render: text => { return text ? '报警' : '恢复'; },
className: 'uant-table-thead'
},
{
title: '频次',
dataIndex: 'frequency',
key: 'frequency',
width: '10%',
className: 'uant-table-thead'
},
{
title: '告警时间',
dataIndex: 'createDate',
key: 'createDate',
width: '10%',
render: text => moment(text).format('YYYY-MM-DD HH:mm:ss'),
className: 'uant-table-thead'
},
{
title: '恢复时间',
dataIndex: 'recoveryDate',
key: 'recoveryDate',
width: '10%',
render: text => moment(text).format('YYYY-MM-DD HH:mm:ss'),
className: 'uant-table-thead'
}
];
};
/**
* 报警视图
*/
class AlarmView extends Component {
constructor(props) {
super(props);
this.pageConfig = {
current: 1,
pageSize: 10
};
this.state = {
pagination: true,
isChecked: false,
selectedRows: [],
selectedRowKeys: [],
searchParam: [{ 'name' : 'beginDate', 'value' : '' }, { 'name' : 'endDate', 'value' : '' }, { 'name' : 'protectObj', 'value' : '' }]
};
}
componentDidMount() {}
/**
* 分页设置参数
*/
setPageConfig = ({ pageSize, current }) => {
if (pageSize !== undefined) {
this.pageConfig.pageSize = pageSize;
}
if (current !== undefined) {
this.pageConfig.pageNumber = current;
}
};
setSearchParam = searchParam => {
// let paramArry = new Array();
// for (let key in searchParam) {
// paramArry.push({ name: key, value: searchParam[key] });
// }
this.setState({ searchParam }, () => this.questStatistiscData({ pageNumber: this.pageConfig.current - 1, pageSize: this.pageConfig.pageSize }));
};
/**
* 获取表格所选则的行数据
*/
getSelectedRows = (selectedRows, selectedRowKeys) => {
this.setState({ selectedRows, selectedRowKeys });
};
/**
* 获取表格刷新方法
*/
reload = r => {
this.setState(
{
reload: () => {
r();
this.setState({ selectedRows: [], selectedRowKeys: [] });
}
},
r()
);
};
questStatistiscData = param => {
let { searchParam } = this.state;
if (param.current != null) {
//前端的current 即后端的pageNumber
param.pageNumber = param.current;
}
let { pageNumber, pageSize } = param;
this.queryAlarmList(searchParam, pageNumber, pageSize);
};
queryAlarmList = (searchParam, pageNumber, pageSize) => {
getAlarmListAction(searchParam, pageNumber, pageSize).then(data => {
this.setState({ dataList: data.content, totalCount: data.totalElements });
});
};
render() {
let { pagination, isChecked, dataList, totalCount, selectedRowKeys } = this.state;
let defaultPageConfig = this.pageConfig;
return (
<div className="alarm-view">
<EquipmentAlarmSearch setSearchParam={this.setSearchParam} />
<AmosGridTable
columns={getColumns()}
callBack={this.reload}
isPageable={pagination}
dataList={dataList}
totals={totalCount}
getTableDataAction={this.questStatistiscData}
selectedRowKeys={selectedRowKeys}
getSelectedRows={this.getSelectedRows}
setPageConfig={this.setPageConfig}
defaultPageConfig={defaultPageConfig}
onRowDoubleClick={this.onRowDoubleClick}
isChecked={isChecked}
/>
</div>
);
}
}
AlarmView.propTypes = {};
export default AlarmView;
import React, { Component } from 'react';
import EquipmentAlarmView from './EquipmentAlarmView';
/**
* 设备报警信息
*/
class EquipmentAlarm extends Component {
render() {
return (
<div style={{ width: '100%', height: '100%' }}>
<EquipmentAlarmView />
</div>
);
}
}
EquipmentAlarm.propTypes = {};
export default EquipmentAlarm;
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