Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
R
rongtong-app
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
融通安全管理系统
rongtong-app
Commits
fb06516e
Commit
fb06516e
authored
Jul 12, 2023
by
wei
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'dev-lv' into develop
parents
f4a16cce
b15a0cfc
Changes
15
Show whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
1293 additions
and
881 deletions
+1293
-881
src/App.vue
src/App.vue
+2
-2
src/components/selectFloor.vue
src/components/selectFloor.vue
+191
-0
src/components/selectList.vue
src/components/selectList.vue
+223
-0
src/main.js
src/main.js
+2
-2
src/router/index.js
src/router/index.js
+5
-0
src/views/riskProject/add/addInherent.vue
src/views/riskProject/add/addInherent.vue
+198
-389
src/views/riskProject/add/addPresent.vue
src/views/riskProject/add/addPresent.vue
+251
-377
src/views/riskProject/add/inherentRisks.vue
src/views/riskProject/add/inherentRisks.vue
+19
-5
src/views/riskProject/add/projectList.vue
src/views/riskProject/add/projectList.vue
+2
-0
src/views/riskProject/add/taskList.vue
src/views/riskProject/add/taskList.vue
+7
-7
src/views/riskProject/taskLedger/index.vue
src/views/riskProject/taskLedger/index.vue
+79
-78
src/views/riskProject/taskLedger/presentDetail.vue
src/views/riskProject/taskLedger/presentDetail.vue
+297
-0
src/views/riskProject/taskLedger/tabDetail.vue
src/views/riskProject/taskLedger/tabDetail.vue
+4
-4
src/views/riskProject/taskLedger/taskDetail.vue
src/views/riskProject/taskLedger/taskDetail.vue
+11
-15
vue.config.js
vue.config.js
+2
-2
No files found.
src/App.vue
View file @
fb06516e
...
@@ -63,8 +63,8 @@ export default {
...
@@ -63,8 +63,8 @@ export default {
"
riskAssess
"
,
"
riskAssess
"
,
"
riskApprove
"
,
"
riskApprove
"
,
"
taskList
"
,
"
taskList
"
,
"
taskDetail
"
"
taskDetail
"
,
"
riskBigDetail
"
],
],
// cachePage预先定义的缓存页面
// cachePage预先定义的缓存页面
otherCache
:
[],
otherCache
:
[],
...
...
src/components/selectFloor.vue
0 → 100644
View file @
fb06516e
<
template
>
<div>
<!-- 搜索 -->
<!--
<van-sticky
offset-top=
"0"
>
<div
class=
"content-wrap"
>
<div
class=
"search-wrap"
>
<van-search
v-model=
"searchVal"
placeholder=
"搜索"
@
input=
"onInput"
/>
</div>
</div>
</van-sticky>
-->
<div
style=
"margin-bottom: 1.4rem;"
>
<van-tree-select
:items=
"listdata"
:active-id.sync=
"activeId"
:main-active-index.sync=
"activeIndex"
@
click-item=
"clickItem"
>
</van-tree-select>
</div>
<!-- 底部信息 -->
<footer
class=
"footer"
>
<van-cell-group>
<div
class=
"operate"
>
<van-button
size=
"small"
ttype=
"info"
plain
native-type=
"button"
style=
"border-radius: 5px; background-color: #f0f1f5;"
@
click.native=
"cancel"
>
取消
</van-button>
<van-button
size=
"small"
type=
"info"
native-type=
"button"
style=
"margin:0 10px 0 20px;border-radius: 5px;"
@
click.native=
"save"
>
保存
</van-button>
</div>
</van-cell-group>
</footer>
</div>
</
template
>
<
script
>
import
{
debounce
}
from
"
@/utils/common.js
"
;
export
default
{
props
:
{
listdata
:
{
type
:
Array
,
default
:
()
=>
[],
}
},
components
:
{
// LHeader
},
created
()
{
},
data
()
{
return
{
text
:
"
选择人员
"
,
activeId
:
1
,
activeIndex
:
0
,
seletedItem
:{}
};
},
methods
:
{
// 待搜索框内容发生变化
onInput
:
debounce
(
function
()
{
},
800
),
selData
(
e
)
{
this
.
itemSel
=
e
},
clickItem
(
data
)
{
console
.
log
(
data
,
'
llll
'
)
this
.
seletedItem
=
data
},
save
()
{
this
.
$emit
(
'
saveSlect
'
,
this
.
seletedItem
)
},
cancel
()
{
this
.
$emit
(
'
closeSlect
'
)
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
// 搜索
.content-wrap {
padding: 10px;
background-color: #f0f1f5;
}
.search-wrap {
margin: 0.26667rem;
.van-search {
border-radius: 5px;
padding: 5px 12px;
}
.van-search__content {
background-color: #ffffff;
}
}
.upStep {
.van-cell-group {
display: flex;
height: 1.2rem;
align-items: center;
.upStep-btn {
width: 25%;
text-align: center;
display: flex;
span {
width: 1.866667rem;
background-color: #1989fa;
text-align: center;
display: inline-block;
color: white;
height: 0.8rem;
line-height: 0.8rem;
font-size: 0.346667rem;
border-radius: 0.08rem;
}
}
.upStep-content {
width: 75%;
height: 0.8rem;
line-height: 0.8rem;
padding-left: 0.42667rem;
box-sizing: border-box;
font-size: 14px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
.dept-list-wrap {
margin-top: 0.266667rem;
}
.people-wrap {
margin-top: 0.266667rem;
/deep/ .van-radio__label {
display: flex;
align-items: center;
}
}
.footer {
width: 100%;
height: 1.4rem;
z-index: 9;
position: fixed;
bottom: 0px;
box-shadow: 0px 8px 15px #000;
.van-cell-group {
height: 100%;
.selected {
height: 1.066667rem;
display: flex;
align-items: center;
padding-left: 10px;
border-bottom: 1px solid #cacbcb;
.selected-title {
color: #4187f7;
}
.selected-content {
width: 80%;
padding-left: 10px;
box-sizing: border-box;
}
}
.operate {
height: 1.333333rem;
display: flex;
justify-content: flex-end;
align-items: center;
.van-button {
width: 1.6rem;
}
}
}
}
</
style
>
\ No newline at end of file
src/components/selectList.vue
0 → 100644
View file @
fb06516e
<
template
>
<div>
<!-- 搜索 -->
<van-sticky
offset-top=
"0"
>
<div
class=
"content-wrap"
>
<div
class=
"search-wrap"
>
<van-search
v-model=
"searchVal"
placeholder=
"搜索"
@
input=
"onInput"
/>
</div>
</div>
</van-sticky>
<div
style=
"margin-bottom: 1.4rem;"
>
<van-checkbox-group
v-model=
"checkbox"
>
<!--
<van-list
v-model=
"loading"
:finished=
"finished"
finished-text=
"没有更多了"
@
load=
"getInsideUser()"
>
-->
<van-checkbox
style=
"margin: 0px 10px;"
v-for=
"(item,index) in listdata"
:name=
"item.dictLabel"
:key=
"index"
@
click=
"selData(item)"
>
<van-cell
:title=
"item.dictValue"
/>
</van-checkbox>
<!--
</van-list>
-->
</van-checkbox-group>
</div>
<!-- 底部信息 -->
<footer
class=
"footer"
>
<van-cell-group>
<div
class=
"operate"
>
<van-button
size=
"small"
ttype=
"info"
plain
native-type=
"button"
style=
"border-radius: 5px; background-color: #f0f1f5;"
@
click.native=
"cancel"
>
取消
</van-button
>
<van-button
size=
"small"
type=
"info"
native-type=
"button"
style=
"margin:0 10px 0 20px;border-radius: 5px;"
@
click.native=
"save"
>
保存
</van-button
>
</div>
</van-cell-group>
</footer>
</div>
</
template
>
<
script
>
import
{
debounce
}
from
"
@/utils/common.js
"
;
export
default
{
props
:{
listdata
:{
type
:
Array
,
default
:()
=>
[],
}
},
components
:
{
// LHeader
},
created
()
{
},
data
()
{
return
{
text
:
"
选择人员
"
,
personName
:
""
,
searchVal
:
""
,
checkbox
:[],
pageSize
:
20
,
pageNum
:
1
,
loading
:
false
,
finished
:
false
,
projectList
:[],
itemSel
:{
}
};
},
methods
:
{
// 待搜索框内容发生变化
onInput
:
debounce
(
function
()
{
this
.
projectList
=
[]
this
.
pageNum
=
1
this
.
finished
=
false
this
.
loading
=
true
this
.
getInsideUser
();
},
800
),
selData
(
e
){
this
.
itemSel
=
e
},
save
()
{
this
.
$emit
(
'
saveSlect
'
,
this
.
checkbox
)
},
cancel
()
{
this
.
$emit
(
'
closeSlect
'
)
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
// 搜索
.content-wrap {
padding: 10px;
background-color: #f0f1f5;
}
.search-wrap {
margin: 0.26667rem;
.van-search {
border-radius: 5px;
padding: 5px 12px;
}
.van-search__content {
background-color: #ffffff;
}
}
.upStep {
.van-cell-group {
display: flex;
height: 1.2rem;
align-items: center;
.upStep-btn {
width: 25%;
text-align: center;
display: flex;
span {
width: 1.866667rem;
background-color: #1989fa;
text-align: center;
display: inline-block;
color: white;
height: 0.8rem;
line-height: 0.8rem;
font-size: 0.346667rem;
border-radius: 0.08rem;
}
}
.upStep-content {
width: 75%;
height: 0.8rem;
line-height: 0.8rem;
padding-left: 0.42667rem;
box-sizing: border-box;
font-size: 14px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
}
.dept-list-wrap {
margin-top: 0.266667rem;
}
.people-wrap {
margin-top: 0.266667rem;
/deep/ .van-radio__label {
display: flex;
align-items: center;
}
}
.footer {
width: 100%;
height: 1.4rem;
z-index: 9;
position: fixed;
bottom: 0px;
box-shadow: 0px 8px 15px #000;
.van-cell-group {
height: 100%;
.selected {
height: 1.066667rem;
display: flex;
align-items: center;
padding-left: 10px;
border-bottom: 1px solid #cacbcb;
.selected-title {
color: #4187f7;
}
.selected-content {
width: 80%;
padding-left: 10px;
box-sizing: border-box;
}
}
.operate {
height: 1.333333rem;
display: flex;
justify-content: flex-end;
align-items: center;
.van-button {
width: 1.6rem;
}
}
}
}
</
style
>
\ No newline at end of file
src/main.js
View file @
fb06516e
...
@@ -9,14 +9,14 @@ import './permission'
...
@@ -9,14 +9,14 @@ import './permission'
import
Cookies
from
'
js-cookie
'
import
Cookies
from
'
js-cookie
'
import
util
from
'
./api/util.js
'
import
util
from
'
./api/util.js
'
import
{
DropdownMenu
,
DropdownItem
,
Divider
,
Popup
,
Overlay
,
Loading
,
Dialog
,
ContactCard
,
Form
,
AddressEdit
,
AddressList
,
Field
,
CellGroup
,
Cell
,
SwipeCell
,
Icon
,
Stepper
,
Card
,
Checkbox
,
CheckboxGroup
,
Button
,
Swipe
,
SwipeItem
,
PullRefresh
,
List
,
Tab
,
Tabs
,
GoodsAction
,
GoodsActionIcon
,
GoodsActionButton
,
SubmitBar
,
Toast
,
Search
,
Picker
,
Uploader
,
Notify
,
ContactList
,
Calendar
,
Radio
,
RadioGroup
,
Tag
,
Tabbar
,
TabbarItem
,
Sticky
,
Grid
,
GridItem
,
Skeleton
,
Col
,
Row
,
Image
as
VanImage
,
Badge
,
NoticeBar
,
DatetimePicker
,
import
{
DropdownMenu
,
DropdownItem
,
Divider
,
Popup
,
Overlay
,
Loading
,
Dialog
,
ContactCard
,
Form
,
AddressEdit
,
AddressList
,
Field
,
CellGroup
,
Cell
,
SwipeCell
,
Icon
,
Stepper
,
Card
,
Checkbox
,
CheckboxGroup
,
Button
,
Swipe
,
SwipeItem
,
PullRefresh
,
List
,
Tab
,
Tabs
,
GoodsAction
,
GoodsActionIcon
,
GoodsActionButton
,
SubmitBar
,
Toast
,
Search
,
Picker
,
Uploader
,
Notify
,
ContactList
,
Calendar
,
Radio
,
RadioGroup
,
Tag
,
Tabbar
,
TabbarItem
,
Sticky
,
Grid
,
GridItem
,
Skeleton
,
Col
,
Row
,
Image
as
VanImage
,
Badge
,
NoticeBar
,
DatetimePicker
,
Step
,
Steps
,
Lazyload
,
Popover
,
Collapse
,
CollapseItem
}
from
'
vant
'
Step
,
Steps
,
Lazyload
,
Popover
,
Collapse
,
CollapseItem
,
TreeSelect
}
from
'
vant
'
import
'
lib-flexible/flexible
'
import
'
lib-flexible/flexible
'
import
vueEsign
from
'
vue-esign
'
import
vueEsign
from
'
vue-esign
'
Vue
.
use
(
vueEsign
)
Vue
.
use
(
vueEsign
)
Vue
.
prototype
.
util
=
util
Vue
.
prototype
.
util
=
util
Vue
.
use
(
Divider
).
use
(
Popup
).
use
(
Overlay
).
use
(
Loading
).
use
(
Dialog
).
use
(
Toast
).
use
(
ContactCard
).
use
(
Form
).
use
(
AddressEdit
).
use
(
AddressList
).
use
(
Field
).
use
(
CellGroup
).
use
(
Cell
).
use
(
SwipeCell
).
use
(
Icon
).
use
(
Stepper
).
use
(
Card
).
use
(
Button
).
use
(
Swipe
).
use
(
SwipeItem
).
use
(
PullRefresh
).
use
(
List
).
use
(
Tab
).
use
(
Tabs
).
use
(
GoodsAction
).
use
(
GoodsActionIcon
).
use
(
GoodsActionButton
).
use
(
SubmitBar
).
use
(
Checkbox
).
use
(
CheckboxGroup
).
use
(
Search
).
use
(
Picker
).
use
(
Uploader
).
use
(
Notify
)
Vue
.
use
(
Divider
).
use
(
Popup
).
use
(
Overlay
).
use
(
Loading
).
use
(
Dialog
).
use
(
Toast
).
use
(
ContactCard
).
use
(
Form
).
use
(
AddressEdit
).
use
(
AddressList
).
use
(
Field
).
use
(
CellGroup
).
use
(
Cell
).
use
(
SwipeCell
).
use
(
Icon
).
use
(
Stepper
).
use
(
Card
).
use
(
Button
).
use
(
Swipe
).
use
(
SwipeItem
).
use
(
PullRefresh
).
use
(
List
).
use
(
Tab
).
use
(
Tabs
).
use
(
GoodsAction
).
use
(
GoodsActionIcon
).
use
(
GoodsActionButton
).
use
(
SubmitBar
).
use
(
Checkbox
).
use
(
CheckboxGroup
).
use
(
Search
).
use
(
Picker
).
use
(
Uploader
).
use
(
Notify
)
.
use
(
ContactList
).
use
(
Calendar
).
use
(
Radio
).
use
(
RadioGroup
).
use
(
Tag
).
use
(
Tabbar
).
use
(
TabbarItem
).
use
(
Sticky
)
.
use
(
ContactList
).
use
(
Calendar
).
use
(
Radio
).
use
(
RadioGroup
).
use
(
Tag
).
use
(
Tabbar
).
use
(
TabbarItem
).
use
(
Sticky
)
.
use
(
Grid
).
use
(
GridItem
).
use
(
Skeleton
).
use
(
Col
).
use
(
Row
).
use
(
VanImage
).
use
(
Badge
).
use
(
NoticeBar
).
use
(
DatetimePicker
).
use
(
Step
).
use
(
Steps
).
use
(
Popover
).
use
(
Lazyload
).
use
(
Collapse
).
use
(
CollapseItem
)
.
use
(
Grid
).
use
(
GridItem
).
use
(
Skeleton
).
use
(
Col
).
use
(
Row
).
use
(
VanImage
).
use
(
Badge
).
use
(
NoticeBar
).
use
(
DatetimePicker
).
use
(
Step
).
use
(
Steps
).
use
(
Popover
).
use
(
Lazyload
).
use
(
Collapse
).
use
(
CollapseItem
)
.
use
(
TreeSelect
)
Vue
.
use
(
DropdownMenu
);
Vue
.
use
(
DropdownMenu
);
Vue
.
use
(
DropdownItem
);
Vue
.
use
(
DropdownItem
);
// 引用高德地图组件 main.js
// 引用高德地图组件 main.js
...
...
src/router/index.js
View file @
fb06516e
...
@@ -166,6 +166,11 @@ const routes = [{
...
@@ -166,6 +166,11 @@ const routes = [{
name
:
'
addPresent
'
,
name
:
'
addPresent
'
,
component
:
()
=>
import
(
'
../views/riskProject/add/addPresent.vue
'
),
component
:
()
=>
import
(
'
../views/riskProject/add/addPresent.vue
'
),
},
},
{
//现状风险详情
path
:
'
/presentDetail
'
,
name
:
'
presentDetail
'
,
component
:
()
=>
import
(
'
../views/riskProject/taskLedger/presentDetail.vue
'
),
},
{
//风险评估列表详情页
{
//风险评估列表详情页
path
:
'
/riskBigDetail
'
,
path
:
'
/riskBigDetail
'
,
name
:
'
riskBigDetail
'
,
name
:
'
riskBigDetail
'
,
...
...
src/views/riskProject/add/addInherent.vue
View file @
fb06516e
<
template
>
<
template
>
<div>
<div>
<LHeader
:text=
"text"
></LHeader>
<LHeader
:text=
"text"
></LHeader>
<van-form
<van-form
@
submit=
"onSubmit"
:scroll-to-error=
"true"
:show-error=
"false"
validate-trigger=
"onSubmit"
>
@
submit=
"onSubmit"
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
:scroll-to-error=
"true"
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
:show-error=
"false"
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
validate-trigger=
"onSubmit"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
风险信息
风险信息
</div>
</div>
<van-field
<van-field
readonly
required
name=
"userName"
:value=
"form.userName"
label=
"评估人"
placeholder=
"请输入"
/>
readonly
<van-field
readonly
required
name=
"projectId"
:value=
"form.projectId"
label=
"所属项目"
placeholder=
"请输入"
/>
required
<van-field
readonly
required
name=
"buildingName"
:value=
"form.buildingName"
label=
"所属建筑物"
placeholder=
"请输入"
/>
name=
"userName"
:value=
"form.userName"
label=
"评估人"
placeholder=
"请输入"
/>
<van-field
readonly
required
name=
"projectId"
:value=
"form.projectId"
label=
"所属项目"
placeholder=
"请输入"
/>
<van-field
readonly
required
name=
"buildingName"
:value=
"form.buildingName"
label=
"所属建筑物"
placeholder=
"请输入"
/>
<van-field
<van-field
required
clickable
name=
"floorName"
:value=
"form.floorName"
label=
"所属楼层"
placeholder=
"请选择"
required
@
click=
"seletFloor('floor')"
:rules=
"[
{ required: true, message: '所属楼层不能为空' }]" />
clickable
name=
"floorName"
:value=
"form.floorName"
label=
"所属楼层"
placeholder=
"请选择"
@
click=
"seletFloor('floor')"
:rules=
"[
{ required: true, message: '所属楼层不能为空' }]"
/>
<div
style=
"display: flex;"
>
<div
style=
"display: flex;"
>
<van-field
<van-field
readonly
required
name=
"roomName"
:value=
"form.roomName"
label=
"所属房间"
placeholder=
"请输入"
readonly
@
click=
"seletRoom('room')"
:rules=
"[
{ required: true, message: '所属房间不能为空' }]" />
required
<van-button
style=
"color: #cccc;background-color: #f0f1f5;"
icon=
"plus"
type=
"info"
native-type=
"button"
name=
"roomName"
@
click=
"tjfjClcik"
/>
:value=
"form.roomName"
label=
"所属房间"
placeholder=
"请输入"
@
click=
"seletRoom('room')"
:rules=
"[
{ required: true, message: '所属房间不能为空' }]"
/>
<van-button
style=
"color: #cccc;background-color: #f0f1f5;"
icon=
"plus"
type=
"info"
native-type=
"button"
@
click=
"tjfjClcik"
/>
</div>
</div>
<van-field
<van-field
required
clickable
name=
"name"
v-model=
"form.name"
label=
"风险源名称"
placeholder=
"请输入"
required
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]" />
clickable
<van-field
v-model=
"form.factor"
readonly
required
name=
"factor"
label=
"风险因素"
placeholder=
"请选择"
name=
"name"
@
click=
"seletFactor('factor')"
:rules=
"[
{ required: true, message: '风险因素不能为空' }]" />
v-model=
"form.name"
label=
"风险源名称"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]"
/>
<van-field
v-model=
"form.factor"
required
name=
"factor"
label=
"风险因素"
placeholder=
"请选择"
@
click=
"seletFactor('factor')"
:rules=
"[
{ required: true, message: '风险因素不能为空' }]"
/>
<van-field
<van-field
readonly
v-model=
"form.type"
required
name=
"type"
label=
"准事故类型"
placeholder=
"请选择"
v-model=
"form.type"
@
click=
"seletType('type')"
:rules=
"[
{ required: true, message: '准事故类型不能为空' }]" />
required
name=
"type"
label=
"准事故类型"
placeholder=
"请选择"
@
click=
"seletType('type')"
:rules=
"[
{ required: true, message: '准事故类型不能为空' }]"
/>
<van-field
<van-field
readonly
v-model=
"form.level"
required
name=
"level"
label=
"风险等级"
placeholder=
"请选择"
@
click=
"seletGrade"
readonly
:rules=
"[
{ required: true, message: '风险等级不能为空' }]" />
v-model=
"form.level"
required
name=
"level"
label=
"风险等级"
placeholder=
"请选择"
@
click=
"seletGrade"
:rules=
"[
{ required: true, message: '风险等级不能为空' }]"
/>
<!--
<van-field
readonly
v-model=
"form.level"
required
name=
"level"
label=
"风险等级"
placeholder=
"请选择"
<!--
<van-field
readonly
v-model=
"form.level"
required
name=
"level"
label=
"风险等级"
placeholder=
"请选择"
@
click=
"seletGrade('level')"
:rules=
"[
{ required: true, message: '风险等级不能为空' }]" /> -->
@
click=
"seletGrade('level')"
:rules=
"[
{ required: true, message: '风险等级不能为空' }]" /> -->
<van-field
<van-field
required
name=
"presenceLocation"
v-model=
"form.presenceLocation"
label=
"存在部位"
placeholder=
"请输入"
required
:rules=
"[
{ required: true, message: '存在部位不能为空' }]" />
name=
"presenceLocation"
v-model=
"form.presenceLocation"
label=
"存在部位"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '存在部位不能为空' }]"
/>
<div
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
>
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
风险源图片
风险源图片
</div>
</div>
<van-field
name=
"hdPicture1"
label=
"风险源图片"
>
<van-field
name=
"hdPicture1"
label=
"风险源图片"
>
<template
#input
>
<template
#input
>
<van-uploader
<van-uploader
@
delete=
"deleteFile(...arguments, 'uploaderImg')"
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
@
delete=
"deleteFile(...arguments, 'uploaderImg')"
v-model=
"uploaderImg"
>
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"uploaderImg"
>
<template
slot=
"default"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<!-- 11111111111 -->
<div
<div
style=
"
style=
"
width: 2.13333rem;
width: 2.13333rem;
height: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
background: #f7f8fa;
...
@@ -154,53 +56,28 @@
...
@@ -154,53 +56,28 @@
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
flex-direction: column;
flex-direction: column;
"
"
>
>
<img
src=
"@/assets/upload/pic.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<img
src=
"@/assets/upload/pic.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
</div>
</div>
</
template
>
</
template
>
</van-uploader>
</van-uploader>
</template>
</template>
</van-field>
</van-field>
<div
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
>
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
技术措施
技术措施
</div>
</div>
<van-field
<van-field
v-model=
"form.measuresProject"
name=
"measuresProject"
label=
"技术措施"
type=
"textarea"
rows=
"1"
autosize
v-model=
"form.measuresProject"
placeholder=
"请输入"
/>
name=
"measuresProject"
label=
"技术措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"measuresProjectFile[]"
label=
" "
>
<van-field
name=
"measuresProjectFile[]"
label=
" "
>
<
template
#input
>
<
template
#input
>
<van-uploader
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresProjectFile"
accept=
"file"
multiple
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresProjectFile')"
>
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresProjectFile"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresProjectFile')"
>
<template
slot=
"default"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<!-- 11111111111 -->
<div
<div
style=
"
style=
"
width: 2.13333rem;
width: 2.13333rem;
height: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
background: #f7f8fa;
...
@@ -208,53 +85,28 @@
...
@@ -208,53 +85,28 @@
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
flex-direction: column;
flex-direction: column;
"
"
>
>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
</div>
</div>
</
template
>
</
template
>
</van-uploader>
</van-uploader>
</template>
</template>
</van-field>
</van-field>
<div
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
>
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
管理措施
管理措施
</div>
</div>
<van-field
<van-field
v-model=
"form.measuresAdministration"
name=
"measuresAdministration"
label=
"管理措施"
type=
"textarea"
rows=
"1"
v-model=
"form.measuresAdministration"
autosize
placeholder=
"请输入"
/>
name=
"measuresAdministration"
label=
"管理措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"measuresAdministrationFile[]"
label=
" "
>
<van-field
name=
"measuresAdministrationFile[]"
label=
" "
>
<
template
#input
>
<
template
#input
>
<van-uploader
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresAdministrationFile"
accept=
"file"
multiple
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresAdministrationFile')"
>
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresAdministrationFile"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresAdministrationFile')"
>
<template
slot=
"default"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<!-- 11111111111 -->
<div
<div
style=
"
style=
"
width: 2.13333rem;
width: 2.13333rem;
height: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
background: #f7f8fa;
...
@@ -262,53 +114,28 @@
...
@@ -262,53 +114,28 @@
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
flex-direction: column;
flex-direction: column;
"
"
>
>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
</div>
</div>
</
template
>
</
template
>
</van-uploader>
</van-uploader>
</template>
</template>
</van-field>
</van-field>
<div
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
>
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
应急措施
应急措施
</div>
</div>
<van-field
<van-field
v-model=
"form.measuresEmergency"
name=
"measuresEmergency"
label=
"应急措施"
type=
"textarea"
rows=
"1"
autosize
v-model=
"form.measuresEmergency"
placeholder=
"请输入"
/>
name=
"measuresEmergency"
label=
"应急措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"measuresEmergencyFile[]"
label=
" "
>
<van-field
name=
"measuresEmergencyFile[]"
label=
" "
>
<
template
#input
>
<
template
#input
>
<van-uploader
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresEmergencyFile"
accept=
"file"
multiple
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresEmergencyFile')"
>
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresEmergencyFile"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresEmergencyFile')"
>
<template
slot=
"default"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<!-- 11111111111 -->
<div
<div
style=
"
style=
"
width: 2.13333rem;
width: 2.13333rem;
height: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
background: #f7f8fa;
...
@@ -316,27 +143,17 @@
...
@@ -316,27 +143,17 @@
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
flex-direction: column;
flex-direction: column;
"
"
>
>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
</div>
</div>
</
template
>
</
template
>
</van-uploader>
</van-uploader>
</template>
</template>
</van-field>
</van-field>
<div
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
>
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
/>
参考依据
参考依据
</div>
</div>
<!-- <van-field
<!-- <van-field
...
@@ -350,121 +167,73 @@
...
@@ -350,121 +167,73 @@
@click="showTrouble = true"
@click="showTrouble = true"
:rules="[{ required: true, message: '事故类型不能为空' }]"
:rules="[{ required: true, message: '事故类型不能为空' }]"
/> -->
/> -->
<van-dialog
<van-dialog
v-model=
"showGradeDialog"
title=
"风险评测配置"
:show-cancel-button=
"false"
:show-confirm-button=
"false"
>
v-model=
"showGradeDialog"
title=
"风险评测配置"
:show-cancel-button=
"false"
:show-confirm-button=
"false"
>
<div
class=
"dialogContain"
>
<div
class=
"dialogContain"
>
<van-collapse
v-model=
"activeNames"
>
<van-collapse
v-model=
"activeNames"
>
<van-collapse-item
title=
"风险模型"
name=
"1"
>
<van-collapse-item
title=
"风险模型"
name=
"1"
>
<van-field
<van-field
readonly
required
name=
"level"
label=
"当前风险模型"
placeholder=
"LS风险矩阵评估模型"
/>
readonly
required
name=
"level"
label=
"当前风险模型"
placeholder=
"LS风险矩阵评估模型"
/>
</van-collapse-item>
</van-collapse-item>
<van-collapse-item
title=
"风险模型配置"
name=
"2"
>
<van-collapse-item
title=
"风险模型配置"
name=
"2"
>
<van-popover
<van-popover
v-model=
"showPopover"
trigger=
"click"
:actions=
"columnsRiskRank"
@
select=
"onSelect"
>
v-model=
"showPopover"
trigger=
"click"
:actions=
"columnsRiskRank"
@
select=
"onSelect"
>
<
template
#reference
>
<
template
#reference
>
<van-field
<van-field
v-model=
"possibleValue"
readonly
required
name=
"level"
label=
"发生的可能性"
placeholder=
"请选择"
/>
v-model=
"possibleValue"
readonly
required
name=
"level"
label=
"发生的可能性"
placeholder=
"请选择"
/>
</
template
>
</
template
>
</van-popover>
</van-popover>
<van-popover
<van-popover
v-model=
"showPopoveSetRank"
trigger=
"click"
:actions=
"columnsSetRank"
v-model=
"showPopoveSetRank"
@
select=
"onSelectSetRank"
>
trigger=
"click"
:actions=
"columnsSetRank"
@
select=
"onSelectSetRank"
>
<
template
#reference
>
<
template
#reference
>
<van-field
<van-field
v-model=
"severityValue"
readonly
required
name=
"level"
label=
"后果严重程度"
placeholder=
"请选择"
/>
v-model=
"severityValue"
readonly
required
name=
"level"
label=
"后果严重程度"
placeholder=
"请选择"
/>
</
template
>
</
template
>
</van-popover>
</van-popover>
</van-collapse-item>
</van-collapse-item>
</van-collapse>
</van-collapse>
<van-row
type=
"flex"
justify=
"center"
style=
"margin-top:10px"
>
<van-row
type=
"flex"
justify=
"center"
style=
"margin-top:10px"
>
<van-col
span=
"6"
<van-col
span=
"6"
><van-button
size=
"small"
plain
native-type=
"button"
type=
"info"
><van-button
@
click=
"showGradeDialog = false"
>
取消
</van-button></van-col>
size=
"small"
<van-col
span=
"6"
><van-button
size=
"small"
type=
"info"
native-type=
"button"
plain
@
click=
"goResultPage"
>
开始测评
</van-button></van-col>
native-type=
"button"
type=
"info"
@
click=
"showGradeDialog = false"
>
取消
</van-button
></van-col
>
<van-col
span=
"6"
><van-button
size=
"small"
type=
"info"
native-type=
"button"
@
click=
"goResultPage"
>
开始测评
</van-button
></van-col
>
</van-row>
</van-row>
</div>
</div>
</van-dialog>
</van-dialog>
<van-popup
v-model=
"showTrouble"
position=
"bottom"
>
<van-popup
v-model=
"showTrouble"
position=
"bottom"
>
<van-picker
<van-picker
show-toolbar
value-key=
"name"
:columns=
"columnsTrouble"
@
confirm=
"onConTrouble"
show-toolbar
@
cancel=
"showTrouble = false"
/>
value-key=
"name"
:columns=
"columnsTrouble"
@
confirm=
"onConTrouble"
@
cancel=
"showTrouble = false"
/>
</van-popup>
</van-popup>
<van-popup
v-model=
"showSource"
position=
"bottom"
>
<van-popup
v-model=
"showSource"
position=
"bottom"
>
<van-picker
<van-picker
show-toolbar
value-key=
"name"
:columns=
"columnsSource"
@
confirm=
"onConSource"
show-toolbar
@
cancel=
"showSource = false"
/>
value-key=
"name"
</van-popup>
:columns=
"columnsSource"
<!-- 楼层弹出层 -->
@
confirm=
"onConSource"
<van-popup
v-model=
"ShowfloorList"
position=
"bottom"
:style=
"{ height: '100%' }"
>
@
cancel=
"showSource = false"
<selectFloor
:listdata=
"floorSource"
@
closeSlect=
"closeSlectfloor"
@
saveSlect=
"saveSlectfloor"
></selectFloor>
/>
</van-popup>
<!-- 风险源弹出层 -->
<van-popup
v-model=
"ShowSelectList"
position=
"bottom"
:style=
"{ height: '100%' }"
>
<selectList
:listdata=
"columnsTrouble"
@
closeSlect=
"closeSlect"
@
saveSlect=
"saveSlect"
></selectList>
</van-popup>
<!-- 准事故类型 -->
<van-popup
v-model=
"ShowAccidentList"
position=
"bottom"
:style=
"{ height: '100%' }"
>
<selectList
:listdata=
"columnsAccident"
@
closeSlect=
"closeSlectAccident"
@
saveSlect=
"saveSlectAccident"
>
</selectList>
</van-popup>
</van-popup>
<div
style=
"margin: 16px 16px 0"
>
<div
style=
"margin: 16px 16px 0"
>
<van-button
round
block
type=
"info"
native-type=
"submit"
<van-button
round
block
type=
"info"
native-type=
"submit"
>
上报
</van-button>
>
上报
</van-button
>
</div>
</div>
</van-form>
</van-form>
<div
style=
"margin: 10px 16px 0px; padding-bottom: 16px"
>
<div
style=
"margin: 10px 16px 0px; padding-bottom: 16px"
>
<van-button
round
block
type=
"warning"
@
click.native=
"cancel"
<van-button
round
block
type=
"warning"
@
click.native=
"cancel"
>
取消
</van-button>
>
取消
</van-button
>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
import
LHeader
from
"
@/components/header.vue
"
;
import
SelectList
from
"
@/components/selectList.vue
"
;
import
selectFloor
from
"
@/components/selectFloor.vue
"
;
// import selectPeople from "@/views/riskTask/selectPeople/index.vue";
// import selectPeople from "@/views/riskTask/selectPeople/index.vue";
import
{
getUserInfo
,
getLocalUserInfo
}
from
"
@/utils/userInfo
"
;
import
{
getUserInfo
,
getLocalUserInfo
}
from
"
@/utils/userInfo
"
;
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
// import {
// import {
// getFormList,
// getFormList,
// postHdSource,
// postHdSource,
...
@@ -477,7 +246,9 @@ import { getFun, postFun } from "@/service/table.js";
...
@@ -477,7 +246,9 @@ import { getFun, postFun } from "@/service/table.js";
export
default
{
export
default
{
name
:
"
addInherent
"
,
name
:
"
addInherent
"
,
components
:
{
components
:
{
LHeader
LHeader
,
SelectList
,
selectFloor
},
},
activated
()
{
activated
()
{
this
.
showSetRank
=
false
;
// 再次关闭弹出层 以防万一
this
.
showSetRank
=
false
;
// 再次关闭弹出层 以防万一
...
@@ -501,21 +272,25 @@ export default {
...
@@ -501,21 +272,25 @@ export default {
this
.
$bus
.
$off
(
"
riskLevelBus
"
);
this
.
$bus
.
$off
(
"
riskLevelBus
"
);
});
});
},
},
beforeRouteEnter
(
to
,
from
,
next
){
beforeRouteEnter
(
to
,
from
,
next
)
{
if
(
from
.
name
==
'
riskInherent
'
)
{
if
(
from
.
name
==
'
riskInherent
'
)
{
sessionStorage
.
setItem
(
'
inherenForm
'
,
''
)
sessionStorage
.
setItem
(
'
inherenForm
'
,
''
)
sessionStorage
.
setItem
(
'
level
'
,
''
)
sessionStorage
.
setItem
(
'
level
'
,
''
)
}
}
next
()
next
()
},
},
beforeRouteLeave
(
to
,
from
,
next
)
{
beforeRouteLeave
(
to
,
from
,
next
)
{
if
(
to
.
name
!=
"
riskInherent
"
)
{
if
(
to
.
name
!=
"
riskInherent
"
)
{
sessionStorage
.
setItem
(
'
inherenForm
'
,
JSON
.
stringify
(
this
.
form
))
sessionStorage
.
setItem
(
'
inherenForm
'
,
JSON
.
stringify
(
this
.
form
))
}
}
next
();
next
();
},
},
data
()
{
data
()
{
return
{
return
{
ShowfloorList
:
false
,
floorSource
:
[],
ShowAccidentList
:
false
,
ShowSelectList
:
false
,
showPopoveSetRank
:
false
,
showPopoveSetRank
:
false
,
activeNames
:
[
"
1
"
],
activeNames
:
[
"
1
"
],
showPopover
:
false
,
showPopover
:
false
,
...
@@ -549,6 +324,7 @@ export default {
...
@@ -549,6 +324,7 @@ export default {
showSource
:
false
,
showSource
:
false
,
columnsSource
:
[],
columnsSource
:
[],
trouble
:
""
,
//事故类型
trouble
:
""
,
//事故类型
columnsAccident
:
[],
showTrouble
:
false
,
showTrouble
:
false
,
columnsTrouble
:
[],
columnsTrouble
:
[],
setRank
:
""
,
//风险定级
setRank
:
""
,
//风险定级
...
@@ -603,31 +379,79 @@ export default {
...
@@ -603,31 +379,79 @@ export default {
this
.
form
.
deptName
=
userInfo
.
dept
.
deptName
;
this
.
form
.
deptName
=
userInfo
.
dept
.
deptName
;
(
this
.
form
.
projectId
=
"
测试项目
"
)
(
this
.
form
.
projectId
=
"
测试项目
"
)
},
},
mounted
(){
mounted
()
{
if
(
sessionStorage
.
getItem
(
'
inherenForm
'
)
!=
''
)
{
if
(
sessionStorage
.
getItem
(
'
inherenForm
'
)
!=
''
)
{
this
.
form
=
JSON
.
parse
(
sessionStorage
.
getItem
(
'
inherenForm
'
))
this
.
form
=
JSON
.
parse
(
sessionStorage
.
getItem
(
'
inherenForm
'
))
this
.
form
.
level
=
sessionStorage
.
getItem
(
'
level
'
)
this
.
form
.
level
=
sessionStorage
.
getItem
(
'
level
'
)
}
}
this
.
getFloor
()
this
.
getFXYS
()
this
.
getZSGLX
()
},
},
methods
:
{
methods
:
{
seletFloor
(
name
)
{
renameKeyInTree
(
data
,
oldKey
,
newKey
)
{
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
let
arr
=
data
.
map
(
item
=>
{
forbidClick
:
true
,
const
newItem
=
{
...
item
};
loadingType
:
"
spinner
"
,
duration
:
0
if
(
item
.
hasOwnProperty
(
oldKey
))
{
newItem
[
newKey
]
=
newItem
[
oldKey
];
delete
newItem
[
oldKey
];
}
if
(
newItem
.
children
&&
newItem
.
children
.
length
>
0
)
{
newItem
.
children
=
this
.
renameKeyInTree
(
newItem
.
children
,
oldKey
,
newKey
);
}
return
newItem
;
});
});
this
.
userPrefix
=
name
;
return
arr
;
},
getFloor
()
{
getFun
(
`/risk/plan/floor/list/
${
this
.
form
.
buildingIds
}
`
)
getFun
(
`/risk/plan/floor/list/
${
this
.
form
.
buildingIds
}
`
)
.
then
(
res
=>
{
.
then
(
res
=>
{
this
.
$toast
.
clear
();
// this.$toast.clear();
this
.
showSource
=
true
;
// this.showSource = true;
this
.
columnsSource
=
res
.
data
;
let
newArr
=
this
.
renameKeyInTree
(
res
.
data
,
'
name
'
,
'
text
'
)
this
.
floorSource
=
newArr
;
})
})
.
catch
(()
=>
{
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
});
},
},
getFXYS
()
{
getFun
(
`/risk/plan/dict/data/list?dictType=risk_plan_factor`
)
.
then
(
res
=>
{
this
.
columnsTrouble
=
res
.
data
;
})
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
getZSGLX
()
{
getFun
(
`/risk/plan/dict/data/list?dictType=risk_plan_type`
)
.
then
(
res
=>
{
this
.
columnsAccident
=
res
.
data
;
})
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
seletFloor
(
name
)
{
// this.$toast.loading({
// message: "加载中...",
// forbidClick: true,
// loadingType: "spinner",
// duration: 0
// });
this
.
ShowfloorList
=
true
this
.
userPrefix
=
name
;
},
seletRoom
(
name
)
{
seletRoom
(
name
)
{
this
.
$toast
.
loading
({
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
message
:
"
加载中...
"
,
...
@@ -648,55 +472,19 @@ export default {
...
@@ -648,55 +472,19 @@ export default {
},
},
//风险因素
//风险因素
seletFactor
(
name
)
{
seletFactor
(
name
)
{
this
.
showTrouble
=
true
;
//
this.showTrouble = true;
this
.
riskName
=
name
;
this
.
riskName
=
name
;
getFun
(
`/risk/plan/dict/data/list?dictType=risk_plan_factor`
)
this
.
ShowSelectList
=
true
.
then
(
res
=>
{
console
.
log
(
res
.
data
);
const
arr
=
[];
res
.
data
.
forEach
(
item
=>
{
arr
.
push
({
name
:
item
.
dictLabel
});
});
this
.
columnsTrouble
=
arr
;
})
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
},
//准事故类型
//准事故类型
seletType
(
name
)
{
seletType
(
name
)
{
this
.
showTrouble
=
true
;
//
this.showTrouble = true;
this
.
riskName
=
name
;
this
.
riskName
=
name
;
getFun
(
`/risk/plan/dict/data/list?dictType=risk_plan_type`
)
this
.
ShowAccidentList
=
true
.
then
(
res
=>
{
const
arr
=
[];
res
.
data
.
forEach
(
item
=>
{
arr
.
push
({
name
:
item
.
dictLabel
});
});
this
.
columnsTrouble
=
arr
;
})
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
},
//风险等级
//风险等级
seletGrade
(
name
)
{
seletGrade
(
name
)
{
// this.showTrouble = true
// this.riskName = name
// this.columnsTrouble = [
// {
// name: '重大风险',
// },
// {
// name: '较大风险',
// },
// {
// name: '一般风险',
// },
// {
// name: '较小风险',
// },
// ]
this
.
getGradeList
(
"
possibility
"
);
this
.
getGradeList
(
"
possibility
"
);
this
.
getGradeList
(
"
severity
"
);
this
.
getGradeList
(
"
severity
"
);
this
.
showGradeDialog
=
true
;
this
.
showGradeDialog
=
true
;
...
@@ -727,6 +515,27 @@ export default {
...
@@ -727,6 +515,27 @@ export default {
// })
// })
// },
// },
closeSlectfloor
()
{
this
.
ShowfloorList
=
false
},
saveSlectfloor
(
data
)
{
this
.
form
.
floorName
=
data
.
text
this
.
ShowfloorList
=
false
},
closeSlect
()
{
this
.
ShowSelectList
=
false
},
saveSlect
(
data
)
{
this
.
form
.
factor
=
data
.
join
(
'
,
'
);
this
.
ShowSelectList
=
false
},
closeSlectAccident
()
{
this
.
ShowAccidentList
=
false
},
saveSlectAccident
(
data
)
{
this
.
form
.
type
=
data
.
join
(
'
,
'
);
this
.
ShowAccidentList
=
false
},
onSelect
(
data
)
{
onSelect
(
data
)
{
this
.
possibleValue
=
data
.
text
;
this
.
possibleValue
=
data
.
text
;
this
.
possibleScore
=
data
.
score
;
this
.
possibleScore
=
data
.
score
;
...
...
src/views/riskProject/add/addPresent.vue
View file @
fb06516e
<
template
>
<
template
>
<div>
<div>
<LHeader
:text=
"text"
></LHeader>
<LHeader
:text=
"text"
></LHeader>
<van-form
<van-form
@
submit=
"onSubmit"
:scroll-to-error=
"true"
:show-error=
"false"
validate-trigger=
"onSubmit"
>
@
submit=
"onSubmit"
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
:scroll-to-error=
"true"
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
:show-error=
"false"
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
validate-trigger=
"onSubmit"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
风险信息
风险信息
</div>
</div>
<van-field
<van-field
readonly
required
name=
"userName"
:value=
"form.userName"
label=
"评估人"
placeholder=
"请输入"
/>
readonly
<van-field
readonly
required
name=
"projectId"
:value=
"form.projectId"
label=
"所属项目"
placeholder=
"请输入"
/>
required
<van-field
readonly
required
name=
"buildingName"
:value=
"form.buildingName"
label=
"所属建筑物"
placeholder=
"请输入"
/>
name=
"userName"
:value=
"form.userName"
label=
"评估人"
placeholder=
"请输入"
/>
<van-field
readonly
required
name=
"projectId"
:value=
"form.projectId"
label=
"所属项目"
placeholder=
"请输入"
/>
<van-field
readonly
required
name=
"buildingName"
:value=
"form.buildingName"
label=
"所属建筑物"
placeholder=
"请输入"
/>
<van-field
<van-field
required
clickable
name=
"floorId"
:value=
"form.floorId"
label=
"所属楼层"
placeholder=
"请选择"
required
@
click=
"seletFloor('floor')"
:rules=
"[
{ required: true, message: '所属楼层不能为空' }]" />
clickable
name=
"floorId"
:value=
"form.floorId"
label=
"所属楼层"
placeholder=
"请选择"
@
click=
"seletFloor('floor')"
:rules=
"[
{ required: true, message: '所属楼层不能为空' }]"
/>
<van-field
<van-field
readonly
required
name=
"roomName"
:value=
"form.roomName"
label=
"所属房间"
placeholder=
"请输入"
readonly
@
click=
"seletRoom('room')"
:rules=
"[
{ required: true, message: '所属房间不能为空' }]" />
required
name=
"roomName"
:value=
"form.roomName"
label=
"所属房间"
placeholder=
"请输入"
@
click=
"seletRoom('room')"
:rules=
"[
{ required: true, message: '所属房间不能为空' }]"
/>
<van-field
<van-field
required
name=
"name"
v-model=
"form.name"
label=
"风险源名称"
placeholder=
"请输入"
required
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]" />
name=
"name"
<van-field
readonly
v-model=
"form.factor"
required
name=
"factor"
label=
"风险因素"
placeholder=
"请选择"
v-model=
"form.name"
@
click=
"seletFactor('factor')"
:rules=
"[
{ required: true, message: '风险因素不能为空' }]" />
label=
"风险源名称"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]"
/>
<van-field
v-model=
"form.factor"
required
name=
"factor"
label=
"风险因素"
placeholder=
"请选择"
@
click=
"seletFactor('factor')"
:rules=
"[
{ required: true, message: '风险因素不能为空' }]"
/>
<van-field
<van-field
readonly
v-model=
"form.type"
required
name=
"type"
label=
"准事故类型"
placeholder=
"请选择"
@
click=
"seletType('type')"
v-model=
"form.type"
:rules=
"[
{ required: true, message: '准事故类型不能为空' }]" />
required
name=
"type"
label=
"准事故类型"
placeholder=
"请选择"
@
click=
"seletType('type')"
:rules=
"[
{ required: true, message: '准事故类型不能为空' }]"
/>
<!--
<van-field
<!--
<van-field
readonly
readonly
...
@@ -96,35 +35,24 @@
...
@@ -96,35 +35,24 @@
@
click=
"seletGrade('level')"
@
click=
"seletGrade('level')"
:rules=
"[
{ required: true, message: '风险等级不能为空' }]"
:rules=
"[
{ required: true, message: '风险等级不能为空' }]"
/> -->
/> -->
<van-field
readonly
v-model=
"form.level"
required
name=
"level"
label=
"风险
等级
"
placeholder=
"请选择"
<van-field
readonly
v-model=
"form.level"
required
name=
"level"
label=
"风险
管控措施评价
"
placeholder=
"请选择"
@
click=
"seletGrade"
:rules=
"[
{ required: true, message: '风险等级不能为空' }]" />
@
click=
"seletGrade"
:rules=
"[
{ required: true, message: '风险等级不能为空' }]" />
<van-field
<van-field
required
name=
"presenceLocation"
v-model=
"form.presenceLocation"
label=
"存在部位"
placeholder=
"请输入"
required
:rules=
"[
{ required: true, message: '存在部位不能为空' }]" />
name=
"presenceLocation"
v-model=
"form.presenceLocation"
label=
"存在部位"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '存在部位不能为空' }]"
/>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
风险源图片
风险源图片
</div>
</div>
<van-field
name=
"hdPicture1"
label=
"风险源图片"
>
<van-field
name=
"hdPicture1"
label=
"风险源图片"
>
<template
#input
>
<template
#input
>
<van-uploader
<van-uploader
@
delete=
"deleteFile(...arguments, 'uploaderImg')"
multiple
:max-count=
"5"
@
delete=
"deleteFile(...arguments, 'uploaderImg')"
upload-text=
"最多上传五个"
v-model=
"uploaderImg"
>
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"uploaderImg"
>
<template
slot=
"default"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<!-- 11111111111 -->
<div
<div
style=
"
style=
"
width: 2.13333rem;
width: 2.13333rem;
height: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
background: #f7f8fa;
...
@@ -132,49 +60,28 @@
...
@@ -132,49 +60,28 @@
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
flex-direction: column;
flex-direction: column;
"
"
>
>
<img
src=
"@/assets/upload/pic.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<img
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
src=
"@/assets/upload/pic.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span
>
</div>
</div>
</
template
>
</
template
>
</van-uploader>
</van-uploader>
</template>
</template>
</van-field>
</van-field>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
技术措施
技术措施
</div>
</div>
<van-field
<van-field
v-model=
"form.measuresProject"
name=
"measuresProject"
label=
"技术措施"
type=
"textarea"
rows=
"1"
autosize
v-model=
"form.measuresProject"
placeholder=
"请输入"
/>
name=
"measuresProject"
label=
"技术措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"measuresProjectFile[]"
label=
" "
>
<van-field
name=
"measuresProjectFile[]"
label=
" "
>
<
template
#input
>
<
template
#input
>
<van-uploader
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresProjectFile"
accept=
"file"
multiple
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresProjectFile')"
>
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresProjectFile"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresProjectFile')"
>
<template
slot=
"default"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<!-- 11111111111 -->
<div
<div
style=
"
style=
"
width: 2.13333rem;
width: 2.13333rem;
height: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
background: #f7f8fa;
...
@@ -182,49 +89,28 @@
...
@@ -182,49 +89,28 @@
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
flex-direction: column;
flex-direction: column;
"
"
>
>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<img
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span
>
</div>
</div>
</
template
>
</
template
>
</van-uploader>
</van-uploader>
</template>
</template>
</van-field>
</van-field>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
管理措施
管理措施
</div>
</div>
<van-field
<van-field
v-model=
"form.measuresAdministration"
name=
"measuresAdministration"
label=
"管理措施"
type=
"textarea"
v-model=
"form.measuresAdministration"
rows=
"1"
autosize
placeholder=
"请输入"
/>
name=
"measuresAdministration"
label=
"管理措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"measuresAdministrationFile[]"
label=
" "
>
<van-field
name=
"measuresAdministrationFile[]"
label=
" "
>
<
template
#input
>
<
template
#input
>
<van-uploader
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresAdministrationFile"
multiple
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresAdministrationFile')"
>
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresAdministrationFile"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresAdministrationFile')"
>
<template
slot=
"default"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<!-- 11111111111 -->
<div
<div
style=
"
style=
"
width: 2.13333rem;
width: 2.13333rem;
height: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
background: #f7f8fa;
...
@@ -232,49 +118,28 @@
...
@@ -232,49 +118,28 @@
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
flex-direction: column;
flex-direction: column;
"
"
>
>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<img
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span
>
</div>
</div>
</
template
>
</
template
>
</van-uploader>
</van-uploader>
</template>
</template>
</van-field>
</van-field>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
应急措施
应急措施
</div>
</div>
<van-field
<van-field
v-model=
"form.measuresEmergency"
name=
"measuresEmergency"
label=
"应急措施"
type=
"textarea"
rows=
"1"
v-model=
"form.measuresEmergency"
autosize
placeholder=
"请输入"
/>
name=
"measuresEmergency"
label=
"应急措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"measuresEmergencyFile[]"
label=
" "
>
<van-field
name=
"measuresEmergencyFile[]"
label=
" "
>
<
template
#input
>
<
template
#input
>
<van-uploader
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresEmergencyFile"
accept=
"file"
multiple
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresEmergencyFile')"
>
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresEmergencyFile"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresEmergencyFile')"
>
<template
slot=
"default"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<!-- 11111111111 -->
<div
<div
style=
"
style=
"
width: 2.13333rem;
width: 2.13333rem;
height: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
background: #f7f8fa;
...
@@ -282,24 +147,18 @@
...
@@ -282,24 +147,18 @@
align-items: center;
align-items: center;
justify-content: center;
justify-content: center;
flex-direction: column;
flex-direction: column;
"
"
>
>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<img
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span
>
</div>
</div>
</
template
>
</
template
>
</van-uploader>
</van-uploader>
</template>
</template>
</van-field>
</van-field>
<!-- v-if="this.$route.params.isView" -->
<!-- v-if="this.$route.params.isView" -->
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
参考依据
参考依据
</div>
</div>
<!-- <van-field
<!-- <van-field
...
@@ -314,40 +173,37 @@
...
@@ -314,40 +173,37 @@
:rules="[{ required: true, message: '事故类型不能为空' }]"
:rules="[{ required: true, message: '事故类型不能为空' }]"
/> -->
/> -->
<van-popup
v-model=
"showTrouble"
position=
"bottom"
>
<van-popup
v-model=
"showTrouble"
position=
"bottom"
>
<van-picker
<van-picker
show-toolbar
value-key=
"name"
:columns=
"columnsTrouble"
@
confirm=
"onConTrouble"
show-toolbar
@
cancel=
"showTrouble = false"
/>
value-key=
"name"
:columns=
"columnsTrouble"
@
confirm=
"onConTrouble"
@
cancel=
"showTrouble = false"
/>
</van-popup>
</van-popup>
<van-popup
v-model=
"showSource"
position=
"bottom"
>
<van-popup
v-model=
"showSource"
position=
"bottom"
>
<van-picker
<van-picker
show-toolbar
value-key=
"name"
:columns=
"columnsSource"
@
confirm=
"onConSource"
show-toolbar
@
cancel=
"showSource = false"
/>
value-key=
"name"
</van-popup>
:columns=
"columnsSource"
@
confirm=
"onConSource"
<!-- 风险源弹出层 -->
@
cancel=
"showSource = false"
<van-popup
v-model=
"ShowSelectList"
position=
"bottom"
:style=
"{ height: '100%' }"
>
/>
<selectList
:listdata=
"columnsTrouble"
@
closeSlect=
"closeSlect"
@
saveSlect=
"saveSlect"
></selectList>
</van-popup>
<!-- 准事故类型 -->
<van-popup
v-model=
"ShowAccidentList"
position=
"bottom"
:style=
"{ height: '100%' }"
>
<selectList
:listdata=
"columnsAccident"
@
closeSlect=
"closeSlectAccident"
@
saveSlect=
"saveSlectAccident"
>
</selectList>
</van-popup>
</van-popup>
<!-- v-if="this.$route.params.isView" -->
<!-- v-if="this.$route.params.isView" -->
<div
style=
"margin: 16px 16px 0"
>
<div
style=
"margin: 16px 16px 0"
>
<van-button
round
block
type=
"info"
native-type=
"submit"
<van-button
round
block
type=
"info"
native-type=
"submit"
>
上报
</van-button>
>
上报
</van-button
>
</div>
</div>
</van-form>
</van-form>
<van-dialog
v-model=
"showGradeDialog"
title=
"风险评测配置"
:show-cancel-button=
"false"
:show-confirm-button=
"false"
>
<van-dialog
v-model=
"showGradeDialog"
title=
"风险评测配置"
:show-cancel-button=
"false"
:show-confirm-button=
"false"
>
<div
class=
"dialogContain"
>
<div
class=
"dialogContain"
>
<van-collapse
v-model=
"activeNames"
>
<van-collapse
v-model=
"activeNames"
>
<van-collapse-item
title=
"风险模型"
name=
"1"
>
<van-collapse-item
title=
"风险模型"
name=
"1"
>
<van-field
readonly
required
name=
"level"
label=
"当前风险模型"
placeholder=
"LS风险矩阵评估模型"
/>
<van-field
readonly
required
name=
"level"
label=
"当前风险模型"
placeholder=
"LS风险矩阵评估模型"
/>
</van-collapse-item>
</van-collapse-item>
<van-collapse-item
title=
"风险模型配置"
name=
"2"
>
<van-collapse-item
title=
"风险模型配置"
name=
"2"
>
<van-popover
v-model=
"showPopover"
trigger=
"click"
:actions=
"columnsRiskRank"
<van-popover
v-model=
"showPopover"
trigger=
"click"
:actions=
"columnsRiskRank"
@
select=
"onSelect"
>
@
select=
"onSelect"
>
<
template
#reference
>
<
template
#reference
>
<van-field
v-model=
"possibleValue"
readonly
required
name=
"level"
label=
"发生的可能性"
<van-field
v-model=
"possibleValue"
readonly
required
name=
"level"
label=
"发生的可能性"
placeholder=
"请选择"
/>
placeholder=
"请选择"
/>
...
@@ -363,24 +219,24 @@
...
@@ -363,24 +219,24 @@
</van-collapse-item>
</van-collapse-item>
</van-collapse>
</van-collapse>
<van-row
type=
"flex"
justify=
"center"
style=
"margin-top:10px"
>
<van-row
type=
"flex"
justify=
"center"
style=
"margin-top:10px"
>
<van-col
span=
"6"
><van-button
size=
"small"
plain
type=
"info"
@
click=
"showGradeDialog = false"
>
取消
</van-button></van-col>
<van-col
span=
"6"
><van-button
size=
"small"
plain
type=
"info"
@
click=
"showGradeDialog = false"
>
取消
</van-button></van-col>
<van-col
span=
"6"
><van-button
size=
"small"
type=
"info"
@
click=
"goResultPage"
>
开始测评
</van-button></van-col>
<van-col
span=
"6"
><van-button
size=
"small"
type=
"info"
@
click=
"goResultPage"
>
开始测评
</van-button></van-col>
</van-row>
</van-row>
</div>
</div>
</van-dialog>
</van-dialog>
<!-- v-if="this.$route.params.isView" -->
<!-- v-if="this.$route.params.isView" -->
<div
style=
"margin: 10px 16px 0px; padding-bottom: 16px"
>
<div
style=
"margin: 10px 16px 0px; padding-bottom: 16px"
>
<van-button
round
block
type=
"warning"
@
click.native=
"cancel"
<van-button
round
block
type=
"warning"
@
click.native=
"cancel"
>
取消
</van-button>
>
取消
</van-button
>
</div>
</div>
</div>
</div>
</template>
</template>
<
script
>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
import
LHeader
from
"
@/components/header.vue
"
;
import
SelectList
from
"
@/components/selectList.vue
"
;
// import selectPeople from "@/views/riskTask/selectPeople/index.vue";
// import selectPeople from "@/views/riskTask/selectPeople/index.vue";
import
{
getUserInfo
,
getLocalUserInfo
}
from
'
@/utils/userInfo
'
import
{
getUserInfo
,
getLocalUserInfo
}
from
'
@/utils/userInfo
'
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
// import {
// import {
// getFormList,
// getFormList,
...
@@ -399,21 +255,24 @@ export default {
...
@@ -399,21 +255,24 @@ export default {
activated
()
{
activated
()
{
},
},
beforeRouteEnter
(
to
,
from
,
next
){
beforeRouteEnter
(
to
,
from
,
next
)
{
if
(
from
.
name
==
'
addCurrent
'
)
{
if
(
from
.
name
==
'
addCurrent
'
)
{
sessionStorage
.
setItem
(
'
presentForm
'
,
''
)
sessionStorage
.
setItem
(
'
presentForm
'
,
''
)
sessionStorage
.
setItem
(
'
level
'
,
''
)
sessionStorage
.
setItem
(
'
level
'
,
''
)
}
}
next
()
next
()
},
},
beforeRouteLeave
(
to
,
from
,
next
)
{
beforeRouteLeave
(
to
,
from
,
next
)
{
if
(
to
.
name
!=
"
riskInherent
"
)
{
if
(
to
.
name
!=
"
riskInherent
"
)
{
sessionStorage
.
setItem
(
'
presentForm
'
,
JSON
.
stringify
(
this
.
form
))
sessionStorage
.
setItem
(
'
presentForm
'
,
JSON
.
stringify
(
this
.
form
))
}
}
next
();
next
();
},
},
data
()
{
data
()
{
return
{
return
{
ShowAccidentList
:
false
,
ShowSelectList
:
false
,
columnsAccident
:
[],
showPopoveSetRank
:
false
,
showPopoveSetRank
:
false
,
activeNames
:
[
"
1
"
],
activeNames
:
[
"
1
"
],
showPopover
:
false
,
showPopover
:
false
,
...
@@ -421,9 +280,9 @@ export default {
...
@@ -421,9 +280,9 @@ export default {
taskId
:
""
,
taskId
:
""
,
text
:
"
添加现状风险
"
,
text
:
"
添加现状风险
"
,
id
:
""
,
id
:
""
,
isTimely
:
1
,
isTimely
:
1
,
active
:
0
,
active
:
0
,
form
:{
form
:
{
},
},
projectId
:
""
,
// 所属工程
projectId
:
""
,
// 所属工程
...
@@ -447,7 +306,7 @@ export default {
...
@@ -447,7 +306,7 @@ export default {
columnsSetRank
:
[
"
矩阵式定级
"
,
"
其他定级方式
"
],
columnsSetRank
:
[
"
矩阵式定级
"
,
"
其他定级方式
"
],
riskRank
:
""
,
// 风险等级
riskRank
:
""
,
// 风险等级
showRiskRank
:
false
,
showRiskRank
:
false
,
columnsRiskRank
:
[
"
重大风险
"
,
"
较大风险
"
,
"
一般风险
"
,
"
较小风险
"
],
columnsRiskRank
:
[
"
重大风险
"
,
"
较大风险
"
,
"
一般风险
"
,
"
较小风险
"
],
showSetRankMode
:
false
,
// 是否显示定级方式
showSetRankMode
:
false
,
// 是否显示定级方式
setRankMode
:
""
,
// 定级方式文字
setRankMode
:
""
,
// 定级方式文字
setRankModeImg
:
[],
// 定级方式图片
setRankModeImg
:
[],
// 定级方式图片
...
@@ -476,102 +335,99 @@ export default {
...
@@ -476,102 +335,99 @@ export default {
returnCause
:
""
,
// 退回原因
returnCause
:
""
,
// 退回原因
isShowreturnCause
:
false
,
isShowreturnCause
:
false
,
possibleValue
:
""
,
possibleValue
:
""
,
possibleScore
:
0
,
possibleScore
:
0
,
severityValue
:
""
,
severityValue
:
""
,
severityScore
:
0
,
severityScore
:
0
,
};
};
},
},
created
()
{
created
()
{
var
userInfo
=
getUserInfo
()
var
userInfo
=
getUserInfo
()
this
.
form
.
buildingIds
=
this
.
$route
.
params
.
id
this
.
form
.
buildingIds
=
this
.
$route
.
params
.
id
this
.
form
.
planId
=
this
.
$route
.
params
.
planId
this
.
form
.
planId
=
this
.
$route
.
params
.
planId
this
.
form
.
floorId
=
this
.
$route
.
params
.
floorId
this
.
form
.
floorId
=
this
.
$route
.
params
.
floorId
this
.
form
.
roomId
=
this
.
$route
.
params
.
roomId
this
.
form
.
roomId
=
this
.
$route
.
params
.
roomId
this
.
form
.
inherentId
=
this
.
$route
.
params
.
id
this
.
form
.
inherentId
=
this
.
$route
.
params
.
id
this
.
form
.
roomName
=
this
.
$route
.
params
.
roomName
this
.
form
.
roomName
=
this
.
$route
.
params
.
roomName
this
.
form
.
buildingName
=
'
1号楼
'
this
.
form
.
buildingName
=
'
1号楼
'
this
.
form
.
userId
=
userInfo
.
userId
this
.
form
.
userId
=
userInfo
.
userId
this
.
form
.
userName
=
userInfo
.
userName
this
.
form
.
userName
=
userInfo
.
userName
this
.
form
.
deptName
=
userInfo
.
dept
.
deptName
this
.
form
.
deptName
=
userInfo
.
dept
.
deptName
this
.
form
.
projectId
=
'
测试项目
'
this
.
form
.
projectId
=
'
测试项目
'
},
},
mounted
(){
mounted
()
{
if
(
sessionStorage
.
getItem
(
'
presentForm
'
)
!=
''
)
{
if
(
sessionStorage
.
getItem
(
'
presentForm
'
)
!=
''
)
{
this
.
form
=
JSON
.
parse
(
sessionStorage
.
getItem
(
'
presentForm
'
))
this
.
form
=
JSON
.
parse
(
sessionStorage
.
getItem
(
'
presentForm
'
))
this
.
form
.
level
=
sessionStorage
.
getItem
(
'
level
'
)
this
.
form
.
level
=
sessionStorage
.
getItem
(
'
level
'
)
}
}
this
.
getFXYS
();
this
.
getZSGLX
();
},
},
methods
:
{
methods
:
{
seletFloor
(
name
){
getFXYS
()
{
getFun
(
`/risk/plan/dict/data/list?dictType=risk_plan_factor`
)
.
then
(
res
=>
{
this
.
columnsTrouble
=
res
.
data
;
})
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
getZSGLX
()
{
getFun
(
`/risk/plan/dict/data/list?dictType=risk_plan_type`
)
.
then
(
res
=>
{
this
.
columnsAccident
=
res
.
data
;
})
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
seletFloor
(
name
)
{
this
.
$toast
.
loading
({
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
message
:
"
加载中...
"
,
forbidClick
:
true
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
loadingType
:
"
spinner
"
,
duration
:
0
,
duration
:
0
,
});
});
this
.
userPrefix
=
name
this
.
userPrefix
=
name
getFun
(
`/risk/plan/floor/list/
${
this
.
form
.
buildingIds
}
`
).
then
((
res
)
=>
{
getFun
(
`/risk/plan/floor/list/
${
this
.
form
.
buildingIds
}
`
).
then
((
res
)
=>
{
this
.
$toast
.
clear
()
this
.
$toast
.
clear
()
this
.
showSource
=
true
this
.
showSource
=
true
this
.
columnsSource
=
res
.
data
this
.
columnsSource
=
res
.
data
}).
catch
(()
=>
{
}).
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
});
},
},
seletRoom
(
name
){
seletRoom
(
name
)
{
this
.
$toast
.
loading
({
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
message
:
"
加载中...
"
,
forbidClick
:
true
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
loadingType
:
"
spinner
"
,
duration
:
0
,
duration
:
0
,
});
});
this
.
userPrefix
=
name
this
.
userPrefix
=
name
getFun
(
`/risk/plan/room/list/
${
this
.
form
.
floorId
}
`
).
then
((
res
)
=>
{
getFun
(
`/risk/plan/room/list/
${
this
.
form
.
floorId
}
`
).
then
((
res
)
=>
{
this
.
$toast
.
clear
()
this
.
$toast
.
clear
()
this
.
showSource
=
true
this
.
showSource
=
true
this
.
columnsSource
=
res
.
data
this
.
columnsSource
=
res
.
data
}).
catch
(()
=>
{
}).
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
});
},
},
seletFactor
(
name
){
//风险因素
this
.
showTrouble
=
true
seletFactor
(
name
)
{
this
.
riskName
=
name
// this.showTrouble = true;
this
.
columnsTrouble
=
[
this
.
riskName
=
name
;
{
this
.
ShowSelectList
=
true
name
:
'
人的因素
'
,
},
},
//准事故类型
{
seletType
(
name
)
{
name
:
'
物的因素
'
,
// this.showTrouble = true;
},
this
.
riskName
=
name
;
{
this
.
ShowAccidentList
=
true
name
:
'
环境因素
'
,
},
{
name
:
'
管理因素
'
,
},
]
},
seletType
(
name
){
this
.
showTrouble
=
true
this
.
riskName
=
name
this
.
columnsTrouble
=
[
{
name
:
'
物体打击
'
,
},
{
name
:
'
车辆伤害
'
,
},
{
name
:
'
起重伤害
'
,
},
{
name
:
'
机械伤害
'
,
},
]
},
},
seletGrade
(
name
){
seletGrade
(
name
)
{
this
.
getGradeList
(
'
possibility
'
)
this
.
getGradeList
(
'
possibility
'
)
this
.
getGradeList
(
'
severity
'
)
this
.
getGradeList
(
'
severity
'
)
this
.
showGradeDialog
=
true
this
.
showGradeDialog
=
true
...
@@ -592,6 +448,20 @@ export default {
...
@@ -592,6 +448,20 @@ export default {
})
})
},
},
closeSlect
()
{
this
.
ShowSelectList
=
false
},
saveSlect
(
data
)
{
this
.
form
.
factor
=
data
.
join
(
'
,
'
);
this
.
ShowSelectList
=
false
},
closeSlectAccident
()
{
this
.
ShowAccidentList
=
false
},
saveSlectAccident
(
data
)
{
this
.
form
.
type
=
data
.
join
(
'
,
'
);
this
.
ShowAccidentList
=
false
},
onSelect
(
data
)
{
onSelect
(
data
)
{
this
.
possibleValue
=
data
.
text
this
.
possibleValue
=
data
.
text
this
.
possibleScore
=
data
.
score
this
.
possibleScore
=
data
.
score
...
@@ -601,15 +471,15 @@ export default {
...
@@ -601,15 +471,15 @@ export default {
this
.
severityScore
=
data
.
score
this
.
severityScore
=
data
.
score
},
},
//开始测评
//开始测评
goResultPage
()
{
goResultPage
()
{
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
'
resultPage
'
,
name
:
'
resultPage
'
,
params
:{
params
:
{
score
:
this
.
severityScore
*
this
.
possibleScore
score
:
this
.
severityScore
*
this
.
possibleScore
}
}
})
})
},
},
performTasks
(){
performTasks
()
{
},
},
// 点击预览图
// 点击预览图
...
@@ -649,34 +519,34 @@ export default {
...
@@ -649,34 +519,34 @@ export default {
},
},
onSubmit
(
values
)
{
onSubmit
(
values
)
{
// console.log('%c [ values ]-592', 'font-size:13px; background:pink; color:#bf2c9f;', values)
// console.log('%c [ values ]-592', 'font-size:13px; background:pink; color:#bf2c9f;', values)
var
formDataJson
=
this
.
jsonToFormData
(
this
.
form
)
var
formDataJson
=
this
.
jsonToFormData
(
this
.
form
)
// let url = "/risk/plan/inherent";
// let url = "/risk/plan/inherent";
let
url
=
"
/risk/plan/existing
"
;
let
url
=
"
/risk/plan/existing
"
;
values
.
hdPicture1
.
forEach
((
item
)
=>
{
values
.
hdPicture1
.
forEach
((
item
)
=>
{
if
(
item
.
file
)
{
if
(
item
.
file
)
{
formDataJson
.
append
(
"
pictureFile[]
"
,
item
.
file
);
formDataJson
.
append
(
"
pictureFile[]
"
,
item
.
file
);
}
else
{
}
else
{
formDataJson
.
append
(
"
pictureFile[]
"
,
item
.
fileId
);
formDataJson
.
append
(
"
pictureFile[]
"
,
item
.
fileId
);
}
}
});
});
values
[
'
measuresProjectFile[]
'
].
forEach
((
item
)
=>
{
values
[
'
measuresProjectFile[]
'
].
forEach
((
item
)
=>
{
if
(
item
.
file
)
{
if
(
item
.
file
)
{
formDataJson
.
append
(
"
measuresProjectFile[]
"
,
item
.
file
);
formDataJson
.
append
(
"
measuresProjectFile[]
"
,
item
.
file
);
}
else
{
}
else
{
formDataJson
.
append
(
"
measuresProjectFile[]
"
,
item
.
fileId
);
formDataJson
.
append
(
"
measuresProjectFile[]
"
,
item
.
fileId
);
}
}
});
});
values
[
'
measuresEmergencyFile[]
'
].
forEach
((
item
)
=>
{
values
[
'
measuresEmergencyFile[]
'
].
forEach
((
item
)
=>
{
if
(
item
.
file
)
{
if
(
item
.
file
)
{
formDataJson
.
append
(
"
measuresEmergencyFile[]
"
,
item
.
file
);
formDataJson
.
append
(
"
measuresEmergencyFile[]
"
,
item
.
file
);
}
else
{
}
else
{
formDataJson
.
append
(
"
measuresEmergencyFile[]
"
,
item
.
fileId
);
formDataJson
.
append
(
"
measuresEmergencyFile[]
"
,
item
.
fileId
);
}
}
});
});
values
[
'
measuresAdministrationFile[]
'
].
forEach
((
item
)
=>
{
values
[
'
measuresAdministrationFile[]
'
].
forEach
((
item
)
=>
{
if
(
item
.
file
)
{
if
(
item
.
file
)
{
formDataJson
.
append
(
"
measuresAdministrationFile[]
"
,
item
.
file
);
formDataJson
.
append
(
"
measuresAdministrationFile[]
"
,
item
.
file
);
}
else
{
}
else
{
formDataJson
.
append
(
"
measuresAdministrationFile[]
"
,
item
.
fileId
);
formDataJson
.
append
(
"
measuresAdministrationFile[]
"
,
item
.
fileId
);
}
}
});
});
...
@@ -818,15 +688,15 @@ export default {
...
@@ -818,15 +688,15 @@ export default {
// 选择作业人
// 选择作业人
goSelPeoTwo
(
val
)
{
goSelPeoTwo
(
val
)
{
this
.
peopleName
=
val
this
.
peopleName
=
val
this
.
show
=
true
;
this
.
show
=
true
;
},
},
onClose
()
{
onClose
()
{
this
.
show
=
false
;
this
.
show
=
false
;
},
},
onSave
(
e
)
{
onSave
(
e
)
{
this
.
projectDirector
=
e
[
0
].
loginName
this
.
projectDirector
=
e
[
0
].
loginName
this
.
projectDirectorName
=
e
[
0
].
userName
this
.
projectDirectorName
=
e
[
0
].
userName
this
.
show
=
false
;
this
.
show
=
false
;
},
},
},
},
...
@@ -846,6 +716,7 @@ export default {
...
@@ -846,6 +716,7 @@ export default {
.con-list {
.con-list {
padding: 0;
padding: 0;
background-color: #f0f1f5;
background-color: #f0f1f5;
.van-cell-group--inset {
.van-cell-group--inset {
margin: 0;
margin: 0;
margin-bottom: 0.26667rem;
margin-bottom: 0.26667rem;
...
@@ -856,13 +727,16 @@ export default {
...
@@ -856,13 +727,16 @@ export default {
box-shadow: 0px 0px 10px 2px #f3f3f3;
box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%;
width: 90%;
margin: 0.4rem auto;
margin: 0.4rem auto;
.van-row {
.van-row {
font-size: 0.4rem;
font-size: 0.4rem;
line-height: 0.8rem;
line-height: 0.8rem;
margin-bottom: 0;
margin-bottom: 0;
}
}
.van-overlay {
.van-overlay {
position: absolute;
position: absolute;
.wrapper {
.wrapper {
display: flex;
display: flex;
align-items: center;
align-items: center;
...
@@ -871,5 +745,5 @@ export default {
...
@@ -871,5 +745,5 @@ export default {
}
}
}
}
}
}
}
}
</
style
>
</
style
>
src/views/riskProject/add/inherentRisks.vue
View file @
fb06516e
...
@@ -8,6 +8,7 @@
...
@@ -8,6 +8,7 @@
<van-tabs
v-model=
"active"
@
change=
"tabList"
color=
"#2980f7"
animated
>
<van-tabs
v-model=
"active"
@
change=
"tabList"
color=
"#2980f7"
animated
>
<van-tab
:title=
"buildingName"
>
<van-tab
:title=
"buildingName"
>
<van-dropdown-menu
z-index=
"1000"
>
<van-dropdown-menu
z-index=
"1000"
>
<van-dropdown-item
v-model=
"value0"
@
change=
"changeBuild"
:options=
"option0"
get-container=
"body"
/>
<van-dropdown-item
v-model=
"value1"
@
change=
"changeFloor"
:options=
"option1"
get-container=
"body"
/>
<van-dropdown-item
v-model=
"value1"
@
change=
"changeFloor"
:options=
"option1"
get-container=
"body"
/>
<van-dropdown-item
v-model=
"value2"
@
change=
"changeRoom"
:options=
"option2"
get-container=
"body"
/>
<van-dropdown-item
v-model=
"value2"
@
change=
"changeRoom"
:options=
"option2"
get-container=
"body"
/>
</van-dropdown-menu>
</van-dropdown-menu>
...
@@ -97,8 +98,10 @@ export default {
...
@@ -97,8 +98,10 @@ export default {
planId
:
0
,
planId
:
0
,
buildingId
:
0
,
buildingId
:
0
,
buildingName
:
""
,
buildingName
:
""
,
value0
:
''
,
value1
:
0
,
value1
:
0
,
value2
:
0
,
value2
:
0
,
option0
:[],
option1
:
[],
option1
:
[],
option2
:
[],
option2
:
[],
isHaveNews
:
false
,
isHaveNews
:
false
,
...
@@ -108,7 +111,8 @@ export default {
...
@@ -108,7 +111,8 @@ export default {
showIndex
:
null
,
// 是否显示遮罩层,
showIndex
:
null
,
// 是否显示遮罩层,
active
:
1
,
active
:
1
,
form
:
{},
form
:
{},
tabs
:
[]
tabs
:
[],
floorListData
:[]
};
};
},
},
created
()
{
created
()
{
...
@@ -127,7 +131,7 @@ export default {
...
@@ -127,7 +131,7 @@ export default {
arr
.
forEach
(
item
=>
{
arr
.
forEach
(
item
=>
{
arrList
.
push
({
arrList
.
push
({
text
:
item
.
name
,
text
:
item
.
name
,
value
:
item
.
id
value
:
item
.
id
||
item
.
name
});
});
});
});
return
arrList
;
return
arrList
;
...
@@ -189,9 +193,10 @@ export default {
...
@@ -189,9 +193,10 @@ export default {
return
new
Promise
((
resolve
,
reject
)
=>
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getFun
(
`/risk/plan/floor/list/
${
id
}
`
)
getFun
(
`/risk/plan/floor/list/
${
id
}
`
)
.
then
(
res
=>
{
.
then
(
res
=>
{
this
.
option1
=
this
.
changeData
(
res
.
data
);
this
.
floorListData
=
res
.
data
this
.
value1
=
res
.
data
[
0
].
id
||
0
;
this
.
option0
=
this
.
changeData
(
res
.
data
)
resolve
(
res
.
data
);
this
.
value0
=
res
.
data
[
0
].
name
||
''
this
.
changeBuild
(
res
.
data
[
0
].
name
)
})
})
.
catch
(()
=>
{
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
...
@@ -249,6 +254,15 @@ export default {
...
@@ -249,6 +254,15 @@ export default {
let
room
=
await
this
.
roomList
(
floor
[
0
].
id
);
let
room
=
await
this
.
roomList
(
floor
[
0
].
id
);
let
risk
=
await
this
.
riskList
(
this
.
planId
,
value
);
let
risk
=
await
this
.
riskList
(
this
.
planId
,
value
);
},
},
changeBuild
(
name
){
let
arr
=
this
.
floorListData
.
map
((
item
)
=>
{
if
(
item
.
name
==
name
){
return
item
.
children
}
});
this
.
option1
=
this
.
changeData
(
arr
[
0
])
this
.
value1
=
this
.
changeData
(
arr
[
0
]).
id
},
async
changeFloor
()
{
async
changeFloor
()
{
let
room
=
await
this
.
roomList
(
this
.
value1
);
let
room
=
await
this
.
roomList
(
this
.
value1
);
let
risk
=
await
this
.
riskList
(
this
.
planId
,
this
.
buildingId
,
this
.
value1
,
this
.
value2
);
let
risk
=
await
this
.
riskList
(
this
.
planId
,
this
.
buildingId
,
this
.
value1
,
this
.
value2
);
...
...
src/views/riskProject/add/projectList.vue
View file @
fb06516e
<
template
>
<
template
>
<div>
<div>
<!-- 搜索 -->
<!-- 搜索 -->
<van-sticky
offset-top=
"0"
>
<div
class=
"content-wrap"
>
<div
class=
"content-wrap"
>
<div
class=
"search-wrap"
>
<div
class=
"search-wrap"
>
<van-search
v-model=
"searchVal"
placeholder=
"搜索"
@
input=
"onInput"
/>
<van-search
v-model=
"searchVal"
placeholder=
"搜索"
@
input=
"onInput"
/>
</div>
</div>
</div>
</div>
</van-sticky>
<div
style=
"margin-bottom: 1.4rem;"
>
<div
style=
"margin-bottom: 1.4rem;"
>
<van-radio-group
v-model=
"radio"
>
<van-radio-group
v-model=
"radio"
>
<van-list
<van-list
...
...
src/views/riskProject/add/taskList.vue
View file @
fb06516e
...
@@ -228,15 +228,15 @@
...
@@ -228,15 +228,15 @@
<van-col
span=
"7"
<van-col
span=
"7"
><span
class=
"field-title"
>
任务节点:
</span></van-col
><span
class=
"field-title"
>
任务节点:
</span></van-col
>
>
<van-col
span=
"17"
>
{{
item
.
taskName
}}
</van-col>
<van-col
span=
"17"
>
{{
item
.
taskName
}}{{
item
.
taskResult
&&
item
.
taskResult
==
1
?
"
(审批通过)
"
:
"
(审批否决)
"
}}
</van-col>
</van-row>
</van-row>
<van-row
v-show=
"item.taskResult"
>
<van-row
v-show=
"item.taskResult"
>
<van-col
span=
"7"
<van-col
span=
"7"
><span
class=
"field-title"
>
审批
结果
:
</span></van-col
><span
class=
"field-title"
>
审批
意见
:
</span></van-col
>
>
<van-col
span=
"17"
>
{{
<van-col
span=
"17"
>
{{
item
.
taskOpinion
}}
</van-col>
item
.
taskResult
==
1
?
"
审批通过
"
:
"
审批否决
"
}}
</van-col>
</van-row>
</van-row>
<!--
<van-row>
<!--
<van-row>
<van-col
span=
"7"
<van-col
span=
"7"
...
@@ -566,7 +566,6 @@ export default {
...
@@ -566,7 +566,6 @@ export default {
},
},
//执行任务
//执行任务
performTasks
()
{
performTasks
()
{
console
.
log
(
this
.
messageList
,
"
LLLL
"
);
sessionStorage
.
setItem
(
sessionStorage
.
setItem
(
"
buildingId
"
,
"
buildingId
"
,
this
.
messageList
.
riskBuildingListDtos
[
0
].
buildingId
this
.
messageList
.
riskBuildingListDtos
[
0
].
buildingId
...
@@ -758,7 +757,8 @@ export default {
...
@@ -758,7 +757,8 @@ export default {
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
"
taskDetail
"
,
name
:
"
taskDetail
"
,
params
:
{
params
:
{
id
:
item
.
id
id
:
item
.
id
,
floorId
:
item
.
floorId
}
}
});
});
}
}
...
...
src/views/riskProject/taskLedger/index.vue
View file @
fb06516e
...
@@ -3,18 +3,16 @@
...
@@ -3,18 +3,16 @@
<van-sticky
offset-top=
"0"
>
<van-sticky
offset-top=
"0"
>
<LHeader
:text=
"text"
></LHeader>
<LHeader
:text=
"text"
></LHeader>
</van-sticky>
</van-sticky>
<van-tabs
<van-sticky
offset-top=
"1.5rem"
>
v-model=
"active"
<van-search
v-model=
"searchValue"
show-action
placeholder=
"请输入搜索内容"
@
search=
"onSearch"
>
color=
"#2980f7"
<template
#action
>
animated
<div
@
click=
"onSearch"
>
搜索
</div>
:sticky=
"true"
</
template
>
>
</van-search>
<van-tab
title=
"排序"
>
</van-sticky>
<template
#title
>
排序
<van-icon
name=
"down"
/></
template
>
<div
class=
"con-list"
>
<div
class=
"con-list"
>
<van-cell-group
v-for=
"(item, index) in taskList"
:key=
"index"
inset
@
click=
"touchstart(index, item)"
>
<van-cell-group
v-for=
"(item,index) in taskList"
:key=
"index"
inset
@
click=
"touchstart(index, item)"
>
<div
style=
"font-size: 0.45rem;padding: 5px 0;"
>
{{ item.name }}
</div>
<div
style=
"font-size: 0.45rem;padding: 5px 0;"
>
{{item.name}}
</div>
<van-row
gutter=
""
>
<van-row
gutter=
""
>
<van-col
span=
"17"
>
<van-col
span=
"17"
>
<van-row
gutter=
""
>
<van-row
gutter=
""
>
...
@@ -23,28 +21,21 @@
...
@@ -23,28 +21,21 @@
</van-row>
</van-row>
<van-row
gutter=
""
>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
处理人员:
</van-col>
<van-col
span=
"9"
>
处理人员:
</van-col>
<van-col
span=
"15"
>
{{item.leaderUserName
}}
</van-col>
<van-col
span=
"15"
>
{{ item.leaderUserName
}}
</van-col>
</van-row>
</van-row>
</van-col>
</van-col>
<van-col
span=
"7"
:style=
"{'color':'#03b615'
}"
>
<van-col
span=
"7"
:style=
"{ 'color': '#03b615'
}"
>
{{item.state
}}
{{ item.state
}}
</van-col>
</van-col>
</van-row>
</van-row>
<!-- 长按显示遮罩层 -->
<!-- 长按显示遮罩层 -->
<van-overlay
:show=
"showIndex == index"
>
<van-overlay
:show=
"showIndex == index"
>
<div
class=
"wrapper"
@
click.stop=
"showIndex = null"
>
<div
class=
"wrapper"
@
click.stop=
"showIndex = null"
>
<van-button
round
type=
"primary"
@
click=
"goDetail(item)"
<van-button
round
type=
"primary"
@
click=
"goDetail(item)"
>
详情
</van-button>
>
详情
</van-button
>
</div>
</div>
</van-overlay>
</van-overlay>
</van-cell-group>
</van-cell-group>
</div>
</div>
</van-tab>
<van-tab
title=
"筛选"
>
<
template
#title
>
筛选
<van-icon
name=
"filter-o"
/></
template
>
</van-tab>
</van-tabs>
</div>
</div>
</template>
</template>
...
@@ -53,11 +44,12 @@ import LHeader from "@/components/header.vue";
...
@@ -53,11 +44,12 @@ import LHeader from "@/components/header.vue";
import
{
timestampToTime
,
generateId
}
from
"
@/utils/format
"
;
import
{
timestampToTime
,
generateId
}
from
"
@/utils/format
"
;
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
export
default
{
export
default
{
name
:
'
taskLedger
'
,
//任务台账
name
:
'
taskLedger
'
,
//任务台账
data
()
{
data
()
{
return
{
return
{
text
:
'
任务台账
'
,
text
:
'
任务台账
'
,
active
:
0
,
active
:
0
,
searchValue
:
''
,
showIndex
:
null
,
// 是否显示遮罩层,
showIndex
:
null
,
// 是否显示遮罩层,
taskList
:
[],
// 是否显示遮罩层,
taskList
:
[],
// 是否显示遮罩层,
}
}
...
@@ -72,10 +64,10 @@ export default {
...
@@ -72,10 +64,10 @@ export default {
timestampToTimes
(
time
)
{
timestampToTimes
(
time
)
{
return
timestampToTime
(
new
Date
(
time
),
"
DT2
"
,
true
);
return
timestampToTime
(
new
Date
(
time
),
"
DT2
"
,
true
);
},
},
getList
(){
getList
()
{
getFun
(
'
/risk/plan/details/list
'
).
then
(
res
=>
{
getFun
(
'
/risk/plan/details/list
'
).
then
(
res
=>
{
console
.
log
(
'
%c [ res ]-77
'
,
'
font-size:13px; background:pink; color:#bf2c9f;
'
,
res
)
console
.
log
(
'
%c [ res ]-77
'
,
'
font-size:13px; background:pink; color:#bf2c9f;
'
,
res
)
this
.
taskList
=
res
.
data
this
.
taskList
=
res
.
data
})
})
},
},
//点击列表
//点击列表
...
@@ -87,26 +79,32 @@ export default {
...
@@ -87,26 +79,32 @@ export default {
this
.
showIndex
=
index
;
this
.
showIndex
=
index
;
},
},
// 详情
// 详情
goDetail
(
item
){
goDetail
(
item
)
{
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
"
riskTaskList
"
,
name
:
"
riskTaskList
"
,
params
:
{
params
:
{
id
:
item
.
id
,
id
:
item
.
id
,
},
},
});
});
},
onSearch
(
searchValue
)
{
}
}
},
},
}
}
</
script
>
</
script
>
<
style
scoped
lang=
"less"
>
<
style
scoped
lang=
"less"
>
.wrap{
.wrap
{
height: 100vh;
height: 100vh;
width: 100vw;
width: 100vw;
}
}
.con-list {
.con-list {
padding: 0;
padding: 0;
background-color: #f0f1f5;
background-color: #f0f1f5;
.van-cell-group--inset {
.van-cell-group--inset {
margin: 0;
margin: 0;
margin-bottom: 0.26667rem;
margin-bottom: 0.26667rem;
...
@@ -117,13 +115,16 @@ export default {
...
@@ -117,13 +115,16 @@ export default {
box-shadow: 0px 0px 10px 2px #f3f3f3;
box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%;
width: 90%;
margin: 0.4rem auto;
margin: 0.4rem auto;
.van-row {
.van-row {
font-size: 0.4rem;
font-size: 0.4rem;
line-height: 0.8rem;
line-height: 0.8rem;
margin-bottom: 0;
margin-bottom: 0;
}
}
.van-overlay {
.van-overlay {
position: absolute;
position: absolute;
.wrapper {
.wrapper {
display: flex;
display: flex;
align-items: center;
align-items: center;
...
@@ -132,5 +133,5 @@ export default {
...
@@ -132,5 +133,5 @@ export default {
}
}
}
}
}
}
}
}
</
style
>
</
style
>
src/views/riskProject/taskLedger/presentDetail.vue
0 → 100644
View file @
fb06516e
<
template
>
<div>
<van-sticky
offset-top=
"0"
>
<LHeader
:text=
"text"
></LHeader>
</van-sticky>
<van-form
:scroll-to-error=
"true"
:show-error=
"false"
validate-trigger=
"onSubmit"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
风险信息
</div>
<van-field
readonly
required
label=
"评估人"
placeholder=
"请输入"
/>
<van-field
readonly
required
label=
"所属项目"
placeholder=
"请输入"
/>
<van-field
readonly
required
label=
"所属建筑物"
placeholder=
"请输入"
/>
<van-field
required
clickable
name=
"floorId"
label=
"所属楼层"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '所属楼层不能为空' }]" />
<div
style=
"display: flex;"
>
<van-field
readonly
required
name=
"roomName"
label=
"所属房间"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '所属房间不能为空' }]" />
<!--
<van-button
style=
"color: #cccc;background-color: #f0f1f5;"
icon=
"plus"
type=
"info"
/>
-->
</div>
<van-field
required
clickable
name=
"name"
label=
"风险源名称"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]" />
<van-field
required
name=
"factor"
label=
"风险因素"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '风险因素不能为空' }]" />
<van-field
required
name=
"type"
label=
"准事故类型"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '准事故类型不能为空' }]" />
<van-field
required
name=
"presenceLocation"
label=
"存在部位"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '存在部位不能为空' }]" />
<van-field
readonly
required
name=
"level"
label=
"风险管控措施评价"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '风险等级不能为空' }]" />
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
风险源图片
</div>
<van-field
name=
"hdPicture1"
label=
"风险源图片"
>
<template
#input
>
<van-uploader
multiple
:max-count=
"5"
disabled
upload-text=
"最多上传五个"
v-model=
"uploaderImg"
>
<template
slot=
"default"
>
<div
style=
"
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src=
"@/assets/upload/pic.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
</div>
</
template
>
</van-uploader>
</template>
</van-field>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
现有技术措施
</div>
<van-field
disabled
name=
"measuresProject"
label=
"技术措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"measuresProjectFile[]"
label=
" "
>
<
template
#input
>
<van-uploader
disabled
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresProjectFile"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresProjectFile')"
>
<template
slot=
"default"
>
<div
style=
"
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
</div>
</
template
>
</van-uploader>
</template>
</van-field>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
现有管理措施
</div>
<van-field
disabled
name=
"measuresAdministration"
label=
"管理措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"measuresAdministrationFile[]"
label=
" "
>
<
template
#input
>
<van-uploader
disabled
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresAdministrationFile"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresAdministrationFile')"
>
<template
slot=
"default"
>
<div
style=
"
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
</div>
</
template
>
</van-uploader>
</template>
</van-field>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
现有应急措施
</div>
<van-field
disabled
name=
"measuresEmergency"
label=
"应急措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"measuresEmergencyFile[]"
label=
" "
>
<
template
#input
>
<van-uploader
disabled
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"measuresEmergencyFile"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'measuresEmergencyFile')"
>
<template
slot=
"default"
>
<div
style=
"
width: 2.13333rem;
height: 2.13333rem;
background: #f7f8fa;
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
"
>
<img
src=
"@/assets/upload/file.png"
alt=
""
style=
"width: 0.64rem; height: 0.64rem"
/>
<span
class=
"van-uploader__upload-text"
>
最多上传五个
</span>
</div>
</
template
>
</van-uploader>
</template>
</van-field>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
参考依据
</div>
</van-form>
</div>
</template>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
export
default
{
// props: ["presentList"],
components
:
{
LHeader
},
data
()
{
return
{
showPopoveSetRank
:
false
,
activeNames
:
[
"
1
"
],
showPopover
:
false
,
showGradeDialog
:
false
,
taskId
:
""
,
text
:
"
现状风险详情
"
,
id
:
""
,
isTimely
:
1
,
active
:
0
,
form
:
{
},
projectId
:
""
,
// 所属工程
projectName
:
""
,
// 所属工程
projectDirectorName
:
""
,
// 所属工程
projectDirector
:
""
,
// 所属工程
showProjectName
:
false
,
show
:
false
,
columnsProjectName
:
[],
factor
:
""
,
//风险因素
showFactor
:
false
,
columnsFactor
:
[],
messageList
:
[
{
title
:
'
回显风险源名称
'
,
time
:
'
2022-12-12
'
,
name
:
'
Mr.周
'
,
state
:
1
}
],
source
:
""
,
//风险源
userPrefix
:
""
,
//风险源
showSource
:
false
,
columnsSource
:
[],
trouble
:
""
,
//事故类型
showTrouble
:
false
,
columnsTrouble
:
[],
setRank
:
""
,
//风险定级
showSetRank
:
false
,
columnsSetRank
:
[
"
矩阵式定级
"
,
"
其他定级方式
"
],
//严重程度
riskRank
:
""
,
// 风险等级
showRiskRank
:
false
,
columnsRiskRank
:
[],
//发生可能性
showSetRankMode
:
false
,
// 是否显示定级方式
setRankMode
:
""
,
// 定级方式文字
setRankModeImg
:
[],
// 定级方式图片
uploaderImg
:
[],
// 定级方式图片
location
:
""
,
//风险部位
control
:
""
,
//管控层级
riskName
:
""
,
//管控层级
showControl
:
false
,
columnsControl
:
[
"
项目级
"
,
"
企业级
"
],
mainDutyDept
:
""
,
// 主责部门
mainDutyDeptId
:
""
,
showMainDutyDept
:
false
,
columnsMainDutyDept
:
[],
mainDutyPeopLe
:
""
,
// 主责人员
mainDutyPeopLeId
:
""
,
showMainDutyPeopLe
:
false
,
columnsMainDutyPeopLe
:
[],
technology
:
""
,
//技术措施文字
technologyImg
:
[],
//技术措施图片
administration
:
""
,
//管理措施文字
measuresAdministrationFile
:
[],
//管理措施图片
measuresProjectFile
:
[],
//管理措施图片
measuresEmergencyFile
:
[],
//管理措施图片
urgent
:
""
,
//应急措施文字
urgentImg
:
[],
//应急措施图片
returnCause
:
""
,
// 退回原因
isShowreturnCause
:
false
,
possibleValue
:
""
,
possibleScore
:
0
,
severityValue
:
""
,
severityScore
:
0
,
};
},
created
()
{
// this.form.buildingIds = this.$route.params.buildingId ||sessionStorage.getItem("buildingId")
// this.form.planId = this.$route.params.planId||sessionStorage.getItem("planId")
// this.form.buildingName = this.$route.params.buildingName||sessionStorage.getItem("buildingName")
// this.form.userId = userInfo.userId
// this.form.userName = userInfo.userName
// this.form.deptName = userInfo.dept.deptName
// this.form.projectId = '测试项目',
// this.form.level = this.$route.params.level ? this.$route.params.level :''
},
methods
:
{
},
watch
:
{
},
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
.con-list {
padding: 0;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
margin-bottom: 0.26667rem;
padding: 0.25rem;
font-size: 0.4rem;
position: relative;
border-radius: 4%;
box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%;
margin: 0.4rem auto;
.van-row {
font-size: 0.4rem;
line-height: 0.8rem;
margin-bottom: 0;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
.dialogContain {
width: 100%;
height: 100%;
padding: 10px;
box-sizing: border-box;
}
</
style
>
src/views/riskProject/taskLedger/tabDetail.vue
View file @
fb06516e
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]" />
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]" />
<van-field
v-model=
"InherentRisk.factor"
required
name=
"factor"
label=
"风险因素"
placeholder=
"请选择"
<van-field
v-model=
"InherentRisk.factor"
required
name=
"factor"
label=
"风险因素"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '风险因素不能为空' }]" />
:rules=
"[
{ required: true, message: '风险因素不能为空' }]" />
<van-field
v-model=
"InherentRisk.type"
required
name=
"type"
label=
"准事故类型"
placeholder=
"请选择"
@
click=
"seletType('type')"
<van-field
v-model=
"InherentRisk.type"
required
name=
"type"
label=
"准事故类型"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '准事故类型不能为空' }]" />
:rules=
"[
{ required: true, message: '准事故类型不能为空' }]" />
<van-field
readonly
v-model=
"InherentRisk.level"
required
name=
"level"
label=
"风险等级"
placeholder=
"请选择"
<van-field
readonly
v-model=
"InherentRisk.level"
required
name=
"level"
label=
"风险等级"
placeholder=
"请选择"
...
@@ -59,7 +59,7 @@
...
@@ -59,7 +59,7 @@
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
技术措施
应有
技术措施
</div>
</div>
<van-field
disabled
v-model=
"InherentRisk.measuresProject"
name=
"measuresProject"
label=
"技术措施"
type=
"textarea"
rows=
"1"
autosize
<van-field
disabled
v-model=
"InherentRisk.measuresProject"
name=
"measuresProject"
label=
"技术措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
placeholder=
"请输入"
/>
...
@@ -87,7 +87,7 @@
...
@@ -87,7 +87,7 @@
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
管理措施
应有
管理措施
</div>
</div>
<van-field
disabled
v-model=
"InherentRisk.measuresAdministration"
name=
"measuresAdministration"
label=
"管理措施"
type=
"textarea"
<van-field
disabled
v-model=
"InherentRisk.measuresAdministration"
name=
"measuresAdministration"
label=
"管理措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
rows=
"1"
autosize
placeholder=
"请输入"
/>
...
@@ -115,7 +115,7 @@
...
@@ -115,7 +115,7 @@
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<div
style=
"height: 1rem;font-family: '微软雅黑 Bold', '微软雅黑 Regular', '微软雅黑';font-weight: 700;line-height: 1rem;"
>
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
应急措施
应有
应急措施
</div>
</div>
<van-field
disabled
v-model=
"InherentRisk.measuresEmergency"
name=
"measuresEmergency"
label=
"应急措施"
type=
"textarea"
rows=
"1"
<van-field
disabled
v-model=
"InherentRisk.measuresEmergency"
name=
"measuresEmergency"
label=
"应急措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
autosize
placeholder=
"请输入"
/>
...
...
src/views/riskProject/taskLedger/taskDetail.vue
View file @
fb06516e
...
@@ -51,7 +51,7 @@
...
@@ -51,7 +51,7 @@
</div>
</div>
</van-tab>
</van-tab>
<van-tab
title=
"四色图"
name=
"c"
>
<van-tab
title=
"四色图"
name=
"c"
>
<drawCanvas
:isView=
"true"
/>
<drawCanvas
:isView=
"true"
:floorId=
"floorId"
/>
</van-tab>
</van-tab>
</van-tabs>
</van-tabs>
</div>
</div>
...
@@ -72,7 +72,8 @@ export default {
...
@@ -72,7 +72,8 @@ export default {
activeName
:
'
a
'
,
activeName
:
'
a
'
,
quoRiskList
:
[],
//现状风险列表
quoRiskList
:
[],
//现状风险列表
InherentRisk
:
{},
//固有风险
InherentRisk
:
{},
//固有风险
inherentId
:
''
inherentId
:
''
,
floorId
:
''
,
}
}
},
},
components
:
{
components
:
{
...
@@ -81,11 +82,12 @@ export default {
...
@@ -81,11 +82,12 @@ export default {
TabDetail
TabDetail
},
},
created
()
{
created
()
{
this
.
inherentId
=
this
.
$route
.
params
.
id
this
.
inherentId
=
this
.
$route
.
params
.
id
||
sessionStorage
.
getItem
(
'
inherntId
'
)
this
.
floorId
=
this
.
$route
.
params
.
floorId
},
},
mounted
()
{
mounted
()
{
this
.
getInherentRiskList
(
this
.
$route
.
params
.
i
d
)
this
.
getInherentRiskList
(
this
.
inherentI
d
)
this
.
getQuoRiskList
(
this
.
$route
.
params
.
i
d
)
this
.
getQuoRiskList
(
this
.
inherentI
d
)
},
},
methods
:
{
methods
:
{
getInherentRiskList
(
inherentId
){
getInherentRiskList
(
inherentId
){
...
@@ -102,25 +104,19 @@ export default {
...
@@ -102,25 +104,19 @@ export default {
return
timestampToTime
(
new
Date
(
time
),
"
DT1
"
,
true
);
return
timestampToTime
(
new
Date
(
time
),
"
DT1
"
,
true
);
},
},
goDetail
(
item
){
goDetail
(
item
){
console
.
log
(
item
,
'
???
'
)
sessionStorage
.
setItem
(
'
inherntId
'
,
this
.
inherentId
)
this
.
$router
.
push
({
this
.
$router
.
push
({
name
:
'
task
Detail
'
,
name
:
'
present
Detail
'
,
params
:{
params
:{
isView
:
false
,
isView
:
false
,
// buildingId:,
// planId:,
// floorId:,
// roomId:,
// inherentId:,
// roomName:,
}
}
})
})
},
},
onClick
(
name
){
onClick
(
name
){
if
(
name
===
'
a
'
){
if
(
name
===
'
a
'
){
this
.
getQuoRiskList
(
this
.
$route
.
params
.
i
d
)
this
.
getQuoRiskList
(
this
.
inherentI
d
)
}
else
if
(
name
===
'
b
'
){
}
else
if
(
name
===
'
b
'
){
this
.
getInherentRiskList
(
this
.
$route
.
params
.
i
d
)
this
.
getInherentRiskList
(
this
.
inherentI
d
)
}
}
}
}
},
},
...
...
vue.config.js
View file @
fb06516e
...
@@ -8,9 +8,9 @@ module.exports = {
...
@@ -8,9 +8,9 @@ module.exports = {
//以上的ip和端口是我们本机的;下面为需要跨域的
//以上的ip和端口是我们本机的;下面为需要跨域的
proxy
:
{
//配置跨域
proxy
:
{
//配置跨域
'
/app-api
'
:
{
'
/app-api
'
:
{
target
:
'
http://192.168.4.232:8080/
'
,
//这里是后台的地址
//
target: 'http://192.168.4.232:8080/', //这里是后台的地址
// target: 'http://192.168.15.124:8080/', //这里是杨帆的地址
// target: 'http://192.168.15.124:8080/', //这里是杨帆的地址
//
target: 'http://192.168.10.137:8080/', //这里是昊哥的地址
target
:
'
http://192.168.10.137:8080/
'
,
//这里是昊哥的地址
// target: 'http://192.168.10.36:8080/', //这里是昊哥的地址
// target: 'http://192.168.10.36:8080/', //这里是昊哥的地址
// target: 'http://localhost:8080/', //这里是后台的地址
// target: 'http://localhost:8080/', //这里是后台的地址
ws
:
true
,
ws
:
true
,
...
...
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