Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
B
BCDH-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
首开风险隐患双控平台
BCDH-APP
Commits
9f673067
Commit
9f673067
authored
Oct 26, 2021
by
13841799530
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'develop' of
http://git.censoft.com.cn/BCDH-HSE/bcdh-app
into develop
parents
b07e6be3
dbd40972
Changes
17
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
1382 additions
and
76 deletions
+1382
-76
src/main.js
src/main.js
+2
-2
src/router/index.js
src/router/index.js
+65
-2
src/views/danger/addDanger/addDanger.vue
src/views/danger/addDanger/addDanger.vue
+255
-0
src/views/danger/addDanger/index.vue
src/views/danger/addDanger/index.vue
+46
-0
src/views/danger/addDanger/waitSubmit.vue
src/views/danger/addDanger/waitSubmit.vue
+134
-0
src/views/danger/changeDanger/changeDanger.vue
src/views/danger/changeDanger/changeDanger.vue
+111
-0
src/views/danger/changeDanger/changeInfo.vue
src/views/danger/changeDanger/changeInfo.vue
+76
-0
src/views/danger/changeDanger/index.vue
src/views/danger/changeDanger/index.vue
+43
-0
src/views/danger/confirmDanger/confirmDanger.vue
src/views/danger/confirmDanger/confirmDanger.vue
+195
-0
src/views/danger/confirmDanger/index.vue
src/views/danger/confirmDanger/index.vue
+46
-0
src/views/danger/confirmDanger/waitConList.vue
src/views/danger/confirmDanger/waitConList.vue
+110
-0
src/views/danger/index.vue
src/views/danger/index.vue
+0
-25
src/views/danger/reviewDanger/index.vue
src/views/danger/reviewDanger/index.vue
+46
-0
src/views/danger/reviewDanger/reviewAdd.vue
src/views/danger/reviewDanger/reviewAdd.vue
+103
-0
src/views/danger/reviewDanger/waitReview.vue
src/views/danger/reviewDanger/waitReview.vue
+111
-0
src/views/messageCenter/messageNews/index.vue
src/views/messageCenter/messageNews/index.vue
+35
-46
src/views/saveWorkbench/index.vue
src/views/saveWorkbench/index.vue
+4
-1
No files found.
src/main.js
View file @
9f673067
...
...
@@ -15,12 +15,12 @@ import store from './store'
import
'
./permission
'
import
Cookies
from
'
js-cookie
'
import
{
prefix
}
from
'
@/common/js/utils
'
import
{
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
}
from
'
vant
'
import
{
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
}
from
'
vant
'
import
'
lib-flexible/flexible
'
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
(
Grid
).
use
(
GridItem
).
use
(
Skeleton
).
use
(
Col
).
use
(
Row
).
use
(
VanImage
).
use
(
Badge
).
use
(
NoticeBar
)
.
use
(
Grid
).
use
(
GridItem
).
use
(
Skeleton
).
use
(
Col
).
use
(
Row
).
use
(
VanImage
).
use
(
Badge
).
use
(
NoticeBar
)
.
use
(
DatetimePicker
)
Vue
.
config
.
productionTip
=
false
new
Vue
({
router
,
...
...
src/router/index.js
View file @
9f673067
...
...
@@ -253,7 +253,6 @@ const routes = [
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/my
'
),
},
// 我的地盘页面
{
path
:
'
/danger
'
,
name
:
'
danger
'
,
...
...
@@ -261,9 +260,73 @@ const routes = [
title
:
'
隐患上报
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger
'
),
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/addDanger
'
),
},
{
path
:
'
/add-danger
'
,
name
:
'
add-danger
'
,
meta
:
{
title
:
'
新增隐患
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/addDanger/addDanger
'
),
},
{
path
:
'
/confirm-danger
'
,
name
:
'
confirm-danger
'
,
meta
:
{
title
:
'
隐患确认
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/confirmDanger
'
),
},
{
path
:
'
/affirm-danger
'
,
name
:
'
affirm-danger
'
,
meta
:
{
title
:
'
隐患确认表单
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/confirmDanger/confirmDanger
'
),
},
{
path
:
'
/change-danger
'
,
name
:
'
change-danger
'
,
meta
:
{
title
:
'
隐患整改
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/changeDanger
'
),
},
{
path
:
'
/change-info
'
,
name
:
'
change-info
'
,
meta
:
{
title
:
'
隐患整改表单
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/changeDanger/changeInfo
'
),
},
{
path
:
'
/review-danger
'
,
name
:
'
review-danger
'
,
meta
:
{
title
:
'
隐患复查
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/reviewDanger
'
),
},
{
path
:
'
/review-add
'
,
name
:
'
review-add
'
,
meta
:
{
title
:
'
隐患复查新增
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/reviewDanger/reviewAdd
'
),
},
]
const
router
=
new
VueRouter
({
...
...
src/views/danger/addDanger/addDanger.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-form
@
submit=
"onSubmit"
:show-error-message=
"false"
:scroll-to-error=
"true"
>
<van-field
v-model=
"gongcheng"
name=
"所属工程名称"
label=
"所属工程名称"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '所属工程名称不能为空' }]"
/>
<van-field
v-model=
"fanwei"
name=
"适用范围"
label=
"适用范围"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '使用范围不能为空' }]"
/>
<van-field
v-model=
"yinhuanleixing"
name=
"隐患类型"
label=
"隐患类型"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '隐患类型不能为空' }]"
/>
<van-field
v-model=
"yinhuanxiangmu"
name=
"隐患项目名称"
label=
"隐患项目名称"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '隐患项目名称不能为空' }]"
/>
<van-field
v-model=
"yinhuanbianhao"
name=
"隐患项目编号"
label=
"隐患项目编号"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '隐患项目编号不能为空' }]"
/>
<van-field
v-model=
"yinhuanjibie"
name=
"隐患级别"
label=
"隐患级别"
placeholder=
"请选择"
:rules=
"[
{ required: true, message: '隐患级别不能为空' }]"
/>
<van-field
readonly
clickable
name=
"隐患发现时间"
:value=
"timeval"
label=
"隐患发现时间"
placeholder=
"点击选择日期"
@
click=
"showCalendar = true"
:rules=
"[
{ required: true, message: '隐患发现时间不能为空' }]"
/>
<van-popup
v-model=
"showCalendar"
position=
"bottom"
>
<van-datetime-picker
type=
"datetime"
@
confirm=
"onConfirmrili"
@
cancel=
"showCalendar = false"
/>
</van-popup>
<van-field
readonly
clickable
name=
"风险源"
:value=
"fengxiangval"
label=
"风险源"
placeholder=
"请选择"
@
click=
"showPicker = true"
:rules=
"[
{ required: true, message: '风险源不能为空' }]"
/>
<van-popup
v-model=
"showPicker"
position=
"bottom"
>
<van-picker
show-toolbar
:columns=
"columns"
@
confirm=
"onConfirmfengxian"
@
cancel=
"showPicker = false"
/>
</van-popup>
<van-field
v-model=
"fenxianmiaosu"
rows=
"1"
autosize
label=
" "
type=
"textarea"
placeholder=
"请输入"
/>
<van-field
v-model=
"jianchabuwei"
name=
"检查部位"
label=
"检查部位"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '检查部位不能为空' }]"
/>
<van-field
v-model=
"yinhuanmiaosu"
rows=
"3"
label=
"隐患描述"
name=
"隐患描述"
type=
"textarea"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '隐患描述不能为空' }]"
/>
<van-field
name=
"uploader"
label=
"隐患照片"
:rules=
"[
{ required: true, message: '请上传图像' }]"
>
<template
#input
>
<van-uploader
v-model=
"uploaderImg"
/>
</
template
>
</van-field>
<van-field
name=
"uploader2"
label=
"隐患视频"
>
<
template
#input
>
<van-uploader
v-model=
"uploaderVideo"
/>
</
template
>
</van-field>
<van-field
readonly
clickable
name=
"隐患到期时间"
:value=
"daoqitimeval"
label=
"隐患到期时间"
placeholder=
"点击选择日期"
@
click=
"daoqishowCalendar = true"
/>
<van-popup
v-model=
"daoqishowCalendar"
position=
"bottom"
>
<van-datetime-picker
type=
"datetime"
@
confirm=
"onConfirmdaoqi"
@
cancel=
"daoqishowCalendar = false"
/>
</van-popup>
<van-field
readonly
clickable
name=
"隐患整改人"
:value=
"zhenggairen"
label=
"隐患整改人"
placeholder=
"请选择"
@
click=
"showPickerzhenggai = true"
/>
<van-popup
v-model=
"showPickerzhenggai"
position=
"bottom"
>
<van-picker
show-toolbar
:columns=
"columnszhenggai"
@
confirm=
"onConfirmzhegngai"
@
cancel=
"showPickerzhenggai = false"
/>
</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>
</div>
</template>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
export
default
{
components
:
{
LHeader
},
data
()
{
return
{
text
:
"
新增隐患
"
,
gongcheng
:
""
,
fanwei
:
""
,
yinhuanleixing
:
""
,
yinhuanxiangmu
:
""
,
yinhuanbianhao
:
""
,
yinhuanjibie
:
""
,
yinhuanfaxiantime
:
""
,
timeval
:
""
,
showCalendar
:
false
,
fengxiangval
:
""
,
columns
:
[
"
人的因素
"
,
"
物的因素
"
,
"
环境因素
"
,
"
管理因素
"
],
showPicker
:
false
,
fenxianmiaosu
:
""
,
jianchabuwei
:
""
,
yinhuanmiaosu
:
""
,
uploaderImg
:
[],
//图像上传
uploaderVideo
:
[],
//视频上传
daoqitimeval
:
""
,
daoqishowCalendar
:
false
,
zhenggairen
:
""
,
showPickerzhenggai
:
false
,
columnszhenggai
:
[
"
张三
"
,
"
李四
"
,
"
王五
"
]
};
},
mounted
()
{},
methods
:
{
onSubmit
(
values
)
{
console
.
log
(
"
submit
"
,
values
);
},
onConfirmrili
(
date
)
{
this
.
timeval
=
this
.
format
(
date
)
this
.
showCalendar
=
false
;
},
onConfirmdaoqi
(
date
)
{
this
.
daoqitimeval
=
this
.
format
(
date
)
// this.daoqitimeval = `${date.getMonth() + 1}/${date.getDate()}`;
this
.
daoqishowCalendar
=
false
;
},
onConfirmfengxian
(
value
)
{
this
.
fengxiangval
=
value
;
this
.
showPicker
=
false
;
},
onConfirmzhegngai
(
value
)
{
this
.
zhenggairen
=
value
;
this
.
showPickerzhenggai
=
false
;
},
cancel
()
{
this
.
$router
.
go
(
-
1
);
},
format
(
value
){
let
myDate
if
(
value
.
getMinutes
()
<=
9
)
{
myDate
=
value
.
getFullYear
()
+
'
-
'
+
(
value
.
getMonth
()
+
1
)
+
'
-
'
+
value
.
getDate
()
+
'
'
+
value
.
getHours
()
+
'
:
'
+
'
0
'
+
value
.
getMinutes
();
}
else
{
myDate
=
value
.
getFullYear
()
+
'
-
'
+
(
value
.
getMonth
()
+
1
)
+
'
-
'
+
value
.
getDate
()
+
'
'
+
value
.
getHours
()
+
'
:
'
+
value
.
getMinutes
();
};
return
myDate
}
}
};
</
script
>
<
style
scoped
>
/* @import url(); 引入css类 */
</
style
>
src/views/danger/addDanger/index.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-search
v-model=
"searchValue"
placeholder=
"搜索"
@
search=
"onSearch"
/>
<van-tabs
v-model=
"active"
color=
"#247df7"
title-inactive-colo=
"#d0d1d1"
title-active-color=
"#000000"
>
<van-tab
title=
"待提交"
>
<wait-submit></wait-submit>
</van-tab>
<van-tab
title=
"已提交"
>
已提交
</van-tab>
<van-tab
title=
"已退回"
>
已退回
</van-tab>
</van-tabs>
</div>
</
template
>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
import
WaitSubmit
from
"
./waitSubmit.vue
"
;
export
default
{
components
:
{
LHeader
:
LHeader
,
WaitSubmit
},
data
()
{
return
{
text
:
"
隐患上报
"
,
active
:
"
1
"
,
searchValue
:
""
};
},
mounted
()
{},
methods
:
{
onSearch
(
val
)
{
console
.
log
(
val
);
}
}
};
</
script
>
<
style
scoped
>
/* @import url(); 引入css类 */
</
style
>
src/views/danger/addDanger/waitSubmit.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<!-- 内容列表 -->
<div
class=
"con-list"
>
<van-cell-group
inset
v-for=
"(item, index) in messageList"
:key=
"index"
@
click=
"read(item)"
@
touchstart=
"touchstart(index, item)"
@
touchend.prevent=
"touchend(index)"
>
<div
class=
"messgae-title"
>
{{
item
.
noticeTitle
}}
</div>
<div
class=
"message-content"
>
{{
item
.
upcomingUserName
}}
,您好!您有一条来自
{{
item
.
createUserName
}}
的
{{
item
.
noticeTitle
}}
相关的待处理任务...
</div>
<!-- 长按显示遮罩层 -->
<van-overlay
:show=
"showIndex == index"
>
<div
class=
"wrapper"
@
click
.
stop
>
<van-button
round
type=
"primary"
@
touchstart=
"goDetail(item)"
>
详情
</van-button
>
<van-button
round
type=
"info"
@
touchstart=
"goDelete(item)"
>
修改
</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
<!-- 加号 -->
<div
class=
"add"
@
click=
"goAdd"
>
+
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
messageList
:
[
{
noticeTitle
:
"
隐患上报消息
"
,
upcomingUserName
:
"
张某某
"
,
createUserName
:
"
李某某
"
,
noticeTitle
:
"
重要任务
"
}
],
Loop
:
""
,
// 定时器
showIndex
:
null
// 是否显示遮罩层
};
},
mounted
()
{},
methods
:
{
goAdd
(){
this
.
$router
.
push
(
'
/add-danger
'
);
},
read
(){},
touchstart
(
index
,
item
)
{
clearTimeout
(
this
.
Loop
);
//再次清空延时器,防止重复注册定时器
if
(
this
.
showIndex
!=
null
){
this
.
showIndex
=
null
;
return
}
this
.
Loop
=
setTimeout
(()
=>
{
this
.
showIndex
=
index
},
300
);
// 这里的1000是指需要长按的时间,单位为ms
},
touchend
(
index
)
{
// 这个方法主要是用来将每次手指移出之后将计时器清零
clearInterval
(
this
.
Loop
);
},
// 详情
goDetail
(
data
){
console
.
log
(
data
);
this
.
showIndex
=
null
},
// 删除
goDelete
(
data
){
console
.
log
(
data
);
this
.
showIndex
=
null
},
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
// 内容
.con-list {
padding: 10px 10px 0;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.message-content {
margin-top: 10px;
}
.van-overlay{
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
.add{
width: 1.333333rem;
height: 1.333333rem;
color: white;
font-weight: bold;
font-size: 1.48rem;
background-color: #02a7f0;
text-align: center;
line-height: 1.333333rem;
border-radius: 50%;
position: fixed;
right: .533333rem;
bottom: 1.866667rem;
}
</
style
>
src/views/danger/changeDanger/changeDanger.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<!-- 内容列表 -->
<div
class=
"con-list"
>
<van-cell-group
inset
v-for=
"(item, index) in messageList"
:key=
"index"
@
click=
"read(item)"
@
touchstart=
"touchstart(index, item)"
@
touchend.prevent=
"touchend(index)"
>
<div
class=
"messgae-title"
>
{{
item
.
noticeTitle
}}
</div>
<div
class=
"message-content"
>
{{
item
.
upcomingUserName
}}
,您好!您有一条来自
{{
item
.
createUserName
}}
的
{{
item
.
noticeTitle
}}
相关的待处理任务...
</div>
<!-- 长按显示遮罩层 -->
<van-overlay
:show=
"showIndex == index"
>
<div
class=
"wrapper"
@
click
.
stop
>
<van-button
round
type=
"primary"
@
touchstart=
"goDetail(item)"
>
详情
</van-button
>
<van-button
round
type=
"info"
@
touchstart=
"goConfirm(item)"
>
整改
</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
messageList
:
[
{
noticeTitle
:
"
隐患上报消息
"
,
upcomingUserName
:
"
张某某
"
,
createUserName
:
"
李某某
"
,
noticeTitle
:
"
重要任务
"
}
],
Loop
:
""
,
// 定时器
showIndex
:
null
// 是否显示遮罩层
};
},
mounted
()
{},
methods
:
{
read
()
{},
touchstart
(
index
,
item
)
{
clearTimeout
(
this
.
Loop
);
//再次清空延时器,防止重复注册定时器
if
(
this
.
showIndex
!=
null
){
this
.
showIndex
=
null
;
return
}
this
.
Loop
=
setTimeout
(()
=>
{
this
.
showIndex
=
index
;
},
300
);
// 这里的1000是指需要长按的时间,单位为ms
},
touchend
(
index
)
{
// 这个方法主要是用来将每次手指移出之后将计时器清零
clearInterval
(
this
.
Loop
);
},
// 详情
goDetail
(
data
)
{
console
.
log
(
data
);
this
.
showIndex
=
null
;
},
// 确认
goConfirm
(
data
)
{
console
.
log
(
data
);
this
.
$router
.
push
(
"
/change-info
"
);
this
.
showIndex
=
null
;
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.message-content {
margin-top: 10px;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
</
style
>
src/views/danger/changeDanger/changeInfo.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-form
@
submit=
"onSubmit"
:show-error-message=
"false"
:scroll-to-error=
"true"
>
<van-field
v-model=
"value"
label=
"隐患整改描述"
name=
"隐患整改描述"
rows=
"3"
type=
"textarea"
placeholder=
"请输入"
:rules=
"[
{ required: true, message: '隐患整改详情描述不能为空' }]"
/>
<van-field
name=
"uploader"
label=
"整改照片"
:rules=
"[
{ required: true, message: '请上传图像' }]"
>
<template
#input
>
<van-uploader
v-model=
"uploaderImg"
/>
</
template
>
</van-field>
<van-field
name=
"uploader2"
label=
"整改视频"
>
<
template
#input
>
<van-uploader
v-model=
"uploaderVideo"
/>
</
template
>
</van-field>
<div
style=
"margin: 16px;"
>
<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>
</div>
</template>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
export
default
{
components
:
{
LHeader
},
data
()
{
return
{
text
:
"
隐患确认
"
,
value
:
""
,
uploaderImg
:
[],
//图像上传
uploaderVideo
:
[]
//视频上传
};
},
mounted
()
{},
methods
:
{
onSubmit
(
values
)
{
console
.
log
(
"
submit
"
,
values
);
},
cancel
()
{
this
.
$router
.
go
(
-
1
);
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
</
style
>
src/views/danger/changeDanger/index.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-search
v-model=
"searchValue"
placeholder=
"搜索"
@
search=
"onSearch"
/>
<van-tabs
v-model=
"active"
color=
"#247df7"
title-inactive-colo=
"#d0d1d1"
title-active-color=
"#000000"
>
<van-tab
title=
"隐患整改"
>
<change-danger></change-danger>
</van-tab>
</van-tabs>
</div>
</
template
>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
import
changeDanger
from
"
./changeDanger.vue
"
;
export
default
{
components
:
{
LHeader
,
changeDanger
},
data
()
{
return
{
text
:
"
隐患整改
"
,
active
:
"
1
"
,
searchValue
:
""
};
},
mounted
()
{},
methods
:
{
onSearch
(
val
)
{
console
.
log
(
val
);
}
}
};
</
script
>
<
style
scoped
>
/* @import url(); 引入css类 */
</
style
>
src/views/danger/confirmDanger/confirmDanger.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-form
@
submit=
"onSubmit"
:show-error-message=
"false"
:scroll-to-error=
"true"
>
<van-field
name=
"radio"
label=
"隐患确认信息"
>
<template
#input
>
<van-radio-group
v-model=
"radio"
direction=
"horizontal"
@
change=
"selectResult"
>
<van-radio
name=
"1"
>
同意
</van-radio>
<van-radio
name=
"2"
>
退回
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<!-- 同意时的选项 -->
<div
class=
"agree"
v-if=
"radio == 1"
>
<van-field
readonly
clickable
name=
"整改截止时间"
:value=
"value"
label=
"整改截止时间"
placeholder=
"点击选择日期"
@
click=
"showCalendar = true"
:rules=
"[{ required: true, message: '请选择日期' }]"
/>
<van-popup
v-model=
"showCalendar"
position=
"bottom"
>
<van-datetime-picker
type=
"datetime"
@
confirm=
"onConfirm"
@
cancel=
"showCalendar = false"
/>
</van-popup>
<van-field
readonly
clickable
name=
"隐患整改人"
:value=
"valueZhenggai"
label=
"隐患整改人"
placeholder=
"请选择"
@
click=
"showPickerZhenggai = true"
:rules=
"[{ required: true, message: '请选择隐患整改人' }]"
/>
<van-popup
v-model=
"showPickerZhenggai"
position=
"bottom"
>
<van-picker
show-toolbar
:columns=
"columnsZhenggai"
@
confirm=
"onConfirmZhenggai"
@
cancel=
"showPickerZhenggai = false"
/>
</van-popup>
<van-field
readonly
clickable
name=
"隐患复查人"
:value=
"valueFucha"
label=
"隐患复查人"
placeholder=
"请选择"
@
click=
"showPickerFucha = true"
:rules=
"[{ required: true, message: '请选择隐患复查人' }]"
/>
<van-popup
v-model=
"showPickerFucha"
position=
"bottom"
>
<van-picker
show-toolbar
:columns=
"columnsFucha"
@
confirm=
"onConfirmFucha"
@
cancel=
"showPickerFucha = false"
/>
</van-popup>
<van-field
readonly
clickable
name=
"意见"
:value=
"valueIdea"
label=
"意见"
placeholder=
"请选择"
@
click=
"showPickerIdea = true"
:rules=
"[{ required: true, message: '请选择意见' }]"
/>
<van-popup
v-model=
"showPickerIdea"
position=
"bottom"
>
<van-picker
show-toolbar
:columns=
"columnsIdea"
@
confirm=
"onConfirmIdea"
@
cancel=
"showPickerIdea = false"
/>
</van-popup>
</div>
<!-- 退回是的选项 -->
<div
class=
"disagree"
v-else
>
<van-field
v-model=
"returnReason"
label=
"退回原因"
name =
"退回原因"
rows=
"3"
type=
"textarea"
placeholder=
"请输入"
:rules=
"[{ required: true, message: '退回原因不能为空' }]"
/>
</div>
<div
style=
"margin: 16px;"
>
<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>
</div>
</template>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
export
default
{
components
:
{
LHeader
},
data
()
{
return
{
radio
:
"
1
"
,
text
:
"
隐患确认
"
,
value
:
""
,
showCalendar
:
false
,
valueZhenggai
:
""
,
columnsZhenggai
:
[
"
张三
"
,
"
李四
"
,
"
王五
"
],
showPickerZhenggai
:
false
,
valueFucha
:
""
,
columnsFucha
:
[
"
张三1
"
,
"
李四2
"
,
"
王五3
"
],
showPickerFucha
:
false
,
valueIdea
:
""
,
columnsIdea
:
[
"
同意,立即整改
"
,
"
退回,重新上报
"
],
showPickerIdea
:
false
,
returnReason
:
""
};
},
mounted
()
{},
methods
:
{
selectResult
(
val
)
{
this
.
radio
=
val
;
},
onConfirm
(
date
)
{
this
.
value
=
this
.
format
(
date
);
this
.
showCalendar
=
false
;
},
onConfirmZhenggai
(
value
)
{
this
.
valueZhenggai
=
value
;
this
.
showPickerZhenggai
=
false
;
},
onConfirmFucha
(
value
)
{
this
.
valueFucha
=
value
;
this
.
showPickerFucha
=
false
;
},
onConfirmIdea
(
value
)
{
this
.
valueIdea
=
value
;
this
.
showPickerIdea
=
false
;
},
onSubmit
(
values
)
{
console
.
log
(
"
submit
"
,
values
);
},
cancel
()
{
this
.
$router
.
go
(
-
1
);
},
format
(
value
){
let
myDate
if
(
value
.
getMinutes
()
<=
9
)
{
myDate
=
value
.
getFullYear
()
+
'
-
'
+
(
value
.
getMonth
()
+
1
)
+
'
-
'
+
value
.
getDate
()
+
'
'
+
value
.
getHours
()
+
'
:
'
+
'
0
'
+
value
.
getMinutes
();
}
else
{
myDate
=
value
.
getFullYear
()
+
'
-
'
+
(
value
.
getMonth
()
+
1
)
+
'
-
'
+
value
.
getDate
()
+
'
'
+
value
.
getHours
()
+
'
:
'
+
value
.
getMinutes
();
};
return
myDate
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
</
style
>
src/views/danger/confirmDanger/index.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-search
v-model=
"searchValue"
placeholder=
"搜索"
@
search=
"onSearch"
/>
<van-tabs
v-model=
"active"
color=
"#247df7"
title-inactive-colo=
"#d0d1d1"
title-active-color=
"#000000"
>
<van-tab
title=
"待确认"
>
<wait-con-list></wait-con-list>
</van-tab>
<van-tab
title=
"已确定"
>
已确定
</van-tab>
<van-tab
title=
"已退回"
>
已退回
</van-tab>
</van-tabs>
</div>
</
template
>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
import
waitConList
from
"
./waitConList.vue
"
;
export
default
{
components
:
{
LHeader
,
waitConList
},
data
()
{
return
{
text
:
"
隐患确认
"
,
active
:
"
1
"
,
searchValue
:
""
};
},
mounted
()
{},
methods
:
{
onSearch
(
val
)
{
console
.
log
(
val
);
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
</
style
>
src/views/danger/confirmDanger/waitConList.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<!-- 内容列表 -->
<div
class=
"con-list"
>
<van-cell-group
inset
v-for=
"(item, index) in messageList"
:key=
"index"
@
click=
"read(item)"
@
touchstart=
"touchstart(index, item)"
@
touchend.prevent=
"touchend(index)"
>
<div
class=
"messgae-title"
>
{{
item
.
noticeTitle
}}
</div>
<div
class=
"message-content"
>
{{
item
.
upcomingUserName
}}
,您好!您有一条来自
{{
item
.
createUserName
}}
的
{{
item
.
noticeTitle
}}
相关的待处理任务...
</div>
<!-- 长按显示遮罩层 -->
<van-overlay
:show=
"showIndex == index"
>
<div
class=
"wrapper"
@
click
.
stop
>
<van-button
round
type=
"primary"
@
touchstart=
"goDetail(item)"
>
详情
</van-button
>
<van-button
round
type=
"info"
@
touchstart=
"goConfirm(item)"
>
确认
</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
messageList
:
[
{
noticeTitle
:
"
隐患上报消息
"
,
upcomingUserName
:
"
张某某
"
,
createUserName
:
"
李某某
"
,
noticeTitle
:
"
重要任务
"
}
],
Loop
:
""
,
// 定时器
showIndex
:
null
// 是否显示遮罩层
};
},
mounted
()
{},
methods
:
{
read
()
{},
touchstart
(
index
,
item
)
{
clearTimeout
(
this
.
Loop
);
//再次清空延时器,防止重复注册定时器
if
(
this
.
showIndex
!=
null
){
this
.
showIndex
=
null
;
return
}
this
.
Loop
=
setTimeout
(()
=>
{
this
.
showIndex
=
index
;
},
300
);
// 这里的1000是指需要长按的时间,单位为ms
},
touchend
(
index
)
{
// 这个方法主要是用来将每次手指移出之后将计时器清零
clearInterval
(
this
.
Loop
);
},
// 详情
goDetail
(
data
)
{
console
.
log
(
data
);
this
.
showIndex
=
null
;
},
// 确认
goConfirm
(
data
)
{
console
.
log
(
data
);
this
.
$router
.
push
(
"
/affirm-danger
"
);
this
.
showIndex
=
null
;
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.message-content {
margin-top: 10px;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
</
style
>
src/views/danger/index.vue
deleted
100644 → 0
View file @
b07e6be3
<
template
>
<div>
隐含上报
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
}
},
mounted
()
{
},
methods
:{
}
}
</
script
>
<
style
scoped
>
/* @import url(); 引入css类 */
</
style
>
\ No newline at end of file
src/views/danger/reviewDanger/index.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-search
v-model=
"searchValue"
placeholder=
"搜索"
@
search=
"onSearch"
/>
<van-tabs
v-model=
"active"
color=
"#247df7"
title-inactive-colo=
"#d0d1d1"
title-active-color=
"#000000"
>
<van-tab
title=
"待复查"
>
<wait-review></wait-review>
</van-tab>
<van-tab
title=
"已办结"
>
已办结
</van-tab>
<van-tab
title=
"已退回"
>
已退回
</van-tab>
</van-tabs>
</div>
</
template
>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
import
waitReview
from
"
./waitReview.vue
"
;
export
default
{
components
:
{
LHeader
,
waitReview
,
},
data
()
{
return
{
text
:
"
隐患复查
"
,
active
:
"
1
"
,
searchValue
:
""
};
},
mounted
()
{},
methods
:
{
onSearch
(
val
)
{
console
.
log
(
val
);
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
</
style
>
src/views/danger/reviewDanger/reviewAdd.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-form
@
submit=
"onSubmit"
:show-error-message=
"false"
:scroll-to-error=
"true"
>
<van-field
name=
"radio"
label=
"隐患复查结果"
>
<template
#input
>
<van-radio-group
v-model=
"radio"
direction=
"horizontal"
@
change=
"selectResult"
>
<van-radio
name=
"1"
>
合格
</van-radio>
<van-radio
name=
"2"
>
退回
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<!-- 同意时的选项 -->
<div
class=
"agree"
v-if=
"radio == 1"
>
<van-field
v-model=
"detail"
label=
"详情描述"
name=
"详情描述"
rows=
"3"
type=
"textarea"
placeholder=
"请输入"
:rules=
"[{ required: true, message: '详情描述不能为空' }]"
/>
<van-field
name=
"uploader"
label=
"隐患复查照片"
:rules=
"[{ required: true, message: '请上传图像' }]"
>
<
template
#input
>
<van-uploader
v-model=
"uploaderImg"
/>
</
template
>
</van-field>
</div>
<!-- 退回是的选项 -->
<div
class=
"disagree"
v-else
>
<van-field
v-model=
"returnReason"
label=
"退回原因"
name=
"退回原因"
rows=
"3"
type=
"textarea"
placeholder=
"请输入"
:rules=
"[{ required: true, message: '退回原因不能为空' }]"
/>
</div>
<div
style=
"margin: 16px;"
>
<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>
</div>
</template>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
export
default
{
components
:
{
LHeader
},
data
()
{
return
{
radio
:
"
1
"
,
text
:
"
隐患复查
"
,
detail
:
""
,
uploaderImg
:
[],
returnReason
:
""
};
},
mounted
()
{},
methods
:
{
selectResult
(
val
)
{
this
.
radio
=
val
;
},
onSubmit
(
values
)
{
console
.
log
(
"
submit
"
,
values
);
},
cancel
()
{
this
.
$router
.
go
(
-
1
);
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
</
style
>
src/views/danger/reviewDanger/waitReview.vue
0 → 100644
View file @
9f673067
<
template
>
<div>
<!-- 内容列表 -->
<div
class=
"con-list"
>
<van-cell-group
inset
v-for=
"(item, index) in messageList"
:key=
"index"
@
click=
"read(item)"
@
touchstart=
"touchstart(index, item)"
@
touchend.prevent=
"touchend(index)"
>
<div
class=
"messgae-title"
>
{{
item
.
noticeTitle
}}
</div>
<div
class=
"message-content"
>
{{
item
.
upcomingUserName
}}
,您好!您有一条来自
{{
item
.
createUserName
}}
的
{{
item
.
noticeTitle
}}
相关的待处理任务...
</div>
<!-- 长按显示遮罩层 -->
<van-overlay
:show=
"showIndex == index"
>
<div
class=
"wrapper"
@
click
.
stop
>
<van-button
round
type=
"primary"
@
touchstart=
"goDetail(item)"
>
详情
</van-button
>
<van-button
round
type=
"info"
@
touchstart=
"goConfirm(item)"
>
复查
</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
messageList
:
[
{
noticeTitle
:
"
隐患上报消息
"
,
upcomingUserName
:
"
张某某
"
,
createUserName
:
"
李某某
"
,
noticeTitle
:
"
重要任务
"
}
],
Loop
:
""
,
// 定时器
showIndex
:
null
// 是否显示遮罩层
};
},
mounted
()
{},
methods
:
{
read
()
{},
touchstart
(
index
,
item
)
{
clearTimeout
(
this
.
Loop
);
//再次清空延时器,防止重复注册定时器
if
(
this
.
showIndex
!=
null
){
this
.
showIndex
=
null
;
return
}
this
.
Loop
=
setTimeout
(()
=>
{
this
.
showIndex
=
index
;
},
300
);
// 这里的1000是指需要长按的时间,单位为ms
},
touchend
(
index
)
{
// 这个方法主要是用来将每次手指移出之后将计时器清零
clearInterval
(
this
.
Loop
);
},
// 详情
goDetail
(
data
)
{
console
.
log
(
data
);
this
.
showIndex
=
null
;
},
// 确认
goConfirm
(
data
)
{
console
.
log
(
data
);
this
.
$router
.
push
(
"
/review-add
"
);
this
.
showIndex
=
null
;
}
}
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.message-content {
margin-top: 10px;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
</
style
>
src/views/messageCenter/messageNews/index.vue
View file @
9f673067
...
...
@@ -46,10 +46,15 @@
</div>
<!-- 长按显示遮罩层 -->
<van-overlay
:show=
"showIndex == index"
>
<div
class=
"wrapper"
@
click.stop=
'closeModal'
>
<van-button
round
type=
"info"
@
click=
"goDetail(item)"
>
详情
</van-button>
<van-button
round
type=
"danger"
@
click=
"goDelete(item)"
>
删除
</van-button>
<van-overlay
:show=
"showIndex == index"
>
<div
class=
"wrapper"
@
click
.
stop
>
<van-button
round
type=
"info"
@
touchstart=
"goDetail(item)"
>
详情
</van-button
>
<van-button
round
type=
"danger"
@
touchstart=
"goDelete(item)"
>
删除
</van-button
>
</div>
</van-overlay>
</van-cell-group>
...
...
@@ -62,7 +67,6 @@
</
template
>
<
script
>
document
.
oncontextmenu
=
function
(
e
){
return
false
;}
import
{
postMessgaelist
,
noticeRemove
}
from
"
@/service/message
"
;
export
default
{
data
()
{
...
...
@@ -96,6 +100,7 @@ export default {
created
()
{
this
.
getMessageList
();
this
.
unRead
();
},
methods
:
{
// 点击类别
...
...
@@ -125,12 +130,9 @@ export default {
// 点击消息条目时的点击事件 变成已读
read
(
data
)
{
console
.
log
(
'
触发了点击事件
'
);
console
.
log
(
"
触发了点击事件
"
);
// 判断showIndex是否等于null 如果不等于则先将showIndex改为null
if
(
this
.
showIndex
!==
null
)
{
this
.
showIndex
=
null
return
}
this
.
showIndex
=
null
;
if
(
data
.
status
==
"
未读
"
)
{
let
formData
=
new
FormData
();
formData
.
append
(
"
ids
"
,
data
.
pid
);
...
...
@@ -196,33 +198,30 @@ export default {
// }
touchstart
(
index
,
item
)
{
clearInterval
(
this
.
Loop
);
//再次清空定时器,防止重复注册定时器
this
.
Loop
=
setTimeout
(
function
()
{
this
.
showIndex
=
index
}.
bind
(
this
),
300
);
// 这里的1000是指需要长按的时间,单位为ms
clearTimeout
(
this
.
Loop
);
//再次清空延时器,防止重复注册定时器
if
(
this
.
showIndex
!=
null
){
this
.
showIndex
=
null
;
return
}
this
.
Loop
=
setTimeout
(
function
()
{
this
.
showIndex
=
index
;
}.
bind
(
this
),
300
);
// 这里的1000是指需要长按的时间,单位为ms
},
touchend
(
index
)
{
// 这个方法主要是用来将每次手指移出之后将计时器清零
clearInterval
(
this
.
Loop
);
},
// 关闭遮罩层
closeModal
(){
this
.
showIndex
=
null
clearTimeout
(
this
.
Loop
);
},
// 详情
goDetail
(
data
){
goDetail
(
data
)
{
console
.
log
(
data
);
this
.
showIndex
=
null
this
.
showIndex
=
null
;
},
// 删除
goDelete
(
data
){
console
.
log
(
data
);
this
.
showIndex
=
null
},
goDelete
(
data
)
{
console
.
log
(
123
);
this
.
showIndex
=
null
;
}
}
};
</
script
>
...
...
@@ -263,35 +262,25 @@ export default {
}
// 内容
.con-list {
-webkit-touch-callout:none; /*系统默认菜单被禁用*/
-webkit-user-select:none; /*webkit浏览器*/
-khtml-user-select:none; /*早期浏览器*/
-moz-user-select:none;/*火狐*/
-ms-user-select:none; /*IE10*/
user-select:none;
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.messgae-title {
}
.message-content {
margin-top: 10px;
}
.van-overlay{
.van-overlay
{
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
}
...
...
src/views/saveWorkbench/index.vue
View file @
9f673067
...
...
@@ -148,17 +148,20 @@ export default {
text
:
"
隐患上报
"
},
{
key
:
"
2
"
,
key
:
"
2
"
,
path
:
"
/confirm-danger
"
,
imgUrl
:
require
(
"
@/assets/workbench/danger-confirm.png
"
),
text
:
"
隐患确认
"
},
{
key
:
"
3
"
,
path
:
"
/change-danger
"
,
imgUrl
:
require
(
"
@/assets/workbench/danger-rectification.png
"
),
text
:
"
隐患整改
"
},
{
key
:
"
4
"
,
path
:
"
/review-danger
"
,
imgUrl
:
require
(
"
@/assets/workbench/danger-acceptance.png
"
),
text
:
"
隐患复查
"
},
...
...
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