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
319bec6e
Commit
319bec6e
authored
Jun 29, 2023
by
胡占生
🇨🇳
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix: 现状风险列表,新增现状列表接口联调对接
parent
1ef2a6d0
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
1180 additions
and
278 deletions
+1180
-278
src/router/index.js
src/router/index.js
+5
-0
src/views/riskProject/add/addCurrent.vue
src/views/riskProject/add/addCurrent.vue
+817
-0
src/views/riskProject/add/addInherent.vue
src/views/riskProject/add/addInherent.vue
+232
-202
src/views/riskProject/add/inherentRisks.vue
src/views/riskProject/add/inherentRisks.vue
+115
-70
src/views/riskProject/add/taskList.vue
src/views/riskProject/add/taskList.vue
+11
-6
No files found.
src/router/index.js
View file @
319bec6e
...
...
@@ -156,6 +156,11 @@ const routes = [{
name
:
'
addInherent
'
,
component
:
()
=>
import
(
'
../views/riskProject/add/addInherent.vue
'
),
},
{
path
:
'
/addCurrent
'
,
name
:
'
addCurrent
'
,
component
:
()
=>
import
(
'
../views/riskProject/add/addCurrent.vue
'
),
},
]
const
router
=
new
VueRouter
({
...
...
src/views/riskProject/add/addCurrent.vue
0 → 100644
View file @
319bec6e
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-tabs
v-model=
"active"
color=
"#2980f7"
animated
>
<van-tab
title=
"固有风险信息"
>
<van-form
@
submit=
"onSubmit"
: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
name=
"creatBy"
:value=
"form.creatBy"
label=
"创建人员"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '创建人员不能为空' }]"
/>
<van-field
readonly
required
name=
"creatUnit"
:value=
"form.creatUnit"
label=
"创建单位"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '创建单位不能为空' }]"
/>
<van-field
required
name=
"taskName"
:value=
"form.taskName"
label=
"任务名称"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '任务名称不能为空' }]"
/>
<van-field
readonly
required
clickable
name=
"source"
:value=
"form.source"
label=
"关联项目"
placeholder=
"请选择"
@
click=
"showSource = true"
:rules=
"[
{ required: true, message: '关联项目不能为空' }]"
/>
<van-popup
v-model=
"showSource"
position=
"bottom"
>
<van-picker
show-toolbar
value-key=
"sourceName"
:columns=
"columnsSource"
@
confirm=
"onConSource"
@
cancel=
"showSource = false"
/>
</van-popup>
<van-field
readonly
required
name=
"taskName"
:value=
"form.taskName"
label=
"评估楼栋"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '评估楼栋不能为空' }]"
/>
<van-field
readonly
required
clickable
name=
"trouble"
:value=
"form.trouble"
label=
"项目负责人"
placeholder=
"请选择"
@
click=
"showTrouble = true"
:rules=
"[
{ required: true, message: '事故类型不能为空' }]"
/>
<van-popup
v-model=
"showTrouble"
position=
"bottom"
>
<van-picker
show-toolbar
value-key=
"accidentType"
:columns=
"columnsTrouble"
@
confirm=
"onConTrouble"
@
cancel=
"showTrouble = false"
/>
</van-popup>
<van-field
v-model=
"form.startTime"
required
name=
"location"
label=
"任务开始时间"
type=
"textarea"
maxlength=
"255"
rows=
"1"
autosize
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '任务开始时间不能为空' }]"
/>
<van-field
v-model=
"form.endTime"
required
name=
"location"
label=
"任务结束时间"
type=
"textarea"
maxlength=
"255"
rows=
"1"
autosize
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '任务结束时间不能为空' }]"
/>
<van-field
clickable
required
name=
"control"
:value=
"form.control"
label=
"执行人员"
placeholder=
"请选择"
@
click=
"showControl = true"
:rules=
"[
{ required: true, message: '执行人员不能为空' }]"
/>
<van-popup
v-model=
"showControl"
position=
"bottom"
>
<van-picker
show-toolbar
:columns=
"columnsControl"
@
confirm=
"onConControl"
@
cancel=
"showControl = false"
/>
</van-popup>
<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=
"hdPicture2"
label=
"风险源图片"
v-if=
"isTimely == 1"
>
<template
#input
>
<van-uploader
@
delete=
"deleteFile(...arguments, 'changePicture')"
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"changePicture"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<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
v-model=
"form.administration"
name=
"administration"
label=
"技术措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"administrationFile"
label=
" "
>
<
template
#input
>
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"administrationImg"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'administrationImg')"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<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
v-model=
"form.administration"
name=
"administration"
label=
"管理措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"administrationFile"
label=
" "
>
<
template
#input
>
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"administrationImg"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'administrationImg')"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<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
v-model=
"form.administration"
name=
"administration"
label=
"应急措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"administrationFile"
label=
" "
>
<
template
#input
>
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"administrationImg"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, 'administrationImg')"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
<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
readonly
required
clickable
name=
"trouble"
:value=
"form.trouble"
label=
"参考依据"
placeholder=
"请选择"
@
click=
"showTrouble = true"
:rules=
"[{ required: true, message: '事故类型不能为空' }]"
/>
<van-popup
v-model=
"showTrouble"
position=
"bottom"
>
<van-picker
show-toolbar
value-key=
"accidentType"
:columns=
"columnsTrouble"
@
confirm=
"onConTrouble"
@
cancel=
"showTrouble = false"
/>
</van-popup>
<van-popup
v-model=
"show"
position=
"bottom"
:style=
"{ height: '100%' }"
>
<!-- <selectPeople @onClose="onClose" @onSave="onSave"></selectPeople> -->
</van-popup>
<div
style=
"margin: 16px 16px 0"
>
<van-button
round
block
type=
"info"
native-type=
"submit"
>
上报
</van-button
>
</div>
</van-form>
<div
style=
"margin: 10px 16px 0px; padding-bottom: 16px"
>
<van-button
round
block
type=
"warning"
@
click.native=
"cancel"
>
取消
</van-button
>
</div>
</van-tab>
<van-tab
title=
"现状风险"
>
<div
class=
"con-list"
@
touchmove=
"showIndex = null"
>
<van-cell-group
inset
v-for=
"(item, index) in messageList"
:key=
"index"
>
<div
style=
"font-size: 0.45rem;padding: 5px 0;"
>
{{item.title}}
</div>
<van-row
gutter=
""
>
<van-col
span=
"17"
>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
风险系数:
</van-col>
<van-col
span=
"15"
>
{{ item.time}}
</van-col>
</van-row>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
创建时间:
</van-col>
<van-col
span=
"15"
>
{{ item.name }}
</van-col>
</van-row>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
风险描述:
</van-col>
<van-col
span=
"15"
>
{{ item.name }}
</van-col>
</van-row>
</van-col>
<van-col
span=
"7"
:style=
"{'color':item.state == 1 ? '#0069e5':'#03b615'}"
>
{{ '●待审批'}}
</van-col>
</van-row>
</van-cell-group>
<div
style=
"
width: 100%;
text-align: center;
font-size: 0.48rem;
position: fixed;
top: 30%;
"
v-if=
"messageList['length']==0"
>
暂无数据
</div>
</div>
</van-tab>
</van-tabs>
<div
style=
"display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
height: 1.5rem;
width: 100%;
text-align: center;
position: fixed;
bottom: 0;"
>
<div
@
click=
"performTasks"
style=
"color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div
style=
"font-size: 22px;"
><van-icon
name=
"plus"
/></div>
<div>
新增现状风险
</div>
</div>
</div>
</div>
</template>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
// import selectPeople from "@/views/riskTask/selectPeople/index.vue";
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
// import {
// getFormList,
// postHdSource,
// postHdType,
// postHdPeople,
// postReAdd,
// postriskConiCause,
// postRiskShowMeasures,
// } from "@/service/risk";
export
default
{
name
:
"
risk-add
"
,
components
:
{
LHeader
,
},
activated
()
{
this
.
showSetRank
=
false
;
// 再次关闭弹出层 以防万一
if
(
this
.
$route
.
params
.
taskId
)
{
this
.
isShowreturnCause
=
true
;
this
.
text
=
"
风险上报退回
"
;
this
.
taskId
=
this
.
$route
.
params
.
taskId
;
this
.
postReturnEcho
();
}
this
.
getList
();
this
.
$bus
.
$on
(
"
riskLevelBus
"
,
(
res
)
=>
{
this
.
showSetRank
=
false
;
// 再次关闭弹出层 以防万一
console
.
log
(
Boolean
(
res
));
if
(
res
)
{
this
.
riskRank
=
res
;
}
else
{
this
.
setRank
=
""
;
}
// 销毁一下监听事件 不然会越加越多
this
.
$bus
.
$off
(
"
riskLevelBus
"
);
});
},
beforeRouteLeave
(
to
,
from
,
next
)
{
if
(
to
.
name
!=
"
matrix-grad
"
)
{
}
next
();
},
data
()
{
return
{
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
:
""
,
//风险源
showSource
:
false
,
columnsSource
:
[],
trouble
:
""
,
//事故类型
showTrouble
:
false
,
columnsTrouble
:
[],
setRank
:
""
,
//风险定级
showSetRank
:
false
,
columnsSetRank
:
[
"
矩阵式定级
"
,
"
其他定级方式
"
],
riskRank
:
""
,
// 风险等级
showRiskRank
:
false
,
columnsRiskRank
:
[
"
重大风险
"
,
"
较大风险
"
,
"
一般风险
"
,
"
较小风险
"
],
showSetRankMode
:
false
,
// 是否显示定级方式
setRankMode
:
""
,
// 定级方式文字
setRankModeImg
:
[],
// 定级方式图片
changePicture
:
[],
// 定级方式图片
location
:
""
,
//风险部位
control
:
""
,
//管控层级
showControl
:
false
,
columnsControl
:
[
"
项目级
"
,
"
企业级
"
],
mainDutyDept
:
""
,
// 主责部门
mainDutyDeptId
:
""
,
showMainDutyDept
:
false
,
columnsMainDutyDept
:
[],
mainDutyPeopLe
:
""
,
// 主责人员
mainDutyPeopLeId
:
""
,
showMainDutyPeopLe
:
false
,
columnsMainDutyPeopLe
:
[],
technology
:
""
,
//技术措施文字
technologyImg
:
[],
//技术措施图片
administration
:
""
,
//管理措施文字
administrationImg
:
[],
//管理措施图片
urgent
:
""
,
//应急措施文字
urgentImg
:
[],
//应急措施图片
returnCause
:
""
,
// 退回原因
isShowreturnCause
:
false
,
};
},
created
()
{
if
(
this
.
$route
.
params
.
taskId
)
{
this
.
isShowreturnCause
=
true
;
this
.
text
=
"
风险上报退回
"
;
this
.
taskId
=
this
.
$route
.
params
.
taskId
;
this
.
postReturnEcho
();
}
// this.getList();
},
methods
:
{
performTasks
(){
console
.
log
(
'
1233213 :>>
'
,
1233213
);
},
// 点击预览图
clickPre
(
e
)
{
console
.
log
(
e
);
if
(
e
.
filePath
)
{
this
.
videoUrl
=
e
.
filePath
;
}
else
{
this
.
videoUrl
=
e
.
content
;
}
},
async
deleteFile
(
val
,
detail
,
key
)
{
// console.log(val,detail)
if
(
val
.
fileId
)
{
let
formdata
=
new
FormData
();
formdata
.
append
(
"
key
"
,
val
[
"
fileId
"
]);
let
res
=
await
postFun
(
"
/mobile/remove
"
,
formdata
);
if
(
res
)
{
console
.
log
(
res
);
this
.
$toast
({
title
:
"
提示
"
,
message
:
"
删除成功!
"
,
});
}
else
{
console
.
log
(
"
删除失败
"
);
this
[
key
].
splice
(
detail
.
index
,
0
,
val
);
}
}
},
onSubmit
(
values
)
{
let
url
=
"
/riskMain/add
"
;
postReAdd
(
url
,
formdata
)
.
then
((
res
)
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
success
({
message
:
"
提交成功
"
,
duration
:
2000
,
});
history
.
go
(
-
1
);
})
.
catch
(()
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
fail
(
"
提交失败,请稍后再试
"
);
});
this
.
$toast
.
clear
();
},
// 请求表单数据
getList
()
{
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
,
});
getFormList
(
"
/riskMain/add
"
)
.
then
((
res
)
=>
{
this
.
$toast
.
clear
();
this
.
columnsProjectName
=
res
.
data
.
projectInformations
;
this
.
columnsFactor
=
res
.
data
.
riskInventories
;
this
.
columnsMainDutyDept
=
res
.
data
.
organizationList
;
})
.
catch
(()
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
// 请求已退回详情数据
postReturnEcho
()
{
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
,
});
postriskConiCause
(
`/riskMain/edit/
${
this
.
taskId
}
`
)
.
then
((
res
)
=>
{
console
.
log
(
'
%c [ res ]-332
'
,
'
font-size:13px; background:pink; color:#bf2c9f;
'
,
res
)
})
.
catch
(()
=>
{
this
.
$toast
.
clear
();
});
},
// 所属项目
onConProjectName
(
value
)
{
if
(
!
value
)
{
this
.
showProjectName
=
false
;
return
;
}
this
.
projectId
=
value
.
id
;
this
.
projectName
=
value
.
projectName
;
this
.
showProjectName
=
false
;
},
// 风险因素
onConFactor
(
value
)
{
if
(
!
value
)
{
this
.
showFactor
=
false
;
return
;
}
this
.
factor
=
value
.
factorType
;
this
.
showFactor
=
false
;
this
.
source
=
""
;
this
.
trouble
=
""
;
// 请求风险源
postHdSource
(
`/riskMain/showSourceName?factorType=
${
this
.
factor
}
`
).
then
(
(
res
)
=>
{
this
.
columnsSource
=
res
.
data
;
}
);
},
// 风险源
onConSource
(
value
)
{
if
(
!
value
)
{
this
.
showSource
=
false
;
return
;
}
this
.
source
=
value
.
sourceName
;
this
.
showSource
=
false
;
this
.
trouble
=
""
;
// 请求事故类型
postHdType
(
`/riskMain/showaccidentType?factorType=
${
this
.
factor
}
&sourceName=
${
this
.
source
}
`
).
then
((
res
)
=>
{
this
.
columnsTrouble
=
res
.
data
;
});
},
// 事故类型
onConTrouble
(
value
)
{
if
(
!
value
)
{
this
.
showTrouble
=
false
;
return
;
}
this
.
trouble
=
value
.
accidentType
;
this
.
showTrouble
=
false
;
// 请求三个措施
postRiskShowMeasures
(
`/riskMain/showmeasures?factorType=
${
this
.
factor
}
&sourceName=
${
this
.
source
}
&accidentType=
${
this
.
trouble
}
`
).
then
((
res
)
=>
{
this
.
technology
=
res
.
data
[
0
].
measuresProject
;
this
.
administration
=
res
.
data
[
0
].
measuresAdministration
;
this
.
urgent
=
res
.
data
[
0
].
measuresEmergency
;
});
},
// 风险定级
onConSetRank
(
value
)
{
this
.
showSetRank
=
false
;
this
.
setRank
=
value
;
this
.
riskRank
=
""
;
if
(
this
.
setRank
==
"
矩阵式定级
"
)
{
this
.
showSetRank
=
false
;
this
.
$router
.
push
({
name
:
"
matrix-grad
"
,
});
}
},
// 自己定义风险等级点击方法
myRiskRank
()
{
if
(
this
.
setRank
==
""
)
{
this
.
$toast
(
"
请先选择风险定级
"
);
}
else
if
(
this
.
setRank
==
"
其他定级方式
"
)
{
this
.
showRiskRank
=
true
;
}
},
// 风险等级
onConRiskRank
(
value
)
{
this
.
riskRank
=
value
;
this
.
showRiskRank
=
false
;
},
// 管控层级
onConControl
(
value
)
{
this
.
control
=
value
;
this
.
showControl
=
false
;
},
// 主责部门
onConMainDutyDept
(
value
)
{
this
.
mainDutyDeptId
=
value
.
deptId
;
this
.
mainDutyDept
=
value
.
deptName
;
this
.
showMainDutyDept
=
false
;
this
.
mainDutyPeopLe
=
""
;
// 请求主责人员
let
formdata
=
new
FormData
();
formdata
.
append
(
"
organizationId
"
,
this
.
mainDutyDeptId
);
postHdPeople
(
`/riskMain/getUserList`
,
formdata
).
then
((
res
)
=>
{
this
.
columnsMainDutyPeopLe
=
res
.
data
;
});
},
// 主责人员
onConMainDutyPeopLe
(
value
)
{
this
.
mainDutyPeopLeId
=
value
.
userId
;
this
.
mainDutyPeopLe
=
value
.
userName
;
this
.
showMainDutyPeopLe
=
false
;
},
cancel
()
{
this
.
$router
.
go
(
-
1
);
},
// 选择作业人
goSelPeoTwo
(
val
)
{
this
.
peopleName
=
val
this
.
show
=
true
;
},
onClose
()
{
this
.
show
=
false
;
},
onSave
(
e
)
{
this
.
projectDirector
=
e
[
0
].
loginName
this
.
projectDirectorName
=
e
[
0
].
userName
this
.
show
=
false
;
},
},
watch
:
{
// setRank(newVal, oldVal) {
// if (newVal == "其他定级方式") {
// this.showSetRankMode = true;
// } else {
// this.showSetRankMode = false;
// }
// },
},
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
.con-list {
margin-bottom: 1.5rem;
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%;
}
}
}
}
</
style
>
src/views/riskProject/add/addInherent.vue
View file @
319bec6e
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-tabs
v-model=
"active"
color=
"#2980f7"
animated
>
<van-tab
title=
"固有风险信息"
>
<van-form
@
submit=
"onSubmit"
:scroll-to-error=
"true"
...
...
@@ -18,140 +15,112 @@
<van-field
readonly
required
name=
"
creatBy
"
:value=
"form.
creatBy
"
label=
"
创建人员
"
name=
"
userName
"
:value=
"form.
userName
"
label=
"
评估人
"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '创建人员不能为空' }]"
/>
<van-field
readonly
required
name=
"
creatUnit
"
:value=
"form.
creatUnit
"
label=
"
创建单位
"
name=
"
projectId
"
:value=
"form.
projectId
"
label=
"
所属项目
"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '创建单位不能为空' }]"
/>
<van-field
readonly
required
name=
"
task
Name"
:value=
"form.
task
Name"
label=
"
任务名称
"
name=
"
building
Name"
:value=
"form.
building
Name"
label=
"
所属建筑物
"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '任务名称不能为空' }]"
/>
<van-field
readonly
required
clickable
name=
"
source
"
:value=
"form.
source
"
label=
"
关联项目
"
name=
"
floorId
"
:value=
"form.
floorId
"
label=
"
所属楼层
"
placeholder=
"请选择"
@
click=
"s
howSource = true
"
:rules=
"[
{ required: true, message: '
关联项目
不能为空' }]"
@
click=
"s
eletFloor('floor')
"
:rules=
"[
{ required: true, message: '
所属楼层
不能为空' }]"
/>
<van-popup
v-model=
"showSource"
position=
"bottom"
>
<van-picker
show-toolbar
value-key=
"sourceName"
:columns=
"columnsSource"
@
confirm=
"onConSource"
@
cancel=
"showSource = false"
/>
</van-popup>
<van-field
readonly
required
name=
"
taskName"
:value=
"form.
task
Name"
label=
"
评估楼栋
"
name=
"
roomName"
:value=
"form.
room
Name"
label=
"
所属房间
"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '评估楼栋不能为空' }]"
@
click=
"seletRoom('room')"
:rules=
"[
{ required: true, message: '所属房间不能为空' }]"
/>
<van-field
readonly
required
clickable
name=
"trouble"
:value=
"form.trouble"
label=
"项目负责人"
placeholder=
"请选择"
@
click=
"showTrouble = true"
:rules=
"[
{ required: true, message: '事故类型不能为空' }]"
name=
"name"
v-model=
"form.name"
label=
"风险源名称"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]"
/>
<van-popup
v-model=
"showTrouble"
position=
"bottom"
>
<van-picker
show-toolbar
value-key=
"accidentType"
:columns=
"columnsTrouble"
@
confirm=
"onConTrouble"
@
cancel=
"showTrouble = false"
/>
</van-popup>
<van-field
v-model=
"form.
startTime
"
v-model=
"form.
factor
"
required
name=
"location"
label=
"任务开始时间"
type=
"textarea"
maxlength=
"255"
rows=
"1"
autosize
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '任务开始时间不能为空' }]"
name=
"factor"
label=
"风险因素"
placeholder=
"请选择"
@
click=
"seletFactor('factor')"
:rules=
"[
{ required: true, message: '风险因素不能为空' }]"
/>
<van-field
v-model=
"form.
endTim
e"
v-model=
"form.
typ
e"
required
name=
"location"
label=
"任务结束时间"
type=
"textarea"
maxlength=
"255"
rows=
"1"
autosize
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '任务结束时间不能为空' }]"
name=
"type"
label=
"准事故类型"
placeholder=
"请选择"
@
click=
"seletType('type')"
:rules=
"[
{ required: true, message: '准事故类型不能为空' }]"
/>
<van-field
clickable
readonly
v-model=
"form.level"
required
name=
"control"
:value=
"form.control"
label=
"执行人员"
name=
"level"
label=
"风险等级"
placeholder=
"请选择"
@
click=
"showControl = true"
:rules=
"[
{ required: true, message: '执行人员不能为空' }]"
@
click=
"seletGrade('level')"
:rules=
"[
{ required: true, message: '风险等级不能为空' }]"
/>
<van-field
required
name=
"presenceLocation"
v-model=
"form.presenceLocation"
label=
"存在部位"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '存在部位不能为空' }]"
/>
<van-popup
v-model=
"showControl"
position=
"bottom"
>
<van-picker
show-toolbar
:columns=
"columnsControl"
@
confirm=
"onConControl"
@
cancel=
"showControl = false"
/>
</van-popup>
<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>
<van-field
name=
"hdPicture
2"
label=
"风险源图片"
v-if=
"isTimely == 1"
>
<van-field
name=
"hdPicture
1"
label=
"风险源图片"
>
<template
#input
>
<van-uploader
@
delete=
"deleteFile(...arguments, '
changePicture
')"
@
delete=
"deleteFile(...arguments, '
uploaderImg
')"
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"
changePicture
"
v-model=
"
uploaderImg
"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
...
...
@@ -184,24 +153,24 @@
技术措施
</div>
<van-field
v-model=
"form.
administration
"
name=
"
administration
"
v-model=
"form.
measuresProject
"
name=
"
measuresProject
"
label=
"技术措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"
administrationFile
"
label=
" "
>
<van-field
name=
"
measuresProjectFile[]
"
label=
" "
>
<
template
#input
>
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"
administrationImg
"
v-model=
"
measuresProjectFile
"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, '
administrationImg
')"
@
delete=
"deleteFile(...arguments, '
measuresProjectFile
')"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
...
...
@@ -234,24 +203,24 @@
管理措施
</div>
<van-field
v-model=
"form.
a
dministration"
name=
"
a
dministration"
v-model=
"form.
measuresA
dministration"
name=
"
measuresA
dministration"
label=
"管理措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"
administrationFile
"
label=
" "
>
<van-field
name=
"
measuresAdministrationFile[]
"
label=
" "
>
<
template
#input
>
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"
administrationImg
"
v-model=
"
measuresAdministrationFile
"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, '
administrationImg
')"
@
delete=
"deleteFile(...arguments, '
measuresAdministrationFile
')"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
...
...
@@ -284,24 +253,24 @@
应急措施
</div>
<van-field
v-model=
"form.
administration
"
name=
"
administration
"
v-model=
"form.
measuresEmergency
"
name=
"
measuresEmergency
"
label=
"应急措施"
type=
"textarea"
rows=
"1"
autosize
placeholder=
"请输入"
/>
<van-field
name=
"
administrationFile
"
label=
" "
>
<van-field
name=
"
measuresEmergencyFile[]
"
label=
" "
>
<
template
#input
>
<van-uploader
multiple
:max-count=
"5"
upload-text=
"最多上传五个"
v-model=
"
administrationImg
"
v-model=
"
measuresEmergencyFile
"
accept=
"file"
result-type=
"file"
@
delete=
"deleteFile(...arguments, '
administrationImg
')"
@
delete=
"deleteFile(...arguments, '
measuresEmergencyFile
')"
>
<template
slot=
"default"
>
<!-- 11111111111 -->
...
...
@@ -333,7 +302,7 @@
<img
src=
"@/assets/accidentIcon/bookmark.svg"
alt=
""
style=
"position: relative;top: 32%;transform: translateY(-50%);"
>
参考依据
</div>
<van-field
<
!-- <
van-field
readonly
required
clickable
...
...
@@ -343,18 +312,25 @@
placeholder="请选择"
@click="showTrouble = true"
:rules="[{ required: true, message: '事故类型不能为空' }]"
/>
/>
-->
<van-popup
v-model=
"showTrouble"
position=
"bottom"
>
<van-picker
show-toolbar
value-key=
"
accidentTyp
e"
value-key=
"
nam
e"
:columns=
"columnsTrouble"
@
confirm=
"onConTrouble"
@
cancel=
"showTrouble = false"
/>
</van-popup>
<van-popup
v-model=
"show"
position=
"bottom"
:style=
"{ height: '100%' }"
>
<!-- <selectPeople @onClose="onClose" @onSave="onSave"></selectPeople> -->
<van-popup
v-model=
"showSource"
position=
"bottom"
>
<van-picker
show-toolbar
value-key=
"name"
:columns=
"columnsSource"
@
confirm=
"onConSource"
@
cancel=
"showSource = false"
/>
</van-popup>
<div
style=
"margin: 16px 16px 0"
>
...
...
@@ -368,75 +344,13 @@
>
取消
</van-button
>
</div>
</van-tab>
<van-tab
title=
"现状风险"
>
<div
class=
"con-list"
@
touchmove=
"showIndex = null"
>
<van-cell-group
inset
v-for=
"(item, index) in messageList"
:key=
"index"
>
<div
style=
"font-size: 0.45rem;padding: 5px 0;"
>
{{item.title}}
</div>
<van-row
gutter=
""
>
<van-col
span=
"17"
>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
风险系数:
</van-col>
<van-col
span=
"15"
>
{{ item.time}}
</van-col>
</van-row>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
创建时间:
</van-col>
<van-col
span=
"15"
>
{{ item.name }}
</van-col>
</van-row>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
风险描述:
</van-col>
<van-col
span=
"15"
>
{{ item.name }}
</van-col>
</van-row>
</van-col>
<van-col
span=
"7"
:style=
"{'color':item.state == 1 ? '#0069e5':'#03b615'}"
>
{{ '●待审批'}}
</van-col>
</van-row>
</van-cell-group>
<div
style=
"
width: 100%;
text-align: center;
font-size: 0.48rem;
position: fixed;
top: 30%;
"
v-if=
"messageList['length']==0"
>
暂无数据
</div>
</div>
</van-tab>
</van-tabs>
<div
style=
"display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
height: 1.5rem;
width: 100%;
text-align: center;
position: fixed;
bottom: 0;"
>
<div
@
click=
"performTasks"
style=
"color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div
style=
"font-size: 22px;"
><van-icon
name=
"plus"
/></div>
<div>
新增现状风险
</div>
</div>
</div>
</div>
</template>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
// import selectPeople from "@/views/riskTask/selectPeople/index.vue";
import
{
getUserInfo
,
getLocalUserInfo
}
from
'
@/utils/userInfo
'
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
// import {
// getFormList,
...
...
@@ -509,6 +423,7 @@ export default {
}
],
source
:
""
,
//风险源
userPrefix
:
""
,
//风险源
showSource
:
false
,
columnsSource
:
[],
trouble
:
""
,
//事故类型
...
...
@@ -523,9 +438,10 @@ export default {
showSetRankMode
:
false
,
// 是否显示定级方式
setRankMode
:
""
,
// 定级方式文字
setRankModeImg
:
[],
// 定级方式图片
changePicture
:
[],
// 定级方式图片
uploaderImg
:
[],
// 定级方式图片
location
:
""
,
//风险部位
control
:
""
,
//管控层级
riskName
:
""
,
//管控层级
showControl
:
false
,
columnsControl
:
[
"
项目级
"
,
"
企业级
"
],
mainDutyDept
:
""
,
// 主责部门
...
...
@@ -539,7 +455,9 @@ export default {
technology
:
""
,
//技术措施文字
technologyImg
:
[],
//技术措施图片
administration
:
""
,
//管理措施文字
administrationImg
:
[],
//管理措施图片
measuresAdministrationFile
:
[],
//管理措施图片
measuresProjectFile
:
[],
//管理措施图片
measuresEmergencyFile
:
[],
//管理措施图片
urgent
:
""
,
//应急措施文字
urgentImg
:
[],
//应急措施图片
returnCause
:
""
,
// 退回原因
...
...
@@ -547,15 +465,102 @@ export default {
};
},
created
()
{
if
(
this
.
$route
.
params
.
taskId
)
{
this
.
isShowreturnCause
=
true
;
this
.
text
=
"
风险上报退回
"
;
this
.
taskId
=
this
.
$route
.
params
.
taskId
;
this
.
postReturnEcho
();
}
// this.getList();
var
userInfo
=
getUserInfo
()
this
.
form
.
buildingIds
=
this
.
$route
.
params
.
id
this
.
form
.
planId
=
this
.
$route
.
params
.
planId
this
.
form
.
buildingName
=
'
1号楼
'
this
.
form
.
userId
=
userInfo
.
userId
this
.
form
.
userName
=
userInfo
.
userName
this
.
form
.
deptName
=
userInfo
.
dept
.
deptName
this
.
form
.
projectId
=
'
测试项目
'
},
methods
:
{
seletFloor
(
name
){
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
,
});
this
.
userPrefix
=
name
getFun
(
`/risk/plan/floor/list/
${
this
.
form
.
buildingIds
}
`
).
then
((
res
)
=>
{
this
.
$toast
.
clear
()
this
.
showSource
=
true
this
.
columnsSource
=
res
.
data
}).
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
seletRoom
(
name
){
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
,
});
this
.
userPrefix
=
name
getFun
(
`/risk/plan/room/list/
${
this
.
form
.
floorId
}
`
).
then
((
res
)
=>
{
this
.
$toast
.
clear
()
this
.
showSource
=
true
this
.
columnsSource
=
res
.
data
}).
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
seletFactor
(
name
){
this
.
showTrouble
=
true
this
.
riskName
=
name
this
.
columnsTrouble
=
[
{
name
:
'
人的因素
'
,
},
{
name
:
'
物的因素
'
,
},
{
name
:
'
环境因素
'
,
},
{
name
:
'
管理因素
'
,
},
]
},
seletType
(
name
){
this
.
showTrouble
=
true
this
.
riskName
=
name
this
.
columnsTrouble
=
[
{
name
:
'
物体打击
'
,
},
{
name
:
'
车辆伤害
'
,
},
{
name
:
'
起重伤害
'
,
},
{
name
:
'
机械伤害
'
,
},
]
},
seletGrade
(
name
){
this
.
showTrouble
=
true
this
.
riskName
=
name
this
.
columnsTrouble
=
[
{
name
:
'
重大风险
'
,
},
{
name
:
'
较大风险
'
,
},
{
name
:
'
一般风险
'
,
},
{
name
:
'
较小风险
'
,
},
]
},
performTasks
(){
console
.
log
(
'
1233213 :>>
'
,
1233213
);
},
...
...
@@ -586,16 +591,54 @@ export default {
}
}
},
jsonToFormData
(
config
)
{
const
formData
=
new
FormData
();
//循环传入的值转换formData
Object
.
keys
(
config
).
forEach
((
key
)
=>
{
formData
.
append
(
key
,
config
[
key
]);
})
return
formData
;
},
onSubmit
(
values
)
{
let
url
=
"
/riskMain/add
"
;
postReAdd
(
url
,
formdata
)
// console.log('%c [ values ]-592', 'font-size:13px; background:pink; color:#bf2c9f;', values)
var
formDataJson
=
this
.
jsonToFormData
(
this
.
form
)
let
url
=
"
/risk/plan/inherent
"
;
values
.
hdPicture1
.
forEach
((
item
)
=>
{
if
(
item
.
file
)
{
formDataJson
.
append
(
"
pictureFile[]
"
,
item
.
file
);
}
else
{
formDataJson
.
append
(
"
pictureFile[]
"
,
item
.
fileId
);
}
});
values
[
'
measuresProjectFile[]
'
].
forEach
((
item
)
=>
{
if
(
item
.
file
)
{
formDataJson
.
append
(
"
measuresProjectFile[]
"
,
item
.
file
);
}
else
{
formDataJson
.
append
(
"
measuresProjectFile[]
"
,
item
.
fileId
);
}
});
values
[
'
measuresEmergencyFile[]
'
].
forEach
((
item
)
=>
{
if
(
item
.
file
)
{
formDataJson
.
append
(
"
measuresEmergencyFile[]
"
,
item
.
file
);
}
else
{
formDataJson
.
append
(
"
measuresEmergencyFile[]
"
,
item
.
fileId
);
}
});
values
[
'
measuresAdministrationFile[]
'
].
forEach
((
item
)
=>
{
if
(
item
.
file
)
{
formDataJson
.
append
(
"
measuresAdministrationFile[]
"
,
item
.
file
);
}
else
{
formDataJson
.
append
(
"
measuresAdministrationFile[]
"
,
item
.
fileId
);
}
});
postFun
(
url
,
formDataJson
)
.
then
((
res
)
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
success
({
message
:
"
提交成功
"
,
duration
:
2000
,
});
history
.
go
(
-
1
);
//
history.go(-1);
})
.
catch
(()
=>
{
this
.
$toast
.
clear
();
...
...
@@ -675,32 +718,20 @@ export default {
this
.
showSource
=
false
;
return
;
}
this
.
source
=
value
.
sourceName
;
this
.
form
[
this
.
userPrefix
+
"
Id
"
]
=
value
.
id
;
this
.
form
[
this
.
userPrefix
+
"
Name
"
]
=
value
.
name
;
this
.
showSource
=
false
;
this
.
trouble
=
""
;
// 请求事故类型
postHdType
(
`/riskMain/showaccidentType?factorType=
${
this
.
factor
}
&sourceName=
${
this
.
source
}
`
).
then
((
res
)
=>
{
this
.
columnsTrouble
=
res
.
data
;
});
},
// 事故类型
onConTrouble
(
value
)
{
console
.
log
(
'
%c [ value ]-653
'
,
'
font-size:13px; background:pink; color:#bf2c9f;
'
,
value
)
if
(
!
value
)
{
this
.
showTrouble
=
false
;
return
;
}
this
.
trouble
=
value
.
accidentTyp
e
;
this
.
form
[
this
.
riskName
]
=
value
.
nam
e
;
this
.
showTrouble
=
false
;
// 请求三个措施
postRiskShowMeasures
(
`/riskMain/showmeasures?factorType=
${
this
.
factor
}
&sourceName=
${
this
.
source
}
&accidentType=
${
this
.
trouble
}
`
).
then
((
res
)
=>
{
this
.
technology
=
res
.
data
[
0
].
measuresProject
;
this
.
administration
=
res
.
data
[
0
].
measuresAdministration
;
this
.
urgent
=
res
.
data
[
0
].
measuresEmergency
;
});
},
// 风险定级
onConSetRank
(
value
)
{
...
...
@@ -785,7 +816,6 @@ export default {
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
.con-list {
margin-bottom: 1.5rem;
padding: 0;
background-color: #f0f1f5;
.van-cell-group--inset {
...
...
src/views/riskProject/add/inherentRisks.vue
View file @
319bec6e
...
...
@@ -6,19 +6,18 @@
</van-sticky>
<div
style=
"margin-bottom: 1.5rem;"
>
<van-tabs
v-model=
"active"
@
change=
"postList(searchValue);showIndex = null;
"
color=
"#2980f7"
animated
>
<van-tab
v-for=
"
index in 8"
:title=
"index + '号楼'"
:key=
"index
"
>
v-model=
"active"
@
change=
"tabList
"
color=
"#2980f7"
animated
>
<van-tab
v-for=
"
(item) in riskLogList"
:title=
"item.name"
:name=
"item.id"
:key=
"item.id
"
>
<van-dropdown-menu
z-index=
"1000"
>
<van-dropdown-item
v-model=
"value1"
:options=
"option1"
get-container=
"body"
/>
<van-dropdown-item
v-model=
"value2"
:options=
"option2"
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-menu>
<div
class=
"con-list"
@
touchmove=
"showIndex = null"
>
<van-cell-group
inset
...
...
@@ -32,15 +31,15 @@
<van-col
span=
"17"
>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
发起时间:
</van-col>
<van-col
span=
"15"
>
{{
item
.
t
ime
}}
</van-col>
<van-col
span=
"15"
>
{{
item
.
createT
ime
}}
</van-col>
</van-row>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
楼层:
</van-col>
<van-col
span=
"15"
>
{{
item
.
n
ame
}}
</van-col>
<van-col
span=
"15"
>
{{
item
.
floorN
ame
}}
</van-col>
</van-row>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
房间:
</van-col>
<van-col
span=
"15"
>
{{
item
.
n
ame
}}
</van-col>
<van-col
span=
"15"
>
{{
item
.
roomN
ame
}}
</van-col>
</van-row>
</van-col>
<van-col
span=
"7"
:style=
"
{'color':item.state == 1 ? '#0069e5':'#03b615'}">
...
...
@@ -93,44 +92,17 @@
return
{
text
:
"
固有风险列表
"
,
searchValue
:
""
,
value1
:
0
,
value2
:
'
a
'
,
option1
:
[
{
text
:
'
楼层
'
,
value
:
0
},
{
text
:
'
新款商品
'
,
value
:
1
},
{
text
:
'
活动商品
'
,
value
:
2
},
],
option2
:
[
{
text
:
'
房间
'
,
value
:
'
a
'
},
{
text
:
'
好评排序
'
,
value
:
'
b
'
},
{
text
:
'
销量排序
'
,
value
:
'
c
'
},
],
planId
:
0
,
value1
:
1
,
value2
:
1
,
option1
:
[],
option2
:
[],
isHaveNews
:
false
,
messageList
:
[
{
title
:
'
回显风险源名称
'
,
time
:
'
2022-12-12
'
,
name
:
'
Mr.周
'
,
state
:
1
}
],
riskLogList
:[
{
completedTime
:
'
审批通过
'
,
startTime
:
'
2022-12-12
'
,
approvalUserName
:
'
Mr.周
'
,
taskName
:
'
审批负责人
'
},
{
completedTime
:
'
审批通过
'
,
startTime
:
'
2022-12-12
'
,
approvalUserName
:
'
Mr.周
'
,
taskName
:
'
审批负责人
'
},
],
messageList
:
[],
riskLogList
:[],
Loop
:
""
,
// 定时器
showIndex
:
null
,
// 是否显示遮罩层,
active
:
0
,
active
:
1
,
form
:{
},
...
...
@@ -139,14 +111,29 @@
};
},
created
()
{
// this.postList();s
this
.
planId
=
this
.
$route
.
params
.
id
this
.
getRiskList
(
this
.
planId
);
// this.postList();
},
methods
:
{
changeData
(
arr
){
var
arrList
=
[]
arr
.
forEach
(
item
=>
{
arrList
.
push
(
{
text
:
item
.
name
,
value
:
item
.
id
}
)
})
return
arrList
},
performTasks
(){
this
.
$router
.
push
({
name
:
"
addInherent
"
,
params
:
{
title
:
'
新增
'
id
:
this
.
active
,
planId
:
this
.
planId
},
})
},
...
...
@@ -158,30 +145,87 @@
},
})
},
postList
(
select
=
""
)
{
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
,
});
let
formdata
=
new
FormData
();
formdata
.
append
(
"
select
"
,
select
);
postFun
(
this
.
tabs
[
this
.
active
][
'
api
'
],
formdata
)
.
then
((
res
)
=>
{
this
.
$toast
.
clear
();
this
.
messageList
=
res
.
data
||
res
.
rows
;
// 判断有无数据返回
if
(
this
.
messageList
.
length
==
0
)
{
this
.
isHaveNews
=
true
;
buildingList
(
id
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getFun
(
`/risk/plan/plan/building/list/
${
id
}
`
).
then
((
res
)
=>
{
this
.
riskLogList
=
res
.
data
||
res
.
rows
;
resolve
(
res
.
data
)
})
.
catch
(()
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
})
},
floorList
(
id
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getFun
(
`/risk/plan/floor/list/
${
id
}
`
).
then
((
res
)
=>
{
this
.
option1
=
this
.
changeData
(
res
.
data
)
resolve
(
res
.
data
)
})
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
})
},
roomList
(
id
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
getFun
(
`/risk/plan/room/list/
${
id
}
`
).
then
((
res
)
=>
{
this
.
option2
=
this
.
changeData
(
res
.
data
)
resolve
(
res
.
data
)
})
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
})
},
riskList
(
planId
,
buildingId
,
floorId
,
roomId
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
var
paramsJson
=
{}
if
(
floorId
||
roomId
){
paramsJson
=
{
floorId
,
roomId
}
})
.
catch
(()
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
}
else
{
paramsJson
=
{}
}
getFun
(
`/risk/plan/inherent/list/
${
planId
}
/
${
buildingId
}
`
,
paramsJson
).
then
((
res
)
=>
{
this
.
messageList
=
res
.
data
resolve
(
res
.
data
)
})
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
})
},
async
getRiskList
(
id
){
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
,
});
let
building
=
await
this
.
buildingList
(
id
)
let
floor
=
await
this
.
floorList
(
building
[
0
].
id
)
let
room
=
await
this
.
roomList
(
floor
[
0
].
id
)
let
risk
=
await
this
.
riskList
(
id
,
building
[
0
].
id
)
this
.
$toast
.
clear
();
},
async
tabList
(
value
){
let
floor
=
await
this
.
floorList
(
value
)
let
room
=
await
this
.
roomList
(
floor
[
0
].
id
)
let
risk
=
await
this
.
riskList
(
this
.
planId
,
value
)
},
async
changeFloor
(){
let
room
=
await
this
.
roomList
(
this
.
value1
)
let
risk
=
await
this
.
riskList
(
this
.
planId
,
this
.
active
,
this
.
value1
)
},
async
changeRoom
(){
let
risk
=
await
this
.
riskList
(
this
.
planId
,
this
.
active
,
this
.
value1
,
this
.
value2
)
},
onSearch
(
val
)
{
this
.
postList
(
this
.
searchValue
);
},
...
...
@@ -266,6 +310,7 @@
}
.con-list {
padding: 0;
min-height: 10rem;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
...
...
src/views/riskProject/add/taskList.vue
View file @
319bec6e
...
...
@@ -102,6 +102,9 @@
name=
"location"
label=
"任务开始时间"
input-align=
"right"
:formatter=
"()=>
{
return timestampToTimes(form.startTime)
}"
:rules="[{ required: true, message: '任务开始时间不能为空' }]"
/>
...
...
@@ -110,6 +113,9 @@
readonly
name=
"location"
label=
"任务结束时间"
:formatter=
"()=>
{
return timestampToTimes(form.endTime)
}"
input-align="right"
:rules="[{ required: true, message: '任务结束时间不能为空' }]"
/>
...
...
@@ -136,7 +142,7 @@
<div
class=
"step-wrap"
>
<van-row>
<van-col
span=
"24"
><div
class=
"info-title"
>
{{
item
.
startTime
}}
</div></van-col
><div
class=
"info-title"
>
{{
timestampToTimes
(
item
.
startTime
)
}}
</div></van-col
>
</van-row>
<van-row>
...
...
@@ -149,13 +155,13 @@
<van-col
span=
"7"
><span
class=
"field-title"
>
审批结果:
</span></van-col
>
<van-col
span=
"17"
>
{{
item
.
completedTi
me
}}
</van-col>
<van-col
span=
"17"
>
{{
item
.
taskNa
me
}}
</van-col>
</van-row>
<van-row>
<van-col
span=
"7"
><span
class=
"field-title"
>
岗位:
</span></van-col
>
<van-col
span=
"17"
>
{{
item
.
task
Name
}}
</van-col>
<van-col
span=
"17"
>
{{
item
.
task
Result
}}
</van-col>
</van-row>
<!--
<van-row>
<van-col
span=
"7"
...
...
@@ -265,7 +271,7 @@
this
.
$router
.
push
({
name
:
"
riskInherent
"
,
params
:
{
title
:
'
新增
'
id
:
this
.
messageList
.
id
},
})
},
...
...
@@ -286,11 +292,10 @@
});
getFun
(
`/risk/plan/details/
${
id
}
`
)
.
then
((
res
)
=>
{
console
.
log
(
'
%c [ res ]-309
'
,
'
font-size:13px; background:pink; color:#bf2c9f;
'
,
res
)
this
.
$toast
.
clear
();
this
.
messageList
=
res
.
data
||
res
.
rows
;
this
.
form
=
this
.
messageList
.
detailsDto
console
.
log
(
'
%c [ messageList ]-292
'
,
'
font-size:13px; background:pink; color:#bf2c9f;
'
,
this
.
messageList
)
this
.
riskLogList
=
this
.
messageList
.
approveListDtos
})
.
catch
(()
=>
{
this
.
$toast
.
clear
();
...
...
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