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
09980722
Commit
09980722
authored
Oct 26, 2021
by
王李辉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
隐患模块前端样式
parent
3400f5dc
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 @
09980722
...
...
@@ -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 @
09980722
...
...
@@ -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 @
09980722
<
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 @
09980722
<
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 @
09980722
<
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 @
09980722
<
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 @
09980722
<
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 @
09980722
<
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 @
09980722
<
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 @
09980722
<
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 @
09980722
<
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 @
3400f5dc
<
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 @
09980722
<
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 @
09980722
<
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 @
09980722
<
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 @
09980722
...
...
@@ -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 @
09980722
...
...
@@ -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