Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
amos-convertor-view
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
station
amos-convertor-view
Commits
b597e794
Commit
b597e794
authored
Feb 10, 2020
by
taabe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
需求变更:
1、增加危险因素评价页面 2、危险因素绑定设备改为设备指标指标
parent
344a4291
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
837 additions
and
197 deletions
+837
-197
urlConsts.js
src/consts/urlConsts.js
+9
-6
preControlService.js
src/services/preControlService.js
+24
-10
riskModel.scss
src/styles/view/biz/riskModel/riskModel.scss
+10
-3
RiskLevelModel.js
...w/bizview/preControl/paramSet/riskLevel/RiskLevelModel.js
+24
-11
index.js
src/view/bizview/preControl/paramSet/riskLevel/index.js
+20
-9
AssociatedEquipTable.js
...view/bizview/preControl/riskModel/AssociatedEquipTable.js
+8
-8
FmeaTable.js
src/view/bizview/preControl/riskModel/FmeaTable.js
+39
-15
ToolBar.js
src/view/bizview/preControl/riskModel/common/ToolBar.js
+18
-14
index.js
src/view/bizview/preControl/riskModel/index.js
+0
-0
EquipModel.js
src/view/bizview/preControl/riskModel/model/EquipModel.js
+61
-33
EquipTable.js
src/view/bizview/preControl/riskModel/model/EquipTable.js
+30
-31
EvaluationModel.js
...iew/bizview/preControl/riskModel/model/EvaluationModel.js
+233
-0
FireEquipIndexTable.js
...bizview/preControl/riskModel/model/FireEquipIndexTable.js
+146
-0
FireEquipTable.js
...view/bizview/preControl/riskModel/model/FireEquipTable.js
+27
-16
PointModel.js
src/view/bizview/preControl/riskModel/model/PointModel.js
+38
-33
RiskFactorModel.js
...iew/bizview/preControl/riskModel/model/RiskFactorModel.js
+114
-0
RiskSourceModel.js
...iew/bizview/preControl/riskModel/model/RiskSourceModel.js
+36
-8
No files found.
src/consts/urlConsts.js
View file @
b597e794
...
...
@@ -103,6 +103,7 @@ export const FasSerUrl = {
// 换流站视图
//*******************************************************************************
riskLevelListUrl
:
completePrefix
(
baseURI
,
'api/riskLevel/pagelist?pageNumber={page}&pageSize={size}'
),
getAllRiskLevelUrl
:
completePrefix
(
baseURI
,
'api/riskLevel/all-list'
),
accidentTypeListUrl
:
completePrefix
(
baseURI
,
'api/accidentType/pagelist?pageNumber={page}&pageSize={size}'
),
riskFactorListUrl
:
completePrefix
(
baseURI
,
'api/riskFactor/pagelist?pageNumber={page}&pageSize={size}'
),
evaModelListUrl
:
completePrefix
(
baseURI
,
'api/fmeaEvaluate/list?type={type}'
),
...
...
@@ -138,16 +139,17 @@ export const FasSerUrl = {
femaEditUrl
:
completePrefix
(
baseURI
,
'api/riskModel/fmea/editFmea'
),
//fmea编辑
fmeaDeleteUrl
:
completePrefix
(
baseURI
,
'api/riskModel/fmea/deleteFmea'
),
//fmea删除
fmeaPageListUrl
:
completePrefix
(
baseURI
,
'api/riskModel/fmea/list?pageNumber={page}&pageSize={size}'
),
//fmea分页查询
assoPointListUrl
:
completePrefix
(
baseURI
,
'api/risksource/getBindPoints?
riskSourceId={riskSource
Id}&pageNumber={page}&pageSize={size}'
),
assoEquipListUrl
:
completePrefix
(
baseURI
,
'api/risksource/{
riskSource
Id}/fireequiment/relations?pageNumber={page}&pageSize={size}'
),
assoPointListUrl
:
completePrefix
(
baseURI
,
'api/risksource/getBindPoints?
fmeaId={fmea
Id}&pageNumber={page}&pageSize={size}'
),
assoEquipListUrl
:
completePrefix
(
baseURI
,
'api/risksource/{
fmea
Id}/fireequiment/relations?pageNumber={page}&pageSize={size}'
),
riskFactorNoPageUrl
:
completePrefix
(
baseURI
,
'api/riskFactor/all-list'
),
deptByOrgCodeUrl
:
completePrefix
(
baseURI
,
'api/common/deptment/list'
),
//部门查询,
pointListUrl
:
completePrefix
(
baseURI
,
'api/common/pointList?pageNumber={page}&pageSize={size}'
),
//巡检点查询
pointInputListUrl
:
completePrefix
(
baseURI
,
'api/common/pointInputlist?pageNumber={page}&pageSize={size}'
),
//巡检点项查询
bindPointUrl
:
completePrefix
(
baseURI
,
'api/risksource/bind
Points/{riskSourceId}
'
),
//巡检点关联
bindPointUrl
:
completePrefix
(
baseURI
,
'api/risksource/bind
Fmea/pointInputitem
'
),
//巡检点关联
riskSourceRpnCountUrl
:
completePrefix
(
baseURI
,
'api/risksource/rpn/list'
),
// 查询风险点RPN统计
bindEquipListUrl
:
completePrefix
(
baseURI
,
'api/risksource/{riskSourceId}/fireequiment/relation/all?equimentId={equimentId}&fname={fname}&pageNumber={page}&pageSize={size}'
),
//配套设施查询(已绑定及未绑定)
bindEquipUrl
:
completePrefix
(
baseURI
,
'api/risksource/{riskSourceId}/fireequiment/relation'
),
bindEquipListUrl
:
completePrefix
(
baseURI
,
'api/risksource/fireequiment/relation/all?equimentId={equimentId}&fname={fname}&pageNumber={page}&pageSize={size}'
),
//配套设施查询(已绑定及未绑定)
getBindEquipIndexUrl
:
completePrefix
(
baseURI
,
'api/risksource/listEquipmentPointById?fmeaId={fmeaId}&equimentId={equimentId}&fname={fname}&pageNumber={page}&pageSize={size}'
),
//获取配套设备指标项
bindEquipIndexUrl
:
completePrefix
(
baseURI
,
'api/risksource/bingFmea/equimentPoint'
),
deleteBindEquipUrl
:
completePrefix
(
baseURI
,
'api/risksource/fireequiment/relation/{ids}'
),
removeByRSIdAndPIdUrl
:
completePrefix
(
baseURI
,
'api/risksource/removeByRSIdAndPId'
),
//删除绑定的设备
riskSourceMatrixUrl
:
completePrefix
(
baseURI
,
'api/risksource/matrix'
),
// 查询风险点发生率/严重度矩阵
...
...
@@ -211,7 +213,8 @@ export const FasSerUrl = {
fileDownloadDocs
:
completePrefix
(
baseURI
,
'file/download'
),
//查看文档
lookHtmlTextNavData
:
completePrefix
(
baseURI
,
'file/lookHtmlTextNav'
),
//文档转换为html,带导航
getTextPlanUrl
:
completePrefix
(
baseURI
,
'api/visual/plan/text/{id}'
),
//获取文字预案信息
uploadTextPlan
:
completePrefix
(
baseURI
,
'file/plan/{appId}/texts'
)
uploadTextPlan
:
completePrefix
(
baseURI
,
'file/plan/{appId}/texts'
),
getTreeNodeTypeUrl
:
completePrefix
(
baseURI
,
'api/riskModel/riskSource/getChildTypeByPid?riskSourceId={riskSourceId}'
)
// 根据节点ID获取子节点可能的类型
};
...
...
src/services/preControlService.js
View file @
b597e794
...
...
@@ -6,6 +6,10 @@ export const queryRiskLevelAction = (filter, page, size) => {
return
commonPost
(
formatUrl
(
FasSerUrl
.
riskLevelListUrl
,
{
page
,
size
}),
filter
);
};
export
const
queryAllRiskLevelAction
=
()
=>
{
return
commonGet
(
FasSerUrl
.
getAllRiskLevelUrl
);
};
export
const
queryAccidentTypelAction
=
(
filter
,
page
,
size
)
=>
{
return
commonPost
(
formatUrl
(
FasSerUrl
.
accidentTypeListUrl
,
{
page
,
size
}),
filter
);
};
...
...
@@ -75,16 +79,16 @@ export const fmeaPageListAction = (filter, page, size) => {
};
export
const
queryAssoPointListAction
=
(
riskSource
Id
,
page
,
size
)
=>
{
return
commonGet
(
formatUrl
(
FasSerUrl
.
assoPointListUrl
,
{
riskSource
Id
,
page
,
size
}));
export
const
queryAssoPointListAction
=
(
fmea
Id
,
page
,
size
)
=>
{
return
commonGet
(
formatUrl
(
FasSerUrl
.
assoPointListUrl
,
{
fmea
Id
,
page
,
size
}));
};
export
const
queryRiskFactorNoPageAction
=
()
=>
{
return
commonGet
(
formatUrl
(
FasSerUrl
.
riskFactorNoPageUrl
,
{}));
};
export
const
queryAssoEquipListAction
=
(
riskSource
Id
,
page
,
size
)
=>
{
return
commonGet
(
formatUrl
(
FasSerUrl
.
assoEquipListUrl
,
{
riskSourceId
,
page
,
size
}));
export
const
queryAssoEquipListAction
=
(
fmea
Id
,
page
,
size
)
=>
{
return
commonGet
(
formatUrl
(
FasSerUrl
.
assoEquipListUrl
,
{
fmeaId
,
page
,
size
}));
};
export
const
queryDeptByOrgCodeAction
=
()
=>
{
...
...
@@ -99,20 +103,25 @@ export const queryPointInputPageListAction = (filter, page, size) => {
return
commonPost
(
formatUrl
(
FasSerUrl
.
pointInputListUrl
,
{
page
,
size
}),
filter
);
};
export
const
bindPointsAction
=
(
riskSourceId
,
body
)
=>
{
return
commonPost
(
formatUrl
(
FasSerUrl
.
bindPointUrl
,
{
riskSourceId
}),
body
);
export
const
bindPointsAction
=
(
param
)
=>
{
return
commonPost
(
FasSerUrl
.
bindPointUrl
,
param
);
};
export
const
bindEquipListAction
=
(
riskSourceId
,
equimentId
,
page
,
size
,
fname
)
=>
{
return
commonGet
(
formatUrl
(
FasSerUrl
.
bindEquipListUrl
,
{
riskSourceId
,
equimentId
,
fname
,
page
,
size
}));
return
commonGet
(
formatUrl
(
FasSerUrl
.
bindEquipListUrl
,
{
riskSourceId
,
equimentId
,
fname
,
page
,
size
}));
};
export
const
getBindEquipIndexAction
=
(
fmeaId
,
equimentId
,
page
,
size
,
fname
)
=>
{
let
url
=
formatUrl
(
FasSerUrl
.
getBindEquipIndexUrl
,
{
fmeaId
,
equimentId
,
fname
,
page
,
size
});
return
commonGet
(
url
);
};
export
const
bindEquip
Action
=
(
riskSourceId
,
body
)
=>
{
return
commonPost
(
formatUrl
(
FasSerUrl
.
bindEquipUrl
,
{
riskSourceId
})
,
body
);
export
const
bindEquip
IndexAction
=
(
body
)
=>
{
return
commonPost
(
FasSerUrl
.
bindEquipIndexUrl
,
body
);
};
export
const
deleteBindEquipAction
=
(
ids
)
=>
{
return
commonDelete
(
formatUrl
(
FasSerUrl
.
deleteBindEquipUrl
,
{
ids
}));
return
commonDelete
(
formatUrl
(
FasSerUrl
.
deleteBindEquipUrl
,
{
ids
}));
};
export
const
deleteAssoPointAction
=
(
body
)
=>
{
...
...
@@ -141,6 +150,11 @@ export const getRiskSourceSecondLevelAction = () => {
return
commonGet
(
formatUrl
(
FasSerUrl
.
riskSourceSecondLevelUrl
,{}));
};
export
const
getTreeNodeTypeAction
=
(
riskSourceId
)
=>
{
let
url
=
formatUrl
(
FasSerUrl
.
getTreeNodeTypeUrl
,
{
riskSourceId
});
return
commonGet
(
url
);
};
/**
* 获取预案树
*/
...
...
src/styles/view/biz/riskModel/riskModel.scss
View file @
b597e794
...
...
@@ -148,6 +148,13 @@
}
.risk-model-table
{
width
:
100%
;
overflow-x
:
scroll
;
.grid-content
{
width
:
1500px
;
}
.ant-table-title
{
display
:
none
;
}
...
...
@@ -165,7 +172,7 @@
.equip-model
{
.equip-model-equip
{
width
:
40
%
;
width
:
33
%
;
display
:
inline-block
;
height
:
32rem
;
border
:
1px
solid
$biz-border-color
;
...
...
@@ -196,7 +203,7 @@
}
}
.equip-model-fire
{
width
:
calc
(
60%
-
1rem
)
;
width
:
32%
;
display
:
inline-block
;
vertical-align
:
top
;
margin-left
:
1rem
;
...
...
@@ -312,7 +319,7 @@
background
:
$biz-title-color
;
}
.amos-modal-container
{
width
:
50%
!
important
;
//
width: 50% !important;
}
.amos-form-item
{
margin-bottom
:
1
.5rem
;
...
...
src/view/bizview/preControl/paramSet/riskLevel/RiskLevelModel.js
View file @
b597e794
import
React
,
{
Component
}
from
'react'
;
import
{
DatePicker
}
from
'amos-antd'
;
import
moment
from
'moment'
;
import
{
Form
,
AmosAlert
,
Input
,
Select
}
from
'amos-framework'
;
import
{
Form
,
AmosAlert
,
Input
,
Select
,
InputNumber
}
from
'amos-framework'
;
import
{
riskLevelEditAction
}
from
'../../../../../services/preControlService'
;
const
FormItem
=
Form
.
Item
;
...
...
@@ -21,35 +19,44 @@ class RiskLevelModel extends Component {
searchParam
:
[],
form
:
{
level
:
''
,
severity
:
''
severity
:
''
,
topLimit
:
1
,
downLimit
:
1
},
rules
:
{
level
:
[{
required
:
true
,
message
:
'风险级等级不能为空'
}],
severity
:
[{
required
:
true
,
message
:
'严重程度影响描述不能为空'
}]
severity
:
[{
required
:
true
,
message
:
'严重程度影响描述不能为空'
}],
topLimit
:
[{
required
:
true
,
message
:
'等级上限不能为空'
}],
downLimit
:
[{
required
:
true
,
message
:
'等级下限不能为空'
}]
}
};
}
componentWillMount
=
()
=>
{
const
{
selectRowData
}
=
this
.
props
||
{};
if
(
selectRowData
)
{
let
form
=
{};
const
{
selectRowData
}
=
this
.
props
||
{};
if
(
selectRowData
)
{
let
form
=
{};
Object
.
assign
(
form
,
selectRowData
);
this
.
setState
({
form
});
}
};
onSelectChange
=
(
key
,
value
)
=>
{
const
{
form
}
=
this
.
state
;
form
[
key
]
=
value
;
if
(
key
===
'level'
){
form
[
'name'
]
=
value
+
'级'
;
if
(
key
===
'level'
){
form
[
'name'
]
=
value
+
'级'
;
form
[
'color'
]
=
colorEum
[
value
]
;
}
this
.
setState
({
form
});
};
onChange
=
(
value
,
type
)
=>
{
let
{
form
}
=
this
.
state
;
form
[
type
]
=
value
;
this
.
setState
({
form
});
}
handleSubmit
=
e
=>
{
this
.
form
.
validate
((
valid
,
dataValues
)
=>
{
if
(
valid
)
{
...
...
@@ -100,6 +107,12 @@ class RiskLevelModel extends Component {
onChange
=
{(
value
)
=>
this
.
onSelectChange
(
'level'
,
value
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
上限
<
/span>} field="topLimit" {...formItemLayout}
>
<
InputNumber
defaultValue
=
{
1
}
max
=
{
1000
}
min
=
{
1
}
value
=
{
form
.
topLimit
}
onChange
=
{
value
=>
this
.
onChange
(
value
,
'topLimit'
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
下限
<
/span>} field="downLimit" {...formItemLayout}
>
<
InputNumber
defaultValue
=
{
1
}
max
=
{
1000
}
min
=
{
1
}
value
=
{
form
.
downLimit
}
onChange
=
{
value
=>
this
.
onChange
(
value
,
'downLimit'
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
严重程度影响描述
<
/span>} field="severity" {...formItemLayout}
>
<
TextArea
className
=
"risk_lever_input"
value
=
{
form
.
severity
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'severity'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
...
...
src/view/bizview/preControl/paramSet/riskLevel/index.js
View file @
b597e794
...
...
@@ -4,11 +4,9 @@ import moment from 'moment';
import
AmosGridTable
from
'./../../../common/tableComponent/table/AmosGridTable'
;
import
{
Modal
,
AmosAlert
}
from
'amos-framework'
;
import
{
riskLevelDeleteAction
,
riskLevelDeleteAction
}
from
'../../../../../services/preControlService'
;
import
RiskLevelModel
from
'./RiskLevelModel'
;
import
{
browserHistory
}
from
'amos-react-router'
;
const
getColumns
=
()
=>
{
return
[
...
...
@@ -34,7 +32,21 @@ const getColumns = () => {
title
:
'图标颜色'
,
dataIndex
:
'color'
,
key
:
'color'
,
width
:
'15%'
,
width
:
'10%'
,
className
:
'uant-table-thead'
},
{
title
:
'上限'
,
dataIndex
:
'topLimit'
,
key
:
'topLimit'
,
width
:
'5%'
,
className
:
'uant-table-thead'
},
{
title
:
'下限'
,
dataIndex
:
'downLimit'
,
key
:
'downLimit'
,
width
:
'5%'
,
className
:
'uant-table-thead'
},
{
...
...
@@ -48,14 +60,13 @@ const getColumns = () => {
title
:
'维护日期'
,
dataIndex
:
'createDate'
,
key
:
'createDate'
,
width
:
'
20
%'
,
width
:
'
15
%'
,
render
:
text
=>
moment
(
text
).
format
(
'YYYY-MM-DD HH:mm:ss'
),
className
:
'uant-table-thead'
}
];
};
/**
* 风险等级
*/
...
...
@@ -223,9 +234,9 @@ class RiskLevel extends Component {
AmosAlert
.
success
(
'提示'
,
'删除成功'
);
if
(
Math
.
ceil
(
this
.
props
.
totalCount
/
this
.
pageConfig
.
pageSize
)
===
this
.
pageConfig
.
current
+
1
&&
this
.
props
.
dataList
.
length
===
this
.
state
.
selectedRowKeys
.
length
&&
this
.
pageConfig
.
current
>
0
)
{
this
.
setPageConfig
(
this
.
pageConfig
);
this
.
clearSelectedRows
();
this
.
setState
({
selectedRows
:
[],
selectedRowKeys
:
[]
});
this
.
props
.
fetchData
(
this
.
pageConfig
);
this
.
clearSelectedRows
();
this
.
setState
({
selectedRows
:
[],
selectedRowKeys
:
[]
});
this
.
props
.
fetchData
(
this
.
pageConfig
);
}
else
{
this
.
reloadPage
();
}
...
...
src/view/bizview/preControl/riskModel/AssociatedEquipTable.js
View file @
b597e794
...
...
@@ -7,15 +7,15 @@ const getColumns = () => {
return
[
{
title
:
'设备编号'
,
dataIndex
:
'
f
Code'
,
key
:
'
f
Code'
,
dataIndex
:
'
equipment
Code'
,
key
:
'
equipment
Code'
,
width
:
'10%'
,
className
:
'uant-table-thead'
},
{
title
:
'设备名称'
,
dataIndex
:
'
f
Name'
,
key
:
'
f
Name'
,
dataIndex
:
'
equipment
Name'
,
key
:
'
equipment
Name'
,
width
:
'30%'
,
className
:
'uant-table-thead'
},
...
...
@@ -28,8 +28,8 @@ const getColumns = () => {
},
{
title
:
'监测对象'
,
dataIndex
:
'e
Name
'
,
key
:
'e
Name
'
,
dataIndex
:
'e
quipmentPointNames
'
,
key
:
'e
quipmentPointNames
'
,
width
:
'30%'
,
className
:
'uant-table-thead'
}
...
...
@@ -41,7 +41,7 @@ const getColumns = () => {
* 关联对象-设备
*/
class
AssociatedEquipTable
extends
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
);
this
.
pageConfig
=
{
current
:
1
,
...
...
@@ -142,7 +142,7 @@ class AssociatedEquipTable extends Component {
dataList
=
{
dataList
}
totals
=
{
totalCount
}
getTableDataAction
=
{
param
=>
fetchData
(
param
,
this
)}
selectedRowKeys
=
{
selectedRowKeys
}
selectedRowKeys
=
{
selectedRowKeys
}
getSelectedRows
=
{
this
.
getSelectedRows
}
rowClassName
=
{
this
.
getRowClassName
}
setPageConfig
=
{
this
.
setPageConfig
}
...
...
src/view/bizview/preControl/riskModel/FmeaTable.js
View file @
b597e794
...
...
@@ -4,54 +4,54 @@ import moment from 'moment';
import
AmosGridTable
from
'./../../common/tableComponent/table/AmosGridTable'
;
const
getColumns
=
()
=>
{
const
getColumns
=
(
self
)
=>
{
return
[
{
title
:
'危险因素'
,
dataIndex
:
'riskFactorName'
,
key
:
'riskFactorName'
,
width
:
'
10
%'
,
width
:
'
8
%'
,
className
:
'uant-table-thead'
},
{
title
:
'事故类型'
,
dataIndex
:
'accidentTypeName'
,
key
:
'accidentTypeName'
,
width
:
'
6
%'
,
width
:
'
5
%'
,
className
:
'uant-table-thead'
},
{
title
:
'失效影响/事故'
,
dataIndex
:
'influence'
,
key
:
'influence'
,
width
:
'1
1
%'
,
width
:
'1
0
%'
,
className
:
'uant-table-thead'
},
{
title
:
'严重度Si'
,
dataIndex
:
'evaluationS'
,
key
:
'evaluationS'
,
width
:
'
6
%'
,
width
:
'
5
%'
,
className
:
'uant-table-thead'
},
{
title
:
'故障频数Oi'
,
dataIndex
:
'evaluationO'
,
key
:
'evaluationO'
,
width
:
'
6
%'
,
width
:
'
5
%'
,
className
:
'uant-table-thead'
},
{
title
:
'探测度Di'
,
dataIndex
:
'evaluationD'
,
key
:
'evaluationD'
,
width
:
'
6
%'
,
width
:
'
5
%'
,
className
:
'uant-table-thead'
},{
title
:
'RPNi'
,
dataIndex
:
'rpni'
,
key
:
'rpni'
,
width
:
'
5
%'
,
width
:
'
4
%'
,
className
:
'uant-table-thead'
},{
title
:
'管控措施'
,
...
...
@@ -59,33 +59,52 @@ const getColumns = () => {
title
:
'工程措施'
,
dataIndex
:
'engineering'
,
key
:
'engineering'
,
width
:
'
10
%'
,
width
:
'
9
%'
,
className
:
'uant-table-thead'
},{
title
:
'管理措施'
,
dataIndex
:
'management'
,
key
:
'management'
,
width
:
'
10
%'
,
width
:
'
9
%'
,
className
:
'uant-table-thead'
},{
title
:
'培训教育'
,
dataIndex
:
'train'
,
key
:
'train'
,
width
:
'
10
%'
,
width
:
'
9
%'
,
className
:
'uant-table-thead'
},{
title
:
'个体防护'
,
dataIndex
:
'protection'
,
key
:
'protection'
,
width
:
'
10
%'
,
width
:
'
9
%'
,
className
:
'uant-table-thead'
},{
title
:
'应急处置'
,
dataIndex
:
'disposal'
,
key
:
'disposal'
,
width
:
'
10
%'
,
width
:
'
9
%'
,
className
:
'uant-table-thead'
}]
},{
title
:
'责任人'
,
dataIndex
:
'charger'
,
key
:
'charger'
,
width
:
'5%'
,
className
:
'uant-table-thead'
},{
title
:
'管控对象'
,
dataIndex
:
'controlObj'
,
key
:
'controlObj'
,
width
:
'5%'
,
render
:
(
text
,
record
,
index
)
=>
{
return
(
<
span
>
<
a
href
=
"javascript:;"
onClick
=
{()
=>
{
self
.
onDetailClick
(
record
);}}
>
查看
<
/a
>
<
/span
>
);
},
className
:
'uant-table-thead'
}
];
};
...
...
@@ -115,6 +134,11 @@ class FmeaTable extends Component {
}
onDetailClick
=
(
record
)
=>
{
console
.
log
(
record
);
this
.
props
.
fmeaItemDetailCallback
(
record
.
id
);
}
/**
* 分页设置参数
*/
...
...
@@ -196,7 +220,7 @@ class FmeaTable extends Component {
return
(
<
div
className
=
"risk-model-table"
>
<
AmosGridTable
columns
=
{
getColumns
()}
columns
=
{
getColumns
(
this
)}
callBack
=
{
this
.
reload
}
isPageable
=
{
pagination
}
dataList
=
{
dataList
}
...
...
@@ -216,6 +240,6 @@ class FmeaTable extends Component {
}
FmeaTable
.
propTypes
=
{
fmeaItemDetailCallback
:
PropTypes
.
func
};
export
default
FmeaTable
;
src/view/bizview/preControl/riskModel/common/ToolBar.js
View file @
b597e794
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
Button
,
Select
}
from
'amos-framework'
;
import
{
Button
}
from
'amos-framework'
;
import
BizIcon
from
'./../../../../common/icon/BizIcon'
;
const
Option
=
Select
.
Option
;
/**
/**
* 工具栏
*
* @class ToolBar
...
...
@@ -15,33 +14,37 @@ class ToolBar extends Component {
constructor
(
props
){
super
(
props
);
this
.
state
=
{};
}
}
componentWillMount
(){
};
}
onClick
=
(
e
,
value
)
=>
{
let
{
onButtonClick
,
activeKey
,
parent
}
=
this
.
props
;
onButtonClick
(
value
,
activeKey
,
parent
);
let
{
onButtonClick
,
activeKey
,
parent
}
=
this
.
props
;
onButtonClick
(
value
,
activeKey
,
parent
);
}
render
()
{
const
{
activeKey
}
=
this
.
props
;
return
(
<
div
className
=
'risk-lever-toolbar'
>
<
div
className
=
'risk-lever-button'
>
<
Button
icon
=
{
<
BizIcon
icon
=
"tianjia"
/>
}
transparent
onClick
=
{
e
=>
this
.
onClick
(
e
,
'1'
)}
><
/Button
>
<
Button
icon
=
{
<
BizIcon
icon
=
"xiugai"
/>
}
transparent
onClick
=
{
e
=>
this
.
onClick
(
e
,
'2'
)}
><
/Button
>
<
Button
icon
=
{
<
BizIcon
icon
=
"shanchu"
/>
}
transparent
onClick
=
{
e
=>
this
.
onClick
(
e
,
'3'
)}
><
/Button
>
<
div
className
=
'risk-lever-button'
>
<
Button
title
=
'添加'
icon
=
{
<
BizIcon
icon
=
"tianjia"
/>
}
transparent
onClick
=
{
e
=>
this
.
onClick
(
e
,
'1'
)}
/
>
{
activeKey
===
'2'
&&
<
Button
title
=
'修改'
icon
=
{
<
BizIcon
icon
=
"xiugai"
/>
}
transparent
onClick
=
{
e
=>
this
.
onClick
(
e
,
'2'
)}
/>
}
{
activeKey
===
'1'
&&
<
Button
title
=
'评价'
icon
=
{
<
BizIcon
icon
=
"buzhou-queren"
/>
}
transparent
onClick
=
{
e
=>
this
.
onClick
(
e
,
'4'
)}
/>
}
<
Button
title
=
'删除'
icon
=
{
<
BizIcon
icon
=
"shanchu"
/>
}
transparent
onClick
=
{
e
=>
this
.
onClick
(
e
,
'3'
)}
/
>
<
/div
>
<
/div
>
);
}
}
ToolBar
.
propTypes
=
{};
ToolBar
.
propTypes
=
{
onButtonClick
:
PropTypes
.
func
,
activeKey
:
PropTypes
.
any
,
parent
:
PropTypes
.
any
};
export
default
ToolBar
;
\ No newline at end of file
src/view/bizview/preControl/riskModel/index.js
View file @
b597e794
This diff is collapsed.
Click to expand it.
src/view/bizview/preControl/riskModel/model/EquipModel.js
View file @
b597e794
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
AmosGridTable
from
'./../../../common/tableComponent/table/AmosGridTable'
;
import
{
bindEquipListAction
}
from
'../../../../../services/preControlService'
;
import
FireEquipTable
from
'./FireEquipTable'
import
EquipTable
from
'./EquipTable'
import
{
bindEquipListAction
,
getBindEquipIndexAction
}
from
'../../../../../services/preControlService'
;
import
FireEquipTable
from
'./FireEquipTable'
;
import
EquipTable
from
'./EquipTable'
;
import
FireEquipIndexTable
from
'./FireEquipIndexTable'
;
/**
* 关联对象-设备
*/
class
EquipModel
extends
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
);
this
.
pageConfig
=
{
current
:
1
,
...
...
@@ -22,19 +21,32 @@ class EquipModel extends Component {
selectedRows
:
[],
selectedRowKeys
:
[],
selects
:
[],
dataList
:[],
searchParam
:{},
selectData
:[]
dataList
:
[],
searchParam
:
{},
selectData
:
[]
};
}
componentWillMount
=
()
=>
{
let
{
eId
}
=
{
...
this
.
props
};
let
{
eId
}
=
{
...
this
.
props
};
eId
&&
this
.
setState
({
eId
});
};
setParamAndSearch
=
(
param
)
=>
{
this
.
setState
({
searchParam
:
param
},()
=>
this
.
questStatistiscData
());
this
.
setState
({
searchParam
:
param
},()
=>
this
.
questStatistiscData
());
}
setSelectData
=
(
selectedRowKeys
,
fmeaId
,
equipmentId
)
=>
{
let
{
selectData
}
=
this
.
state
;
let
index
=
selectData
.
findIndex
(
item
=>
item
.
equipmentId
===
equipmentId
);
while
(
index
>=
0
){
//先删除
selectData
.
splice
(
index
,
1
);
index
=
selectData
.
findIndex
(
item
=>
item
.
equipmentId
===
equipmentId
);
}
selectedRowKeys
.
map
(
e
=>
{
//再新增
selectData
.
push
({
fmeaId
,
equipmentId
,
equipIndexId
:
e
});
});
this
.
setState
({
selectData
,
selects
:
selectedRowKeys
});
}
questStatistiscData
=
param
=>
{
...
...
@@ -42,57 +54,73 @@ class EquipModel extends Component {
this
.
queryBindEquip
(
riskSourceId
,
equipmentId
,
fname
);
}
queryBindEquip
=
(
riskSourceId
,
equipmentId
,
fname
)
=>
{
queryBindEquip
=
(
riskSourceId
,
equipmentId
,
fname
)
=>
{
equipmentId
&&
bindEquipListAction
(
riskSourceId
,
equipmentId
,
0
,
-
1
,
fname
).
then
(
data
=>
{
//查询巡检点项
let
{
selectData
}
=
this
.
state
;
let
content
=
data
.
content
;
//内容
if
(
!
fname
){
if
(
!
fname
){
let
fireEquip
=
content
.
filter
(
item
=>
item
.
isBound
===
'bound'
);
//已经选择的行数据
let
selects
=
fireEquip
.
map
(
e
=>
{
//已经选择的id集合
return
e
.
id
;
});
//按照装备删除,之前已经有的选择数据
let
index
=
selectData
.
findIndex
(
item
=>
item
.
equipmentId
===
equipmentId
);
while
(
index
>=
0
){
//先删除
while
(
index
>=
0
){
//先删除
selectData
.
splice
(
index
,
1
);
index
=
selectData
.
findIndex
(
item
=>
item
.
equipmentId
===
equipmentId
);
}
;
}
fireEquip
.
map
(
e
=>
{
//再新增
selectData
.
push
({
riskSourceId
:
riskSourceId
,
equipmentId
:
equipmentId
,
fireEquipmentId
:
e
.
id
});
//所有双击过的数据库查询出的绑定关系
selectData
.
push
({
riskSourceId
,
equipmentId
,
fireEquipmentId
:
e
.
id
});
//所有双击过的数据库查询出的绑定关系
});
this
.
setState
({
dataList
:
content
,
totalCount
:
data
.
totalElements
,
selects
,
selectData
,
equipmentId
:
equipmentId
});
}
else
{
this
.
setState
({
dataList
:
content
,
totalCount
:
data
.
totalElements
,
selects
,
selectData
,
equipmentId
});
}
else
{
this
.
setState
({
dataList
:
content
,
totalCount
:
data
.
totalElements
});
}
});
}
setSelectData
=
(
selectedRowKeys
,
riskSourceId
,
equipmentId
)
=>
{
let
{
selectData
}
=
this
.
state
;
let
index
=
selectData
.
findIndex
(
item
=>
item
.
equipmentId
===
equipmentId
);
while
(
index
>=
0
){
//先删除
selectData
.
splice
(
index
,
1
);
index
=
selectData
.
findIndex
(
item
=>
item
.
equipmentId
===
equipmentId
);
};
selectedRowKeys
.
map
(
e
=>
{
//再新增
selectData
.
push
({
riskSourceId
:
riskSourceId
,
equipmentId
:
equipmentId
,
fireEquipmentId
:
e
});
queryBindEquipIndex
=
(
fmeaId
,
equipmentId
,
fname
)
=>
{
fmeaId
&&
equipmentId
&&
getBindEquipIndexAction
(
fmeaId
,
equipmentId
,
0
,
10000
,
fname
).
then
(
data
=>
{
console
.
log
(
data
);
let
{
selectData
}
=
this
.
state
;
let
content
=
data
.
content
;
//内容
if
(
!
fname
){
let
fireEquip
=
content
.
filter
(
item
=>
item
.
isBound
===
'bound'
);
//已经选择的行数据
let
selects
=
fireEquip
.
map
(
e
=>
{
//已经选择的id集合
return
e
.
id
;
});
//按照装备删除,之前已经有的选择数据
let
index
=
selectData
.
findIndex
(
item
=>
item
.
equipmentId
===
equipmentId
);
while
(
index
>=
0
){
//先删除
selectData
.
splice
(
index
,
1
);
index
=
selectData
.
findIndex
(
item
=>
item
.
equipmentId
===
equipmentId
);
}
fireEquip
.
map
(
e
=>
{
//再新增
selectData
.
push
({
fmeaId
,
equipmentId
,
equipIndexId
:
e
.
id
});
//所有双击过的数据库查询出的绑定关系
});
this
.
setState
({
indexDataList
:
content
,
indexTotalCount
:
data
.
totalElements
,
selects
,
selectData
,
equipmentId
});
}
else
{
this
.
setState
({
indexDataList
:
content
,
indexTotalCount
:
data
.
totalElements
});
}
});
this
.
setState
({
selectData
,
selects
:
selectedRowKeys
});
}
render
()
{
let
{
riskSourceId
}
=
this
.
props
;
let
{
dataList
,
totalCount
,
equipmentId
,
selects
,
eId
}
=
this
.
state
;
let
{
riskSourceId
,
bindEquipIndexCallback
,
fmeaId
}
=
this
.
props
;
let
{
dataList
,
totalCount
,
equipmentId
,
selects
,
eId
,
indexTotalCount
,
indexDataList
}
=
this
.
state
;
return
(
<
div
className
=
"equip-model"
>
<
EquipTable
riskSourceId
=
{
riskSourceId
}
equipmentId
=
{
eId
}
fetchData
=
{
this
.
queryBindEquip
}
/
>
<
FireEquipTable
riskSourceId
=
{
riskSourceId
}
equipmentId
=
{
equipmentId
}
selects
=
{
selects
}
dataList
=
{
dataList
}
totalCount
=
{
totalCount
}
callBack
=
{
this
.
setSelectData
}
setParamAndSearch
=
{
this
.
setParamAndSearch
}
/
>
<
EquipTable
riskSourceId
=
{
riskSourceId
}
equipmentId
=
{
eId
}
fetchData
=
{
this
.
queryBindEquip
}
/
>
<
FireEquipTable
fmeaId
=
{
fmeaId
}
equipmentId
=
{
equipmentId
}
selects
=
{
selects
}
dataList
=
{
dataList
}
totalCount
=
{
totalCount
}
setParamAndSearch
=
{
this
.
setParamAndSearch
}
fetchData
=
{
this
.
queryBindEquipIndex
}
/
>
<
FireEquipIndexTable
bindEquipIndexCallback
=
{
bindEquipIndexCallback
}
riskSourceId
=
{
riskSourceId
}
equipmentId
=
{
equipmentId
}
selects
=
{
selects
}
dataList
=
{
indexDataList
}
totalCount
=
{
indexTotalCount
}
callBack
=
{
this
.
setSelectData
}
setParamAndSearch
=
{
this
.
setParamAndSearch
}
/
>
<
/div
>
);
}
}
EquipModel
.
propTypes
=
{
bindEquipIndexCallback
:
PropTypes
.
func
,
riskSourceId
:
PropTypes
.
any
,
fmeaId
:
PropTypes
.
number
};
export
default
EquipModel
;
src/view/bizview/preControl/riskModel/model/EquipTable.js
View file @
b597e794
...
...
@@ -2,8 +2,7 @@ import React, { Component } from 'react';
import
PropTypes
from
'prop-types'
;
import
AmosGridTable
from
'./../../../common/tableComponent/table/AmosGridTable'
;
import
{
getEquipmentListAction
}
from
'../../../../../services/ledgerService'
;
import
{
bindEquipListAction
}
from
'../../../../../services/preControlService'
;
import
{
Input
}
from
'amos-framework'
;
import
{
Input
,
Button
}
from
'amos-framework'
;
import
BizIcon
from
'./../../../../common/icon/BizIcon'
;
const
getEquipColumns
=
()
=>
{
...
...
@@ -30,7 +29,7 @@ const getEquipColumns = () => {
* 关联对象-设备
*/
class
EquipTable
extends
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
);
this
.
pageConfig
=
{
current
:
1
,
...
...
@@ -46,12 +45,24 @@ class EquipTable extends Component {
};
}
componentWillMount
=
()
=>
{
let
{
equipmentId
}
=
{
...
this
.
props
};
equipmentId
&&
this
.
setState
({
searchParam
:
[{
'name'
:
'id'
,
'value'
:
equipmentId
}]
,
equipmentId
});
let
{
equipmentId
}
=
{
...
this
.
props
};
equipmentId
&&
this
.
setState
({
searchParam
:
[{
'name'
:
'id'
,
'value'
:
equipmentId
}]
,
equipmentId
});
};
/**
onRowClick
=
(
record
,
index
,
event
)
=>
{
let
{
fetchData
,
riskSourceId
}
=
this
.
props
;
let
equimentId
=
record
.
id
;
this
.
setState
({
equimentId
:
record
.
id
,
riskSourceId
});
fetchData
(
riskSourceId
,
equimentId
,
''
);
}
onChange
=
(
e
,
value
)
=>
{
let
searchParam
=
[{
name
:
e
,
value
,
type
:
'LIKE'
}];
this
.
setState
({
searchParam
,
name
:
value
});
}
/**
* 分页设置参数
*/
setPageConfig
=
({
pageSize
,
current
})
=>
{
...
...
@@ -94,24 +105,12 @@ class EquipTable extends Component {
);
};
onRowDoubleClick
=
(
record
,
index
,
event
)
=>
{
let
{
fetchData
,
riskSourceId
}
=
this
.
props
;
let
equimentId
=
record
.
id
;
this
.
setState
({
equimentId
:
record
.
id
,
riskSourceId
:
riskSourceId
})
fetchData
(
riskSourceId
,
equimentId
,
''
);
}
onChange
=
(
e
,
value
)
=>
{
let
searchParam
=
[{
name
:
e
,
value
:
value
,
type
:
'LIKE'
}];
this
.
setState
({
searchParam
,
name
:
value
});
}
searchData
=
()
=>
{
let
{
equipmentId
,
name
}
=
this
.
state
;
let
searchParam
=
[];
name
&&
searchParam
.
push
({
name
:
'name'
,
value
:
name
,
type
:
'LIKE'
});
equipmentId
&&
searchParam
.
push
({
name
:
'id'
,
value
:
equipmentId
});
this
.
setState
({
searchParam
},()
=>
this
.
questStatistiscData
({
pageNumber
:
[
this
.
pageConfig
.
current
]
-
1
,
pageSize
:
this
.
pageConfig
.
pageSize
}));
let
searchParam
=
[];
name
&&
searchParam
.
push
({
name
:
'name'
,
value
:
name
,
type
:
'LIKE'
});
equipmentId
&&
searchParam
.
push
({
name
:
'id'
,
value
:
equipmentId
});
this
.
setState
({
searchParam
},()
=>
this
.
questStatistiscData
({
pageNumber
:
[
this
.
pageConfig
.
current
]
-
1
,
pageSize
:
this
.
pageConfig
.
pageSize
}));
}
questStatistiscData
=
param
=>
{
...
...
@@ -124,9 +123,9 @@ class EquipTable extends Component {
this
.
queryEquipPage
(
searchParam
,
pageNumber
,
pageSize
);
}
queryEquipPage
=
(
searchParam
,
pageNumber
,
pageSize
)
=>
{
getEquipmentListAction
(
searchParam
,
pageNumber
,
pageSize
).
then
(
data
=>
{
this
.
setState
({
dataList
:
data
.
content
,
totalCount
:
data
.
totalElements
});
queryEquipPage
=
(
searchParam
,
pageNumber
,
pageSize
)
=>
{
getEquipmentListAction
(
searchParam
,
pageNumber
,
pageSize
).
then
(
data
=>
{
this
.
setState
({
dataList
:
data
.
content
,
totalCount
:
data
.
totalElements
});
});
}
...
...
@@ -135,9 +134,9 @@ class EquipTable extends Component {
let
defaultPageConfig
=
this
.
pageConfig
;
return
(
<
div
className
=
"equip-model-equip"
>
<
div
className
=
'equip-model-equip-input'
>
<
Input
value
=
{
name
}
placeholder
=
"请输入设备名称"
onChange
=
{
e
=>
this
.
onChange
(
'name'
,
e
.
target
.
value
)}
/>  
;
<
BizIcon
icon
=
"sousuo"
onClick
=
{
this
.
searchData
}
/
>
<
div
className
=
'equip-model-equip-input'
>
<
Input
value
=
{
name
}
placeholder
=
"请输入设备名称"
onChange
=
{
e
=>
this
.
onChange
(
'name'
,
e
.
target
.
value
)}
/>  
;
<
Button
title
=
"搜索"
icon
=
{
<
BizIcon
icon
=
"sousuo"
/>
}
transparent
onClick
=
{
this
.
searchData
}
/
>
<
/div
>
<
div
className
=
"equip-model-equip-table"
>
<
AmosGridTable
...
...
@@ -147,12 +146,12 @@ class EquipTable extends Component {
dataList
=
{
dataList
}
totals
=
{
totalCount
}
getTableDataAction
=
{
this
.
questStatistiscData
}
selectedRowKeys
=
{
selectedRowKeys
}
selectedRowKeys
=
{
selectedRowKeys
}
getSelectedRows
=
{
this
.
getSelectedRows
}
rowClassName
=
{
this
.
getRowClassName
}
setPageConfig
=
{
this
.
setPageConfig
}
defaultPageConfig
=
{
defaultPageConfig
}
onRowClick
=
{
this
.
onRow
Double
Click
}
onRowClick
=
{
this
.
onRowClick
}
isChecked
=
{
isChecked
}
/
>
<
/div
>
...
...
src/view/bizview/preControl/riskModel/model/EvaluationModel.js
0 → 100644
View file @
b597e794
import
React
,
{
Component
}
from
'react'
;
import
{
Form
,
Input
,
Select
,
Divider
}
from
'amos-framework'
;
import
{
accidentTypeNoPageAction
,
queryRiskFactorNoPageAction
,
queryEvaModelAction
,
queryAllRiskLevelAction
}
from
'../../../../../services/preControlService'
;
const
FormItem
=
Form
.
Item
;
const
Option
=
Select
.
Option
;
const
TextArea
=
Input
.
TextArea
;
/**
* 危险因素评价页面
*/
class
EvaluationModel
extends
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
searchParam
:
[],
form
:
{
riskFactorsId
:
''
,
accidentTypeId
:
''
,
influence
:
''
,
evaluationSid
:
''
,
evaluationOid
:
''
,
evaluationDid
:
''
,
evaluationS
:
''
,
evaluationO
:
''
,
evaluationD
:
''
,
engineering
:
''
,
train
:
''
,
management
:
''
,
protection
:
''
,
disposal
:
''
,
rpni
:
0
},
riskFactorData
:
[],
accidentTypeData
:
[],
sData
:
[],
dData
:
[],
oData
:
[],
rules
:
{
riskFactorsId
:
[{
required
:
true
,
message
:
'危险因素不能为空'
}],
accidentTypeId
:
[{
required
:
true
,
message
:
'事故类型不能为空'
}],
influence
:
[{
required
:
true
,
message
:
'失效影响不能为空'
}],
evaluationSid
:
[{
required
:
true
,
message
:
'严重度Si不能为空'
}],
evaluationOid
:
[{
required
:
true
,
message
:
'故障频数Oi不能为空'
}],
evaluationDid
:
[{
required
:
true
,
message
:
'探测度Di不能为空'
}]
},
riskLevelData
:
[]
};
}
componentWillMount
=
()
=>
{
let
{
form
}
=
this
.
state
;
Object
.
assign
(
form
,
{
...
this
.
props
});
this
.
setState
({
form
});
};
componentDidMount
=
()
=>
{
this
.
getAccidentTypeData
();
this
.
getRiskFactorData
();
this
.
getEvaModel
(
''
);
this
.
getRiskLevel
();
};
onSelectChange
=
(
key
,
value
,
item
)
=>
{
const
{
form
}
=
this
.
state
;
form
[
key
]
=
value
;
let
coefficient
=
(
item
||
{}).
coefficient
;
if
(
key
===
'evaluationOid'
)
{
form
[
'evaluationO'
]
=
coefficient
;
}
else
if
(
key
===
'evaluationSid'
)
{
form
[
'evaluationS'
]
=
coefficient
;
}
else
if
(
key
===
'evaluationDid'
)
{
form
[
'evaluationD'
]
=
coefficient
;
}
this
.
setState
({
form
});
};
getAccidentTypeData
=
()
=>
{
accidentTypeNoPageAction
().
then
(
data
=>
{
this
.
setState
({
accidentTypeData
:
data
});
});
};
getRiskFactorData
=
()
=>
{
queryRiskFactorNoPageAction
().
then
(
data
=>
{
this
.
setState
({
riskFactorData
:
data
});
});
};
getEvaModel
=
searchParam
=>
{
queryEvaModelAction
(
searchParam
).
then
(
data
=>
{
this
.
setState
({
sData
:
data
.
S
,
dData
:
data
.
D
,
oData
:
data
.
O
});
});
};
getRiskLevel
=
()
=>
{
queryAllRiskLevelAction
().
then
(
data
=>
{
this
.
setState
({
riskLevelData
:
data
});
});
}
confiremLevel
=
()
=>
{
let
{
riskLevelData
,
form
}
=
this
.
state
;
let
rpni
=
form
.
evaluationS
*
form
.
evaluationO
*
form
.
evaluationD
;
let
target
=
{};
target
=
riskLevelData
.
filter
(
level
=>
{
if
(
rpni
>
level
.
downLimit
&&
rpni
<=
level
.
topLimit
)
{
return
true
;
}
});
form
.
rpni
=
rpni
;
return
target
[
0
]
&&
target
[
0
].
name
;
}
reload
=
()
=>
{
this
.
setState
({
form
:
{
riskFactorsId
:
''
,
accidentTypeId
:
''
,
influence
:
''
,
evaluationSid
:
''
,
evaluationOid
:
''
,
evaluationDid
:
''
,
evaluationS
:
''
,
evaluationO
:
''
,
evaluationD
:
''
,
engineering
:
''
,
train
:
''
,
management
:
''
,
protection
:
''
,
disposal
:
''
}
});
};
render
()
{
const
{
form
,
rules
,
sData
,
dData
,
oData
}
=
this
.
state
;
const
formItemLayout
=
{
labelCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
5
},
className
:
'colspanlab'
},
wrapperCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
14
},
className
:
'colspan'
}
};
return
(
<
div
className
=
"fmea-model"
>
<
Form
model
=
{
form
}
rules
=
{
rules
}
ref
=
{
component
=>
this
.
form
=
component
}
>
<
span
className
=
"fmea-item-span"
>
风险评价:
<
/span
>
<
Divider
/>
<
FormItem
label
=
{
<
span
>
风险评价准则
<
/span>} className="fmea-item-risk-factor" field="" {...formItemLayout} /
>
<
div
className
=
"fmea-model-evaluation"
>
<
FormItem
label
=
{
<
span
>
S
准则
<
/span>} field="evaluationSid" {...formItemLayout}
>
<
Select
className
=
"fmea-model-select"
data
=
{
sData
}
renderOption
=
{
item
=>
<
Option
value
=
{
parseInt
(
item
.
id
)}
>
{
item
.
coefficient
}
-
{
item
.
influence
}
<
/Option>
}
value
=
{
parseInt
(
form
.
evaluationSid
)}
onChange
=
{(
e
,
item
)
=>
this
.
onSelectChange
(
'evaluationSid'
,
e
,
item
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
O
准则
<
/span>} field="evaluationOid" {...formItemLayout}
>
<
Select
className
=
"fmea-model-select"
data
=
{
oData
}
renderOption
=
{
item
=>
(
<
Option
value
=
{
parseInt
(
item
.
id
)}
>
{
item
.
coefficient
}
-
{
item
.
influence
}
-
{
item
.
describe
}
<
/Option
>
)}
value
=
{
form
.
evaluationOid
}
onChange
=
{(
e
,
item
)
=>
this
.
onSelectChange
(
'evaluationOid'
,
e
,
item
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
D
准则
<
/span>} className="fmea-item-evaluationDid" field="evaluationDid" {...formItemLayout}
>
<
Select
className
=
"fmea-model-select"
data
=
{
dData
}
renderOption
=
{
item
=>
(
<
Option
value
=
{
parseInt
(
item
.
id
)}
>
{
item
.
coefficient
}
-
{
item
.
describe
}
<
/Option
>
)}
value
=
{
form
.
evaluationDid
}
onChange
=
{(
e
,
item
)
=>
this
.
onSelectChange
(
'evaluationDid'
,
e
,
item
)}
/
>
<
/FormItem
>
<
/div
>
<
FormItem
label
=
{
<
span
>
风险评价结果
<
/span>} className="fmea-item-influence" field="" {...formItemLayout}
>
<
div
style
=
{{
display
:
'flex'
,
lineHeight
:
'32px'
}}
>
<
div
style
=
{{
paddingRight
:
'15px'
}}
>
S
准则:
{
form
.
evaluationS
}
<
/div
>
<
div
style
=
{{
paddingRight
:
'15px'
}}
>
O
准则:
{
form
.
evaluationO
}
<
/div
>
<
div
style
=
{{
paddingRight
:
'15px'
}}
>
D
准则:
{
form
.
evaluationD
}
<
/div
>
<
div
style
=
{{
paddingRight
:
'15px'
}}
>
RPNI
:
{
form
.
evaluationS
*
form
.
evaluationO
*
form
.
evaluationD
}
<
/div
>
<
/div
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
风险等级
<
/span>} className="fmea-item-influence" field="" {...formItemLayout}
>
<
div
style
=
{{
lineHeight
:
'32px'
}}
>
{
this
.
confiremLevel
()}
<
/div
>
<
/FormItem
>
<
span
className
=
"fmea-item-span"
>
责任人:
<
/span
>
<
FormItem
label
=
{
<
span
>
责任人
<
/span>} className="fmea-item-influence" field="identifyUser" {...formItemLayout}
>
<
Input
className
=
"risk_factor_input"
value
=
{
form
.
influence
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'influence'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
Divider
/>
<
span
className
=
"fmea-item-span"
>
管控措施:
<
/span
>
<
Divider
/>
<
FormItem
label
=
{
<
span
>
工程措施
<
/span>} className="fmea-item-display" field="engineering" {...formItemLayout}
>
<
TextArea
className
=
"fmea-input_item"
rows
=
{
4
}
value
=
{
form
.
engineering
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'engineering'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
培训教育
<
/span>} className="fmea-item-display" field="train" {...formItemLayout}
>
<
TextArea
className
=
"fmea-input_item"
rows
=
{
4
}
value
=
{
form
.
train
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'train'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
管理措施
<
/span>} className="fmea-item-display" field="management" {...formItemLayout}
>
<
TextArea
className
=
"fmea-input_item"
rows
=
{
4
}
value
=
{
form
.
management
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'management'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
个体防护
<
/span>} className="fmea-item-display" field="protection" {...formItemLayout}
>
<
TextArea
className
=
"fmea-input_item"
rows
=
{
4
}
value
=
{
form
.
protection
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'protection'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
应急处置
<
/span>} className="fmea-item-display" field="disposal" {...formItemLayout}
>
<
TextArea
className
=
"fmea-input_item"
rows
=
{
4
}
value
=
{
form
.
disposal
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'disposal'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
/Form
>
<
/div
>
);
}
}
export
default
EvaluationModel
;
src/view/bizview/preControl/riskModel/model/FireEquipIndexTable.js
0 → 100644
View file @
b597e794
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
AmosGridTable
from
'./../../../common/tableComponent/table/AmosGridTable'
;
import
{
Input
,
Button
}
from
'amos-framework'
;
import
BizIcon
from
'./../../../../common/icon/BizIcon'
;
const
getAssoEquipColumns
=
()
=>
{
return
[
{
title
:
'编号'
,
dataIndex
:
'code'
,
key
:
'code'
,
width
:
'30%'
},
{
title
:
'名称'
,
dataIndex
:
'name'
,
key
:
'name'
,
width
:
'70%'
}
];
};
/**
* 关联对象-配套设备
*/
class
FireEquipIndexTable
extends
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
pageConfig
=
{
current
:
1
,
pageSize
:
10
};
this
.
state
=
{
pagination
:
false
,
isChecked
:
true
,
selectedRows
:
[],
selectedRowKeys
:
[],
dataList
:
[]
};
}
onChange
=
(
e
,
value
)
=>
{
this
.
setState
({
fname
:
value
});
}
/**
* 分页设置参数
*/
setPageConfig
=
({
pageSize
,
current
})
=>
{
if
(
pageSize
!==
undefined
)
{
this
.
pageConfig
.
pageSize
=
pageSize
;
}
if
(
current
!==
undefined
)
{
this
.
pageConfig
.
pageNumber
=
current
;
}
};
/**
* 获取表格所选则的行数据
*/
getSelectedRows
=
(
selectedRows
,
selectedRowKeys
)
=>
{
this
.
setState
({
selectedRows
,
selectedRowKeys
});
let
{
fmeaId
,
equipmentId
,
callBack
}
=
this
.
props
;
callBack
(
selectedRowKeys
,
fmeaId
,
equipmentId
);
};
getRowClassName
=
(
record
,
index
)
=>
{
let
highlight
=
this
.
highlight
;
if
(
highlight
&&
record
.
id
===
highlight
)
{
return
'highlight-row'
;
}
else
{
return
'normal-row'
;
}
}
/**
* 获取表格刷新方法
*/
reload
=
r
=>
{
this
.
setState
(
{
reload
:
()
=>
{
r
();
this
.
setState
({
selectedRows
:
[],
selectedRowKeys
:
[]
});
}
},
r
()
);
};
clearSelectedRows
=
()
=>
{
this
.
setState
({
selectedRows
:
[],
selectedRowKeys
:
[]
});
};
reloadPage
=
()
=>
{
this
.
clearSelectedRows
();
this
.
state
.
reload
();
};
searchData
=
()
=>
{
let
{
riskSourceId
,
equipmentId
,
setParamAndSearch
}
=
this
.
props
;
let
{
fname
}
=
this
.
state
;
setParamAndSearch
({
riskSourceId
,
equipmentId
,
fname
});
}
save
=
()
=>
{
this
.
props
.
bindEquipIndexCallback
();
}
render
()
{
let
{
pagination
,
isChecked
,
fname
}
=
this
.
state
;
let
{
dataList
,
totalCount
,
selects
}
=
this
.
props
;
let
defaultPageConfig
=
this
.
pageConfig
;
return
(
<
div
className
=
"equip-model-fire"
>
<
div
className
=
'equip-model-fire-input'
>
<
Input
value
=
{
fname
}
placeholder
=
"请输名称"
onChange
=
{
e
=>
this
.
onChange
(
'fname'
,
e
.
target
.
value
)}
/>  
;
<
Button
title
=
"搜索"
icon
=
{
<
BizIcon
icon
=
"sousuo"
/>
}
transparent
onClick
=
{
this
.
searchData
}
/
>
<
Button
title
=
"保存"
icon
=
{
<
BizIcon
icon
=
"baocun"
/>
}
transparent
onClick
=
{
this
.
save
}
/
>
<
/div
>
<
div
className
=
"equip-model-fire-table"
>
<
AmosGridTable
columns
=
{
getAssoEquipColumns
()}
callBack
=
{
this
.
reload
}
isPageable
=
{
pagination
}
dataList
=
{
dataList
}
totals
=
{
totalCount
}
getTableDataAction
=
{()
=>
{}}
selectedRowKeys
=
{
selects
}
getSelectedRows
=
{
this
.
getSelectedRows
}
rowClassName
=
{
this
.
getRowClassName
}
isChecked
=
{
isChecked
}
/
>
<
/div
>
<
/div
>
);
}
}
FireEquipIndexTable
.
propTypes
=
{
bindEquipIndexCallback
:
PropTypes
.
func
,
fmeaId
:
PropTypes
.
number
};
export
default
FireEquipIndexTable
;
src/view/bizview/preControl/riskModel/model/FireEquipTable.js
View file @
b597e794
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
AmosGridTable
from
'./../../../common/tableComponent/table/AmosGridTable'
;
import
{
Input
}
from
'amos-framework'
;
import
{
Input
,
Button
}
from
'amos-framework'
;
import
BizIcon
from
'./../../../../common/icon/BizIcon'
;
const
getAssoEquipColumns
=
()
=>
{
...
...
@@ -26,7 +26,7 @@ const getAssoEquipColumns = () => {
* 关联对象-配套设备
*/
class
FireEquipTable
extends
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
);
this
.
pageConfig
=
{
current
:
1
,
...
...
@@ -34,14 +34,25 @@ class FireEquipTable extends Component {
};
this
.
state
=
{
pagination
:
false
,
isChecked
:
tru
e
,
isChecked
:
fals
e
,
selectedRows
:
[],
selectedRowKeys
:
[],
dataList
:
[]
};
}
/**
onChange
=
(
e
,
value
)
=>
{
this
.
setState
({
fname
:
value
});
}
onRowClick
=
(
record
)
=>
{
let
{
fetchData
,
fmeaId
}
=
this
.
props
;
let
equimentId
=
record
.
id
;
this
.
setState
({
equimentId
:
record
.
id
,
fmeaId
});
fetchData
(
fmeaId
,
equimentId
,
''
);
}
/**
* 分页设置参数
*/
setPageConfig
=
({
pageSize
,
current
})
=>
{
...
...
@@ -59,7 +70,7 @@ class FireEquipTable extends Component {
getSelectedRows
=
(
selectedRows
,
selectedRowKeys
)
=>
{
this
.
setState
({
selectedRows
,
selectedRowKeys
});
let
{
riskSourceId
,
equipmentId
,
callBack
}
=
this
.
props
;
callBack
(
selectedRowKeys
,
riskSourceId
,
equipmentId
);
//
callBack(selectedRowKeys,riskSourceId,equipmentId);
};
getRowClassName
=
(
record
,
index
)
=>
{
...
...
@@ -95,26 +106,21 @@ class FireEquipTable extends Component {
this
.
state
.
reload
();
};
onChange
=
(
e
,
value
)
=>
{
this
.
setState
({
fname
:
value
})
}
searchData
=
()
=>
{
let
{
riskSourceId
,
equipmentId
,
setParamAndSearch
}
=
this
.
props
;
let
{
fname
}
=
this
.
state
;
setParamAndSearch
({
riskSourceId
:
riskSourceId
,
equipmentId
:
equipmentId
,
fname
:
fname
});
setParamAndSearch
({
riskSourceId
,
equipmentId
,
fname
});
}
render
()
{
let
{
pagination
,
isChecked
,
fname
}
=
this
.
state
;
let
{
dataList
,
totalCount
,
selects
}
=
this
.
props
;
let
defaultPageConfig
=
this
.
pageConfig
;
return
(
<
div
className
=
"equip-model-fire"
>
<
div
className
=
'equip-model-fire-input'
>
<
Input
value
=
{
fname
}
placeholder
=
"请输名称"
onChange
=
{
e
=>
this
.
onChange
(
'fname'
,
e
.
target
.
value
)}
/>  
;
<
BizIcon
icon
=
"sousuo"
onClick
=
{
this
.
searchData
}
/
>
<
div
className
=
'equip-model-fire-input'
>
<
Input
value
=
{
fname
}
placeholder
=
"请输名称"
onChange
=
{
e
=>
this
.
onChange
(
'fname'
,
e
.
target
.
value
)}
/>  
;
<
Button
title
=
"搜索"
icon
=
{
<
BizIcon
icon
=
"sousuo"
/>
}
transparent
onClick
=
{
this
.
searchData
}
/
>
<
/div
>
<
div
className
=
"equip-model-fire-table"
>
<
AmosGridTable
...
...
@@ -124,9 +130,10 @@ class FireEquipTable extends Component {
dataList
=
{
dataList
}
totals
=
{
totalCount
}
getTableDataAction
=
{()
=>
{}}
selectedRowKeys
=
{
selects
}
selectedRowKeys
=
{
selects
}
getSelectedRows
=
{
this
.
getSelectedRows
}
rowClassName
=
{
this
.
getRowClassName
}
onRowClick
=
{
this
.
onRowClick
}
isChecked
=
{
isChecked
}
/
>
<
/div
>
...
...
@@ -136,6 +143,10 @@ class FireEquipTable extends Component {
}
FireEquipTable
.
propTypes
=
{
fmeaId
:
PropTypes
.
number
,
fetchData
:
PropTypes
.
func
,
dataList
:
PropTypes
.
array
,
totalCount
:
PropTypes
.
number
,
selects
:
PropTypes
.
array
};
export
default
FireEquipTable
;
src/view/bizview/preControl/riskModel/model/PointModel.js
View file @
b597e794
...
...
@@ -2,7 +2,8 @@ import React, { Component } from 'react';
import
PropTypes
from
'prop-types'
;
import
AmosGridTable
from
'./../../../common/tableComponent/table/AmosGridTable'
;
import
{
queryDeptByOrgCodeAction
,
queryPointPageListAction
,
queryPointInputPageListAction
}
from
'../../../../../services/preControlService'
;
import
{
Select
,
Checkbox
}
from
'amos-framework'
;
import
{
Select
,
Checkbox
,
Button
}
from
'amos-framework'
;
import
BizIcon
from
'../../../../common/icon/BizIcon'
;
const
Option
=
Select
.
Option
;
const
CheckboxGroup
=
Checkbox
.
Group
;
...
...
@@ -31,7 +32,7 @@ const getColumns = () => {
* 关联对象-巡检点项
*/
class
PointModel
extends
Component
{
constructor
(
props
)
{
constructor
(
props
)
{
super
(
props
);
this
.
pageConfig
=
{
current
:
1
,
...
...
@@ -42,24 +43,24 @@ class PointModel extends Component {
isChecked
:
false
,
selectedRows
:
[],
selectedRowKeys
:
[],
departmentId
:
''
,
departmentId
:
''
,
selects
:
[],
pointIntemData
:[],
pointIntemData
:
[],
deptData
:
[],
select
:
[],
searchParam
:
[],
selectData
:[],
//已经配置的关联点项
inputType
:
''
selectData
:
[],
//已经配置的关联点项
inputType
:
''
};
}
componentWillMount
=
()
=>
{
this
.
queryDeptByOrgCode
();
let
{
pointId
}
=
{
...
this
.
props
};
pointId
&&
this
.
setState
({
searchParam
:
[{
'name'
:
'pointId'
,
'value'
:
pointId
}]
,
pointId
});
let
{
pointId
}
=
{
...
this
.
props
};
pointId
&&
this
.
setState
({
searchParam
:
[{
'name'
:
'pointId'
,
'value'
:
pointId
}]
,
pointId
});
};
/**
/**
* 分页设置参数
*/
setPageConfig
=
({
pageSize
,
current
})
=>
{
...
...
@@ -71,7 +72,7 @@ class PointModel extends Component {
}
};
/**
/**
* 获取表格所选则的行数据
*/
getSelectedRows
=
(
selectedRows
,
selectedRowKeys
)
=>
{
...
...
@@ -87,7 +88,7 @@ class PointModel extends Component {
}
}
/**
/**
* 获取表格刷新方法
*/
reload
=
r
=>
{
...
...
@@ -102,12 +103,11 @@ class PointModel extends Component {
);
};
onRowDoubleClick
=
(
record
,
index
,
event
)
=>
{
let
searchParam
=
[];
searchParam
.
push
({
name
:
'pointId'
,
value
:
record
.
id
});
searchParam
.
push
({
name
:
'riskSourceId'
,
value
:
this
.
props
.
riskSourceId
});
this
.
setState
({
pointId
:
record
.
id
})
let
searchParam
=
[];
searchParam
.
push
({
name
:
'pointId'
,
value
:
record
.
id
});
searchParam
.
push
({
name
:
'fmeaId'
,
value
:
this
.
props
.
fmeaId
});
this
.
setState
({
pointId
:
record
.
id
});
this
.
queryPointInputItem
(
searchParam
,
record
.
id
,
''
);
}
...
...
@@ -123,34 +123,34 @@ class PointModel extends Component {
onInputTypeChange
=
(
e
,
value
)
=>
{
let
{
pointId
}
=
this
.
state
;
let
searchParam
=
[];
searchParam
.
push
({
name
:
'pointId'
,
value
:
pointId
});
searchParam
.
push
({
name
:
'inputType'
,
value
:
value
});
searchParam
.
push
({
name
:
'riskSourceId'
,
value
:
this
.
props
.
riskSourceId
});
searchParam
.
push
({
name
:
'pointId'
,
value
:
pointId
});
searchParam
.
push
({
name
:
'inputType'
,
value
});
searchParam
.
push
({
name
:
'fmeaId'
,
value
:
this
.
props
.
fmeaId
});
this
.
queryPointInputItem
(
searchParam
,
pointId
,
value
);
this
.
setState
({
inputType
:
value
});
this
.
setState
({
inputType
:
value
});
};
queryPointInputItem
=
(
searchParam
,
pointId
,
value
)
=>
{
let
riskSourceId
=
this
.
props
.
riskSourceId
;
pointId
&&
queryPointInputPageListAction
(
searchParam
,
0
,
-
1
).
then
(
data
=>
{
//查询巡检点项
let
content
=
data
.
content
;
//内容
if
(
!
value
){
//全部时才放数据
if
(
!
value
){
//全部时才放数据
let
{
selectData
}
=
this
.
state
;
let
checkItem
=
content
.
filter
(
item
=>
item
.
isBound
===
'bound'
);
//已经选择的
let
selects
=
checkItem
.
map
(
e
=>
{
return
e
.
input
Id
;
return
e
.
pointInputitem
Id
;
});
//按照pointId删除,之前已经有的选择数据
let
index
=
selectData
.
findIndex
(
item
=>
item
.
pointId
===
pointId
);
while
(
index
>=
0
){
//先删除
while
(
index
>=
0
){
//先删除
selectData
.
splice
(
index
,
1
);
index
=
selectData
.
findIndex
(
item
=>
item
.
pointId
===
pointId
);
}
checkItem
.
map
(
e
=>
{
//再新增
selectData
.
push
({
riskSourceId
:
riskSourceId
,
pointId
:
e
.
pointId
,
pointInputitemId
:
e
.
inputId
});
selectData
.
push
({
riskSourceId
,
pointId
:
e
.
pointId
,
pointInputitemId
:
e
.
pointInputitemId
});
});
this
.
setState
({
pointIntemData
:
content
,
selects
:
selects
,
selectData
:
selectData
});
}
else
{
//选择分类时,不改变选择的全部数据
this
.
setState
({
pointIntemData
:
content
,
selects
,
selectData
});
}
else
{
//选择分类时,不改变选择的全部数据
this
.
setState
({
pointIntemData
:
content
});
}
});
...
...
@@ -165,7 +165,7 @@ class PointModel extends Component {
getCheckBox
=
()
=>
{
const
{
pointIntemData
}
=
this
.
state
;
return
pointIntemData
.
map
(
item
=>
{
return
<
Checkbox
key
=
{
item
.
inputId
}
value
=
{
item
.
input
Id
}
>
{
item
.
inputName
}
<
/Checkbox>
;
return
<
Checkbox
key
=
{
item
.
pointInputitemId
}
value
=
{
item
.
pointInputitem
Id
}
>
{
item
.
inputName
}
<
/Checkbox>
;
});
}
...
...
@@ -198,16 +198,19 @@ class PointModel extends Component {
let
riskSourceId
=
this
.
props
.
riskSourceId
;
let
{
selectData
}
=
this
.
state
;
let
index
=
selectData
.
findIndex
(
item
=>
item
.
pointId
===
pointId
);
while
(
index
>=
0
){
while
(
index
>=
0
){
selectData
.
splice
(
index
,
1
);
index
=
selectData
.
findIndex
(
item
=>
item
.
pointId
===
pointId
);
}
selects
.
map
(
e
=>
{
selectData
.
push
({
riskSourceId
:
riskSourceId
,
pointId
:
pointId
,
pointInputitemId
:
e
});
selectData
.
push
({
riskSourceId
,
pointId
,
pointInputitemId
:
e
});
});
this
.
setState
({
selects
,
selectData
});
}
save
=
()
=>
{
this
.
props
.
bindPointsCallback
();
}
render
()
{
let
{
dataList
,
totalCount
,
pagination
,
isChecked
,
selectedRowKeys
,
pointIntemData
,
departmentId
,
deptData
,
selects
,
pointId
,
inputType
}
=
this
.
state
;
...
...
@@ -223,7 +226,7 @@ class PointModel extends Component {
renderOption
=
{
item
=>
<
Option
value
=
{
item
.
depmCode
}
>
{
item
.
departmentName
}
<
/Option>
}
value
=
{
departmentId
}
defaultOption
=
{
<
Option
value
=
""
>
全部
<
/Option>
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'departmentId'
,
e
)
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'departmentId'
,
e
)
}
/
>
<
/div
>
<
div
className
=
"point-model-table"
>
...
...
@@ -234,7 +237,7 @@ class PointModel extends Component {
dataList
=
{
dataList
}
totals
=
{
totalCount
}
getTableDataAction
=
{
this
.
questStatistiscData
}
selectedRowKeys
=
{
selectedRowKeys
}
selectedRowKeys
=
{
selectedRowKeys
}
getSelectedRows
=
{
this
.
getSelectedRows
}
rowClassName
=
{
this
.
getRowClassName
}
setPageConfig
=
{
this
.
setPageConfig
}
...
...
@@ -256,9 +259,10 @@ class PointModel extends Component {
<
Option
value
=
"数字"
>
数字检查项
<
/Option
>
<
Option
value
=
"选择"
>
选择检查项
<
/Option
>
<
/Select
>
<
Button
title
=
"保存"
icon
=
{
<
BizIcon
icon
=
"baocun"
/>
}
transparent
onClick
=
{
this
.
save
}
/
>
<
/div
>
<
div
className
=
"point-model-checkBox"
>
<
CheckboxGroup
vertical
isCheckall
selects
=
{
selects
}
onChange
=
{
selects
=>
this
.
onCheckBoxChange
(
pointId
,
selects
)}
>
<
CheckboxGroup
vertical
isCheckall
selects
=
{
selects
}
onChange
=
{
selects
=>
this
.
onCheckBoxChange
(
pointId
,
selects
)}
>
{
this
.
getCheckBox
(
pointIntemData
)}
<
/CheckboxGroup
>
<
/div
>
...
...
@@ -269,6 +273,7 @@ class PointModel extends Component {
}
PointModel
.
propTypes
=
{
fmeaId
:
PropTypes
.
number
,
bindPointsCallback
:
PropTypes
.
func
};
export
default
PointModel
;
src/view/bizview/preControl/riskModel/model/RiskFactorModel.js
0 → 100644
View file @
b597e794
import
React
,
{
Component
}
from
'react'
;
import
{
Form
,
Input
,
Select
,
Divider
,
MultiSelect
}
from
'amos-framework'
;
import
{
accidentTypeNoPageAction
,
queryRiskFactorNoPageAction
,
queryEvaModelAction
}
from
'../../../../../services/preControlService'
;
const
FormItem
=
Form
.
Item
;
const
Option
=
Select
.
Option
;
const
multiSelectOption
=
MultiSelect
.
Option
;
/**
* 危险因素
*/
class
RiskFactorModel
extends
Component
{
constructor
(
props
)
{
super
(
props
);
this
.
state
=
{
searchParam
:
[],
form
:
{
riskFactorIds
:
[],
identifyUser
:
''
,
identifyMethod
:
''
},
riskFactorData
:
[],
rules
:
{
riskFactorIds
:
[{
required
:
true
,
message
:
'危险因素不能为空'
}]
}
};
}
componentWillMount
=
()
=>
{
let
{
form
}
=
this
.
state
;
Object
.
assign
(
form
,
{
...
this
.
props
});
this
.
setState
({
form
});
};
componentDidMount
=
()
=>
{
this
.
getRiskFactorData
();
};
onSelectChange
=
(
key
,
value
,
item
)
=>
{
const
{
form
}
=
this
.
state
;
form
[
key
]
=
value
;
this
.
setState
({
form
});
};
onSelectedChange
=
(
value
,
type
)
=>
{
const
{
form
}
=
this
.
state
;
form
[
type
]
=
value
;
this
.
setState
({
form
});
}
getRiskFactorData
=
()
=>
{
queryRiskFactorNoPageAction
().
then
(
data
=>
{
this
.
setState
({
riskFactorData
:
data
});
});
};
reload
=
()
=>
{
this
.
setState
({
form
:
{
riskFactorIds
:
[],
identifyUser
:
''
,
identifyMethod
:
''
}
});
};
render
()
{
const
{
form
,
rules
,
riskFactorData
}
=
this
.
state
;
const
formItemLayout
=
{
labelCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
5
},
className
:
'colspanlab'
},
wrapperCol
:
{
xs
:
{
span
:
24
},
sm
:
{
span
:
14
},
className
:
'colspan'
}
};
return
(
<
div
className
=
"fmea-model"
>
<
Form
model
=
{
form
}
rules
=
{
rules
}
ref
=
{
component
=>
this
.
form
=
component
}
>
<
span
className
=
"fmea-item-span"
>
基本信息:
<
/span
>
<
Divider
/>
<
FormItem
label
=
{
<
span
>
辨识人
<
/span>} className="fmea-item-influence" field="identifyUser" {...formItemLayout}
>
<
Input
className
=
"risk_factor_input"
value
=
{
form
.
influence
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'influence'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
辨识方法
<
/span>} className="fmea-item-influence" field="identifyMethod" {...formItemLayout}
>
<
Input
className
=
"risk_factor_input"
value
=
{
form
.
influence
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'influence'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
span
className
=
"fmea-item-span"
>
失危险有害因素:
<
/span
>
<
Divider
/>
<
FormItem
label
=
{
<
span
>
危险因素
<
/span>} className="fmea-item-risk-factor" field="riskFactorsId" {...formItemLayout}
>
<
div
className
=
"risk-factor-select"
style
=
{{
height
:
'200px'
}}
>
<
MultiSelect
className
=
"fmea-model-select"
data
=
{
riskFactorData
}
renderOption
=
{
item
=>
<
multiSelectOption
value
=
{
parseInt
(
item
.
id
)}
>
{
item
.
name
}
<
/multiSelectOption>
}
values
=
{
form
.
riskFactorIds
}
onChange
=
{(
e
)
=>
this
.
onSelectedChange
(
e
,
'riskFactorIds'
)}
placeholder
=
'危险因素'
/>
<
/div
>
<
/FormItem
>
<
/Form
>
<
/div
>
);
}
}
export
default
RiskFactorModel
;
src/view/bizview/preControl/riskModel/model/RiskSourceModel.js
View file @
b597e794
import
React
,
{
Component
}
from
'react'
;
import
PropTypes
from
'prop-types'
;
import
{
Form
,
Input
,
Select
,
Radio
}
from
'amos-framework'
;
import
{
queryRiskLevelEumListAction
}
from
'../../../../../services/preControlService'
;
...
...
@@ -6,10 +7,10 @@ const FormItem = Form.Item;
const
Option
=
Select
.
Option
;
const
RadioGroup
=
Radio
.
Group
;
const
floorData
=
[{
id
:
'1'
,
name
:
'1层'
},
{
id
:
'2'
,
name
:
'2层'
},
{
id
:
'3'
,
name
:
'3层'
},
{
id
:
'4'
,
name
:
'4层'
},
{
id
:
'5'
,
name
:
'5层'
},
{
id
:
'6'
,
name
:
'6层'
}];
/**
* 添加风险层级,编辑及维护
*/
class
RiskSourceModel
extends
Component
{
constructor
(
props
)
{
super
(
props
);
...
...
@@ -22,7 +23,7 @@ class RiskSourceModel extends Component {
riskLevelId
:
''
,
rpn
:
0
,
parentId
:
this
.
props
.
parentId
,
isRegion
:
'FALS
E'
,
isRegion
:
this
.
props
.
treeNodeType
===
2
?
'FALSE'
:
'TRU
E'
,
floor3d
:
'1'
,
isIndoor
:
1
,
position3d
:
''
...
...
@@ -60,6 +61,23 @@ class RiskSourceModel extends Component {
this
.
getriskLevelEumData
();
};
componentWillReceiveProps
=
(
nextProps
)
=>
{
let
{
form
}
=
this
.
state
;
let
{
selectedRow
}
=
nextProps
;
if
(
selectedRow
)
{
form
.
id
=
selectedRow
.
id
;
form
.
name
=
selectedRow
.
name
;
form
.
code
=
selectedRow
.
code
;
form
.
parentId
=
selectedRow
.
parentId
;
form
.
riskLevelId
=
selectedRow
.
riskLevelId
;
form
.
rpn
=
selectedRow
.
rpn
;
form
.
isRegion
=
selectedRow
.
isRegion
;
form
.
position3d
=
selectedRow
.
position3d
;
form
.
floor3d
=
selectedRow
.
floor3d
;
form
.
isIndoor
=
selectedRow
.
isIndoor
;
}
this
.
setState
({
form
});
}
onSelectChange
=
(
key
,
value
)
=>
{
const
{
form
}
=
this
.
state
;
form
[
key
]
=
value
;
...
...
@@ -97,6 +115,8 @@ class RiskSourceModel extends Component {
render
()
{
const
{
form
,
rules
,
riskLevelData
}
=
this
.
state
;
const
{
treeNodeType
,
disabled
}
=
this
.
props
;
let
showIsRegionSelection
=
(
treeNodeType
===
3
||
treeNodeType
===
undefined
)
&&
form
.
isRegion
===
'TRUE'
;
const
formItemLayout
=
{
labelCol
:
{
xs
:
{
span
:
24
},
...
...
@@ -114,10 +134,10 @@ class RiskSourceModel extends Component {
<
div
>
<
Form
model
=
{
form
}
rules
=
{
rules
}
ref
=
{
component
=>
(
this
.
form
=
component
)}
>
<
FormItem
label
=
{
<
span
>
风险名称
<
/span>} field="name" {...formItemLayout}
>
<
Input
className
=
"risk-model-input"
required
value
=
{
form
.
name
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'name'
,
e
.
target
.
value
)}
/
>
<
Input
disabled
=
{
disabled
}
className
=
"risk-model-input"
required
value
=
{
form
.
name
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'name'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
参考编号
<
/span>} field="code" {...formItemLayout}
>
<
Input
className
=
"risk-model-input"
required
value
=
{
form
.
code
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'code'
,
e
.
target
.
value
)}
/
>
<
Input
disabled
=
{
disabled
}
className
=
"risk-model-input"
required
value
=
{
form
.
code
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'code'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
风险等级
<
/span>} field="riskLevelId" {...formItemLayout}
>
<
Select
...
...
@@ -126,16 +146,18 @@ class RiskSourceModel extends Component {
value
=
{
form
.
riskLevelId
}
renderOption
=
{
item
=>
<
Option
value
=
{
item
.
id
}
>
{
item
.
name
||
item
.
level
}
<
/Option>
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'riskLevelId'
,
e
)}
disabled
=
{
disabled
}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
是否区域
<
/span>} field="isRegion" {...formItemLayout}
>
<
RadioGroup
defaultValue
=
{
form
.
isRegion
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'isRegion'
,
e
)}
>
{
showIsRegionSelection
&&
<
FormItem
label
=
{
<
span
>
是否区域
<
/span>} field="isRegion" {...formItemLayout}
>
<
RadioGroup
d
isabled
=
{
disabled
}
d
efaultValue
=
{
form
.
isRegion
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'isRegion'
,
e
)}
>
<
Radio
value
=
"FALSE"
>
否
<
/Radio
>
<
Radio
value
=
"TRUE"
>
是
<
/Radio
>
<
/RadioGroup
>
<
/FormItem
>
}
<
FormItem
label
=
{
<
span
>
3
维坐标
<
/span>} field="position3d" {...formItemLayout}
>
<
Input
className
=
"risk-model-input"
value
=
{
form
.
position3d
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'position3d'
,
e
.
target
.
value
)}
/
>
<
Input
disabled
=
{
disabled
}
className
=
"risk-model-input"
value
=
{
form
.
position3d
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'position3d'
,
e
.
target
.
value
)}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
3
维楼层
<
/span>} field="floor3d" {...formItemLayout}
>
<
Select
...
...
@@ -145,10 +167,11 @@ class RiskSourceModel extends Component {
value
=
{
form
.
floor3d
}
renderOption
=
{
item
=>
<
Option
value
=
{
item
.
id
}
>
{
item
.
name
}
<
/Option>
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'floor3d'
,
e
)}
disabled
=
{
disabled
}
/
>
<
/FormItem
>
<
FormItem
label
=
{
<
span
>
是否室内
<
/span>} field="isIndoor" {...formItemLayout}
>
<
RadioGroup
defaultValue
=
{
form
.
isIndoor
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'isIndoor'
,
e
)}
>
<
RadioGroup
d
isabled
=
{
disabled
}
d
efaultValue
=
{
form
.
isIndoor
}
onChange
=
{
e
=>
this
.
onSelectChange
(
'isIndoor'
,
e
)}
>
<
Radio
value
=
{
0
}
>
否
<
/Radio
>
<
Radio
value
=
{
1
}
>
是
<
/Radio
>
<
/RadioGroup
>
...
...
@@ -159,4 +182,9 @@ class RiskSourceModel extends Component {
}
}
RiskSourceModel
.
propTypes
=
{
treeNodeType
:
PropTypes
.
number
,
parentId
:
PropTypes
.
number
};
export
default
RiskSourceModel
;
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment