Commit 964bb639 authored by taabe's avatar taabe

修改关联设备页面逻辑

parent 75ecfb9e
......@@ -235,6 +235,12 @@
}
}
}
.ant-table-tbody {
.highlight-row {
background: #ecf6fd;
}
}
}
.point-model {
......@@ -359,7 +365,13 @@
}
}
.amos-select-dropdown-popover {
.amos-popover-content {
>ul {
height: 205px;
overflow-y: auto;
}
.amos-select-options {
height: auto;
}
}
\ No newline at end of file
......@@ -55,6 +55,27 @@ class AssociatedEquipTable extends Component {
};
}
onRowClick = record => {
let { selectedRowKeys, selectedRows } = this.state;
let exist = false;
selectedRows.find(item => {
if (item.equipmentId === record.equipmentId) {
exist = true;
}
});
if (exist) {
selectedRows.splice(selectedRows.findIndex(item => item.equipmentId === record.equipmentId), 1);
selectedRowKeys.splice(selectedRowKeys.findIndex(item => item === record.equipmentId), 1);
} else {
selectedRows.push(record);
selectedRowKeys.push(record.equipmentId);
}
this.setState({
selectedRows,
selectedRowKeys
});
}
/**
* 分页设置参数
*/
......@@ -76,34 +97,13 @@ class AssociatedEquipTable extends Component {
getRowClassName = (record, index) => {
let { selectedRowKeys } = this.state;
if (selectedRowKeys.findIndex(item => item === record.id) >= 0) {
if (selectedRowKeys.findIndex(item => item === record.equipmentId) >= 0) {
return 'highlight-row';
} else {
return 'normal-row';
}
};
onRowClick = record => {
let { selectedRowKeys, selectedRows } = this.state;
let exist = false;
selectedRows.find(item => {
if (item.id === record.id) {
exist = true;
}
});
if (exist) {
selectedRows.splice(selectedRows.findIndex(item => item.id === record.id), 1);
selectedRowKeys.splice(selectedRowKeys.findIndex(item => item === record.id), 1);
} else {
selectedRows.push(record);
selectedRowKeys.push(record.id);
}
this.setState({
selectedRows,
selectedRowKeys
});
}
/**
* 获取表格刷新方法
*/
......@@ -132,6 +132,7 @@ class AssociatedEquipTable extends Component {
render() {
let { pagination, isChecked, selectedRowKeys } = this.state;
let { dataList, fetchData, totalCount } = this.props;
dataList.map(data => data.id = data.equipmentId);
let defaultPageConfig = this.pageConfig;
return (
<div className="risk-model-table">
......@@ -156,6 +157,8 @@ class AssociatedEquipTable extends Component {
}
AssociatedEquipTable.propTypes = {
dataList: PropTypes.array,
fetchData: PropTypes.func,
totalCount: PropTypes.number
};
export default AssociatedEquipTable;
......@@ -364,7 +364,8 @@ class RiskModel extends Component {
bindEquipIndexCallback = (equipmentId) => {
const { fmeaId } = this.state;
const { selectData } = this.model.state;
let { selectData } = this.model.state;
selectData = selectData.filter(data => data.equipmentId === equipmentId);
fmeaId && this.bindEquipIndexs(fmeaId , equipmentId, selectData);
}
......@@ -575,6 +576,14 @@ class RiskModel extends Component {
}
};
getModalFooter = (modelFlag, toolBarFlag) => {
if (modelFlag === 'point' || modelFlag === 'equip') {
return <Button className='amos-btn-minor' onClick={this.cancel}>取消</Button>;
} else {
return [<Button className='amos-btn-minor' key='cancel' onClick={this.cancel}>取消</Button>, <Button key='ok' onClick={() => this.onOk(modelFlag, toolBarFlag)}>确定</Button>];
}
}
getModalHeader =(modelFlag, toolBarFlag)=>{
let header = '';
if (modelFlag === 'risk'){
......@@ -662,6 +671,7 @@ class RiskModel extends Component {
}
onSelect =(selectedKeys,e)=>{
this.remove('2');
this.setState({
isRegion: e.node.props.isRegion,
node: e.node.props,
......@@ -875,8 +885,9 @@ class RiskModel extends Component {
content={this.getContext(modelFlag, toolBarFlag)}
onCancel={() => this.cancel()}
onOk={() => this.onOk(modelFlag, toolBarFlag)}
okText="确定"
cancelText="取消"
// okText="确定"
// cancelText="取消"
footer={this.getModalFooter(modelFlag, toolBarFlag)}
outterClosable={false}
/>
{this.getNodeTreeRightClickMenu()}
......
......@@ -78,9 +78,9 @@ class EquipModel extends Component {
fireEquip.map(e=>{//再新增
selectData.push({ riskSourceId, equipmentId, fireEquipmentId: e.id });//所有双击过的数据库查询出的绑定关系
});
this.setState({ dataList: content,totalCount: data.totalElements, selects, selectData, equipmentId });
this.setState({ dataList: content, selects, selectData, equipmentId });
} else {
this.setState({ dataList: content,totalCount: data.totalElements });
this.setState({ dataList: content });
}
});
}
......@@ -103,25 +103,29 @@ class EquipModel extends Component {
fireEquip.map(e=>{//再新增
selectData.push({ fmeaId, equipmentId, equipIndexId: e.id });//所有双击过的数据库查询出的绑定关系
});
this.setState({ indexDataList: data, indexTotalCount: data.totalElements, selects, selectData, equipmentId });
this.setState({ indexDataList: data, selects, selectData, equipmentId });
} else {
this.setState({ indexDataList: data, indexTotalCount: data.totalElements });
this.setState({ indexDataList: data });
}
});
}
clearCallback = () => {
this.setState({ dataList: [] });
clearCallback = (index) => {
if (index) {
this.setState({ indexDataList: [] });
} else {
this.setState({ dataList: [], indexDataList: [] });
}
}
render() {
let { riskSourceId, bindEquipIndexCallback, fmeaId } = this.props;
let { dataList, totalCount, importEquipId, equipmentId, selects, eId, indexTotalCount, indexDataList } = this.state;
let { dataList, importEquipId, equipmentId, selects, eId, indexDataList } = this.state;
return (
<div className="equip-model">
<EquipTable riskSourceId={riskSourceId} importEquipId={eId} fetchData={this.queryBindEquip} clearCallback={this.clearCallback} />
<FireEquipTable fmeaId={fmeaId} importEquipId={importEquipId} selects={selects} dataList={dataList} totalCount={totalCount} setParamAndSearch={this.setParamAndSearch} fetchData={this.queryBindEquipIndex} />
<FireEquipIndexTable bindEquipIndexCallback={bindEquipIndexCallback} fmeaId={fmeaId} equipmentId={equipmentId} selects={selects} dataList={indexDataList} totalCount={indexTotalCount} callBack={this.setSelectData} setParamAndSearch={this.setParamAndSearch} />
<FireEquipTable fmeaId={fmeaId} importEquipId={importEquipId} selects={selects} dataList={dataList} setParamAndSearch={this.setParamAndSearch} fetchData={this.queryBindEquipIndex} clearCallback={this.clearCallback} />
<FireEquipIndexTable bindEquipIndexCallback={bindEquipIndexCallback} fmeaId={fmeaId} equipmentId={equipmentId} selects={selects} dataList={indexDataList} callBack={this.setSelectData} setParamAndSearch={this.setParamAndSearch} />
</div>
);
}
......
......@@ -50,12 +50,34 @@ class EquipTable extends Component {
importEquipId && this.setState({ searchParam: [{ 'name': 'id', 'value': importEquipId }] , importEquipId });
};
onRowClick =(record, index, event) => {
onRowClick =(record) => {
let { selectedRowKeys, selectedRows } = this.state;
let { fetchData, riskSourceId } = this.props;
let importEquipId = record.id;
this.setState({ importEquipId: record.id, riskSourceId });
let exist = false;
selectedRows.find(item => {
if (item.id === record.id) {
exist = true;
}
});
if (exist) {
selectedRows.splice(selectedRows.findIndex(item => item.id === record.id), 1);
selectedRowKeys.splice(selectedRowKeys.findIndex(key => key === record.id), 1);
if (selectedRowKeys.length === 0) {
this.props.clearCallback();
}
} else {
selectedRows = [];
selectedRowKeys = [];
selectedRows.push(record);
selectedRowKeys.push(record.id);
this.props.clearCallback(2);
}
this.setState({ importEquipId: record.id, riskSourceId, selectedRows, selectedRowKeys });
if (selectedRowKeys.length !== 0) {
fetchData(riskSourceId, importEquipId, '');
}
}
onChange = (e,value) =>{
let searchParam = [{ name: e, value, type: 'LIKE' }];
......@@ -82,8 +104,8 @@ class EquipTable extends Component {
};
getRowClassName = (record, index) => {
let highlight = this.highlight;
if (highlight && record.id === highlight) {
let { selectedRowKeys } = this.state;
if (selectedRowKeys.findIndex(item => item === record.id) >= 0) {
return 'highlight-row';
} else {
return 'normal-row';
......
......@@ -45,6 +45,24 @@ class FireEquipIndexTable extends Component {
this.setState({ fname: value });
}
onRowClick =(record) => {
let { selectedRowKeys, selectedRows } = this.state;
let exist = false;
selectedRows.find(item => {
if (item.id === record.id) {
exist = true;
}
});
if (exist) {
selectedRows.splice(selectedRows.findIndex(item => item.id === record.id), 1);
selectedRowKeys.splice(selectedRowKeys.findIndex(key => key === record.id), 1);
} else {
selectedRows.push(record);
selectedRowKeys.push(record.id);
}
this.setState({ selectedRows, selectedRowKeys });
}
/**
* 分页设置参数
*/
......@@ -67,8 +85,8 @@ class FireEquipIndexTable extends Component {
};
getRowClassName = (record, index) => {
let highlight = this.highlight;
if (highlight && record.id === highlight) {
let { selectedRowKeys } = this.state;
if (selectedRowKeys.findIndex(item => item === record.id) >= 0) {
return 'highlight-row';
} else {
return 'normal-row';
......@@ -111,9 +129,9 @@ class FireEquipIndexTable extends Component {
}
render() {
let { pagination, isChecked, fname } = this.state;
let { dataList, totalCount, selects } = this.props;
let defaultPageConfig = this.pageConfig;
let { pagination, isChecked, fname, selectedRowKeys } = this.state;
let { dataList, selects } = this.props;
selectedRowKeys = [...selects];
return (
<div className="equip-model-fire">
<div className='equip-model-fire-input' >
......@@ -127,11 +145,11 @@ class FireEquipIndexTable extends Component {
callBack={this.reload}
isPageable={pagination}
dataList={dataList}
totals={totalCount}
getTableDataAction={()=>{}}
selectedRowKeys={selects}
getSelectedRows={this.getSelectedRows}
rowClassName={this.getRowClassName}
onRowClick={this.onRowClick}
isChecked={isChecked}
/>
</div>
......@@ -144,6 +162,9 @@ FireEquipIndexTable.propTypes = {
bindEquipIndexCallback: PropTypes.func,
fmeaId: PropTypes.number,
equipmentId: PropTypes.number,
setParamAndSearch: PropTypes.func
setParamAndSearch: PropTypes.func,
callBack: PropTypes.func,
dataList: PropTypes.array,
selects: PropTypes.array
};
export default FireEquipIndexTable;
......@@ -46,11 +46,32 @@ class FireEquipTable extends Component {
}
onRowClick =(record) => {
let { selectedRowKeys, selectedRows } = this.state;
let { fetchData, fmeaId } = this.props;
let equimentId = record.id;
this.setState({ equimentId: record.id, fmeaId });
let exist = false;
selectedRows.find(item => {
if (item.id === record.id) {
exist = true;
}
});
if (exist) {
selectedRows.splice(selectedRows.findIndex(item => item.id === record.id), 1);
selectedRowKeys.splice(selectedRowKeys.findIndex(key => key === record.id), 1);
if (selectedRowKeys.length === 0) {
this.props.clearCallback(2);
}
} else {
selectedRows = [];
selectedRowKeys = [];
selectedRows.push(record);
selectedRowKeys.push(record.id);
}
this.setState({ equimentId: record.id, fmeaId, selectedRows, selectedRowKeys });
if (selectedRowKeys.length !== 0) {
fetchData(fmeaId, equimentId, '');
}
}
/**
* 分页设置参数
......@@ -74,8 +95,8 @@ class FireEquipTable extends Component {
};
getRowClassName = (record, index) => {
let highlight = this.highlight;
if (highlight && record.id === highlight) {
let { selectedRowKeys } = this.state;
if (selectedRowKeys.findIndex(item => item === record.id) >= 0) {
return 'highlight-row';
} else {
return 'normal-row';
......@@ -115,7 +136,7 @@ class FireEquipTable extends Component {
render() {
let { pagination, isChecked, fname } = this.state;
let { dataList, totalCount, selects } = this.props;
let { dataList, selects } = this.props;
return (
<div className="equip-model-fire">
<div className='equip-model-fire-input' >
......@@ -128,7 +149,6 @@ class FireEquipTable extends Component {
callBack={this.reload}
isPageable={pagination}
dataList={dataList}
totals={totalCount}
getTableDataAction={()=>{}}
selectedRowKeys={selects}
getSelectedRows={this.getSelectedRows}
......@@ -147,6 +167,7 @@ FireEquipTable.propTypes = {
fetchData: PropTypes.func,
dataList: PropTypes.array,
totalCount: PropTypes.number,
selects: PropTypes.array
selects: PropTypes.array,
clearCallback: PropTypes.func
};
export default FireEquipTable;
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