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
3e75edfd
Commit
3e75edfd
authored
Jul 06, 2023
by
wei
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ll
parent
b7e06f06
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
429 additions
and
355 deletions
+429
-355
src/router/index.js
src/router/index.js
+5
-0
src/views/riskProject/add/addInherent.vue
src/views/riskProject/add/addInherent.vue
+209
-345
src/views/riskProject/execution/index.vue
src/views/riskProject/execution/index.vue
+203
-0
src/views/saveWorkbench/index.vue
src/views/saveWorkbench/index.vue
+9
-8
vue.config.js
vue.config.js
+3
-2
No files found.
src/router/index.js
View file @
3e75edfd
...
@@ -171,6 +171,11 @@ const routes = [{
...
@@ -171,6 +171,11 @@ const routes = [{
name
:
'
risk-big-detail
'
,
name
:
'
risk-big-detail
'
,
component
:
()
=>
import
(
'
../views/riskProject/approve/riskBigDetail.vue
'
),
component
:
()
=>
import
(
'
../views/riskProject/approve/riskBigDetail.vue
'
),
},
},
{
//执行情况管理
path
:
'
/riskExecution
'
,
name
:
'
riskExecution
'
,
component
:
()
=>
import
(
'
../views/riskProject/execution/index.vue
'
),
},
]
]
const
router
=
new
VueRouter
({
const
router
=
new
VueRouter
({
...
...
src/views/riskProject/add/addInherent.vue
View file @
3e75edfd
<
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
required
clickable
clickable
...
@@ -67,72 +26,32 @@
...
@@ -67,72 +26,32 @@
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]"
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]"
/> -->
/> -->
<van-field
<van-field
v-model=
"form.name"
required
name=
"name"
label=
"风险源名称"
placeholder=
"请选择"
v-model=
"form.name"
@
click=
"seletFactor('factor')"
:rules=
"[
{ required: true, message: '风险源名称不能为空' }]" />
required
<van-field
v-model=
"form.factor"
required
name=
"factor"
label=
"风险因素"
placeholder=
"请选择"
name=
"name"
@
click=
"seletFactor('factor')"
:rules=
"[
{ required: true, message: '风险因素不能为空' }]" />
label=
"风险源名称"
placeholder=
"请选择"
@
click=
"seletFactor('factor')"
: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
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
v-model=
"form.level"
required
name=
"level"
label=
"风险等级"
placeholder=
"请选择"
readonly
@
click=
"seletGrade('level')"
:rules=
"[
{ required: true, message: '风险等级不能为空' }]" />
v-model=
"form.level"
required
name=
"level"
label=
"风险等级"
placeholder=
"请选择"
@
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
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;
...
@@ -140,49 +59,28 @@
...
@@ -140,49 +59,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;
...
@@ -190,49 +88,28 @@
...
@@ -190,49 +88,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;
...
@@ -240,49 +117,28 @@
...
@@ -240,49 +117,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;
...
@@ -290,23 +146,17 @@
...
@@ -290,23 +146,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
<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
...
@@ -321,35 +171,20 @@
...
@@ -321,35 +171,20 @@
: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"
:columns=
"columnsSource"
@
confirm=
"onConSource"
@
cancel=
"showSource = false"
/>
</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>
...
@@ -357,7 +192,7 @@
...
@@ -357,7 +192,7 @@
<
script
>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
import
LHeader
from
"
@/components/header.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,
...
@@ -406,9 +241,9 @@ export default {
...
@@ -406,9 +241,9 @@ export default {
taskId
:
""
,
taskId
:
""
,
text
:
"
添加固有风险
"
,
text
:
"
添加固有风险
"
,
id
:
""
,
id
:
""
,
isTimely
:
1
,
isTimely
:
1
,
active
:
0
,
active
:
0
,
form
:{
form
:
{
},
},
projectId
:
""
,
// 所属工程
projectId
:
""
,
// 所属工程
...
@@ -423,10 +258,10 @@ export default {
...
@@ -423,10 +258,10 @@ export default {
columnsFactor
:
[],
columnsFactor
:
[],
messageList
:
[
messageList
:
[
{
{
title
:
'
回显风险源名称
'
,
title
:
'
回显风险源名称
'
,
time
:
'
2022-12-12
'
,
time
:
'
2022-12-12
'
,
name
:
'
Mr.周
'
,
name
:
'
Mr.周
'
,
state
:
1
state
:
1
}
}
],
],
source
:
""
,
//风险源
source
:
""
,
//风险源
...
@@ -441,7 +276,7 @@ export default {
...
@@ -441,7 +276,7 @@ export default {
columnsSetRank
:
[
"
矩阵式定级
"
,
"
其他定级方式
"
],
columnsSetRank
:
[
"
矩阵式定级
"
,
"
其他定级方式
"
],
riskRank
:
""
,
// 风险等级
riskRank
:
""
,
// 风险等级
showRiskRank
:
false
,
showRiskRank
:
false
,
columnsRiskRank
:
[
"
重大风险
"
,
"
较大风险
"
,
"
一般风险
"
,
"
较小风险
"
],
columnsRiskRank
:
[
"
重大风险
"
,
"
较大风险
"
,
"
一般风险
"
,
"
较小风险
"
],
showSetRankMode
:
false
,
// 是否显示定级方式
showSetRankMode
:
false
,
// 是否显示定级方式
setRankMode
:
""
,
// 定级方式文字
setRankMode
:
""
,
// 定级方式文字
setRankModeImg
:
[],
// 定级方式图片
setRankModeImg
:
[],
// 定级方式图片
...
@@ -472,103 +307,128 @@ export default {
...
@@ -472,103 +307,128 @@ export default {
};
};
},
},
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
.
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
=
'
测试项目
'
},
},
methods
:
{
methods
:
{
seletFloor
(
name
){
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
{
getFun
(
`/risk/plan/dict/data/list?dictType=risk_plan_factor`
)
name
:
'
人的因素
'
,
.
then
(
res
=>
{
},
console
.
log
(
res
.
data
)
{
const
arr
=
[]
name
:
'
物的因素
'
,
res
.
data
.
forEach
(
item
=>
{
},
arr
.
push
({
name
:
item
.
dictLabel
})
{
})
name
:
'
环境因素
'
,
this
.
columnsTrouble
=
arr
},
})
{
.
catch
(()
=>
{
name
:
'
管理因素
'
,
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
},
});
]
// this.columnsTrouble = [
},
// {
seletType
(
name
){
// name: '人的因素',
this
.
showTrouble
=
true
// },
this
.
riskName
=
name
// {
this
.
columnsTrouble
=
[
// name: '物的因素',
{
// },
name
:
'
物体打击
'
,
// {
},
// name: '环境因素',
{
// },
name
:
'
车辆伤害
'
,
// {
},
// name: '管理因素',
{
// },
name
:
'
起重伤害
'
,
// ]
},
},
{
//准事故类型
name
:
'
机械伤害
'
,
seletType
(
name
)
{
},
this
.
showTrouble
=
true
]
this
.
riskName
=
name
getFun
(
`/risk/plan/dict/data/list?dictType=risk_plan_type`
)
.
then
(
res
=>
{
const
arr
=
[]
res
.
data
.
forEach
(
item
=>
{
arr
.
push
({
name
:
item
.
dictLabel
})
})
this
.
columnsTrouble
=
arr
})
.
catch
(()
=>
{
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
// this.columnsTrouble = [
// {
// name: '物体打击',
// },
// {
// name: '车辆伤害',
// },
// {
// name: '起重伤害',
// },
// {
// name: '机械伤害',
// },
// ]
},
},
seletGrade
(
name
){
seletGrade
(
name
)
{
this
.
showTrouble
=
true
this
.
showTrouble
=
true
this
.
riskName
=
name
this
.
riskName
=
name
this
.
columnsTrouble
=
[
this
.
columnsTrouble
=
[
{
{
name
:
'
重大风险
'
,
name
:
'
重大风险
'
,
},
},
{
{
name
:
'
较大风险
'
,
name
:
'
较大风险
'
,
},
},
{
{
name
:
'
一般风险
'
,
name
:
'
一般风险
'
,
},
},
{
{
name
:
'
较小风险
'
,
name
:
'
较小风险
'
,
},
},
]
]
},
},
performTasks
(){
performTasks
()
{
console
.
log
(
'
1233213 :>>
'
,
1233213
);
console
.
log
(
'
1233213 :>>
'
,
1233213
);
},
},
// 点击预览图
// 点击预览图
...
@@ -608,33 +468,33 @@ export default {
...
@@ -608,33 +468,33 @@ 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
"
;
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
);
}
}
});
});
...
@@ -797,15 +657,15 @@ export default {
...
@@ -797,15 +657,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
;
},
},
},
},
...
@@ -825,6 +685,7 @@ export default {
...
@@ -825,6 +685,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;
...
@@ -835,13 +696,16 @@ export default {
...
@@ -835,13 +696,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;
...
@@ -850,5 +714,5 @@ export default {
...
@@ -850,5 +714,5 @@ export default {
}
}
}
}
}
}
}
}
</
style
>
</
style
>
src/views/riskProject/execution/index.vue
0 → 100644
View file @
3e75edfd
<
template
>
<!-- 提交 -->
<div>
<van-sticky
offset-top=
"0"
>
<LHeader
:text=
"text"
></LHeader>
</van-sticky>
<van-tabs
v-model=
"active"
@
change=
"postList"
color=
"#2980f7"
animated
:sticky=
"true"
>
<van-tab
v-for=
"(item) in tabs"
:key=
"item.key"
:title=
"item.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
.
leaderUserName
}}
</van-col>
</van-row>
<van-row
gutter=
""
>
<van-col
span=
"9"
>
发起时间:
</van-col>
<van-col
span=
"15"
>
{{
timestampToTimes
(
item
.
startTime
)
}}
</van-col>
</van-row>
</van-col>
<van-col
span=
"7"
>
<van-row
:style=
"
{ 'color': (active == 0) ? '#f79648' : (active == 1) ? '#0069e5' : '#03b615' }">
{{
item
.
state
}}
</van-row>
<van-row>
<van-button
type=
"info"
size=
"mini"
@
click=
"lookdetail(index, item)"
>
查看详情
</van-button>
</van-row>
</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>
<!-- 暂无数据 -->
<!--
{{
messageList
}}
-->
</van-tab>
</van-tabs>
<!-- 长按显示遮罩层 -->
<van-overlay
:show=
"showIndex"
>
<div
class=
"wrapper"
@
click.stop=
"showIndex = false"
>
</div>
</van-overlay>
</div>
</
template
>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
import
{
timestampToTime
,
generateId
}
from
"
@/utils/format
"
;
export
default
{
name
:
'
risk-execution
'
,
components
:
{
LHeader
,
},
data
()
{
return
{
text
:
"
执行情况管理
"
,
searchValue
:
""
,
isHaveNews
:
false
,
messageList
:
[
{
title
:
'
XX项目评估任务单
'
,
time
:
'
2022-12-12
'
,
name
:
'
Mr.周
'
,
state
:
1
}
],
Loop
:
""
,
// 定时器
showIndex
:
false
,
// 是否显示遮罩层,
active
:
0
,
// 状态 wait 待评估,running 执行中,finish 已完成
tabs
:
[
{
title
:
"
待评估
"
,
key
:
'
wait
'
},
{
title
:
"
执行中
"
,
key
:
'
running
'
},
{
title
:
"
已完成
"
,
key
:
'
finish
'
},
],
};
},
created
()
{
this
.
postList
(
0
);
},
methods
:
{
timestampToTimes
(
time
)
{
return
timestampToTime
(
new
Date
(
time
),
"
DT2
"
,
true
)
},
handadd
()
{
this
.
$router
.
push
({
name
:
"
riskAdd
"
,
params
:
{
title
:
'
新增
'
},
})
},
postList
(
name
,
title
)
{
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
,
});
let
url
=
`/risk/plan/allocation/list?status=wait`
if
(
name
==
0
)
{
url
=
`/risk/plan/allocation/list?status=wait`
}
else
if
(
name
==
1
)
{
url
=
`/risk/plan/allocation/list?status=running`
}
else
{
url
=
`/risk/plan/allocation/list?status=finish`
}
getFun
(
url
).
then
(
res
=>
{
this
.
$toast
.
clear
();
this
.
messageList
=
res
.
data
||
res
.
rows
;
// 判断有无数据返回
if
(
this
.
messageList
.
length
==
0
)
{
this
.
isHaveNews
=
true
;
}
})
.
catch
(()
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
onSearch
(
val
)
{
this
.
postList
(
this
.
searchValue
);
},
//查看详情
lookdetail
(
index
,
item
)
{
this
.
showIndex
=
true
},
// 详情
goDetail
(
data
)
{
this
.
$router
.
push
({
name
:
"
risk-big-detail
"
,
params
:
{
id
:
data
.
businessId
||
data
.
id
,
},
});
this
.
showIndex
=
null
;
},
// 确认
goConfirm
(
data
)
{
this
.
$router
.
push
({
name
:
"
risk-affirm
"
,
params
:
{
data
:
data
,
},
});
this
.
showIndex
=
null
;
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
#app {
font-family: "";
color: #2c3e50;
}
.con-list {
padding: 0;
background-color: #f0f1f5;
position: relative;
.van-cell-group--inset {
margin: 0;
margin-bottom: 0.26667rem;
padding: 0.25rem;
font-size: 0.4rem;
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;
}
}
}
</
style
>
\ No newline at end of file
src/views/saveWorkbench/index.vue
View file @
3e75edfd
...
@@ -16,6 +16,7 @@
...
@@ -16,6 +16,7 @@
</
template
>
</
template
>
</van-search>
-->
</van-search>
-->
<div
class=
"con"
>
<div
class=
"con"
>
<van-cell-group
inset
v-if=
"finalRiskList.length > 0"
>
<van-cell-group
inset
v-if=
"finalRiskList.length > 0"
>
<van-cell
value=
"风险评估管理"
/>
<van-cell
value=
"风险评估管理"
/>
<van-grid
:column-num=
"4"
>
<van-grid
:column-num=
"4"
>
...
@@ -40,18 +41,18 @@ export default {
...
@@ -40,18 +41,18 @@ export default {
return
{
return
{
value
:
''
,
value
:
''
,
riskList
:
[
riskList
:
[
// {
// key: "1",
// path: "/riskAdd",
// imgUrl: require("@/assets/workbench/risk-report.png"),
// text: "任务创建",
// },
{
{
key
:
"
2
"
,
key
:
"
1
"
,
// path: "/danger",
// path: "/danger",
path
:
"
/riskManage
"
,
path
:
"
/riskManage
"
,
imgUrl
:
require
(
"
@/assets/workbench/risk-report.png
"
),
imgUrl
:
require
(
"
@/assets/workbench/risk-report.png
"
),
text
:
"
任务执行情况
"
,
text
:
"
任务管理
"
,
},
{
key
:
"
2
"
,
path
:
"
/riskExecution
"
,
imgUrl
:
require
(
"
@/assets/workbench/risk-report.png
"
),
text
:
"
执行情况管理
"
,
},
},
{
{
key
:
"
3
"
,
key
:
"
3
"
,
...
...
vue.config.js
View file @
3e75edfd
...
@@ -8,8 +8,9 @@ module.exports = {
...
@@ -8,8 +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/', //这里是昊哥的地址
ws
:
true
,
ws
:
true
,
changOrigin
:
true
,
//允许跨域
changOrigin
:
true
,
//允许跨域
// logLevel: 'debug', // 显示代理调试信息
// logLevel: 'debug', // 显示代理调试信息
...
...
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