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
c96e4114
Commit
c96e4114
authored
Apr 26, 2022
by
王李辉
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
恢复删除的文件
parent
1ea5a41b
Pipeline
#8210
passed with stage
in 5 minutes and 3 seconds
Changes
4
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
495 additions
and
0 deletions
+495
-0
src/assets/dangerPatrol/patrol-icon.png
src/assets/dangerPatrol/patrol-icon.png
+0
-0
src/router/index.js
src/router/index.js
+61
-0
src/views/danger/delayApproval/index.vue
src/views/danger/delayApproval/index.vue
+272
-0
src/views/danger/delayApproval/ratifyInfo.vue
src/views/danger/delayApproval/ratifyInfo.vue
+162
-0
No files found.
src/assets/dangerPatrol/patrol-icon.png
0 → 100644
View file @
c96e4114
15.8 KB
src/router/index.js
View file @
c96e4114
...
@@ -551,6 +551,67 @@ const routes = [{
...
@@ -551,6 +551,67 @@ const routes = [{
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/majorDanger/majorSurvey
'
),
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/majorDanger/majorSurvey
'
),
},
},
// 隐患巡查首页
{
path
:
'
/danger-patrol
'
,
name
:
'
danger-patrol
'
,
meta
:
{
title
:
'
隐患巡查首页
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/dangerPatrol
'
),
},
// 执行巡查首页-安全管理类
{
path
:
'
/implement
'
,
name
:
'
implement
'
,
meta
:
{
title
:
'
执行巡查首页-安全管理类
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/dangerPatrol/implement
'
),
},
// 取消巡查
{
path
:
'
/cancel-patrol
'
,
name
:
'
cancel-patrol
'
,
meta
:
{
title
:
'
取消巡查
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/dangerPatrol/cancelPatrol
'
),
},
// 巡查记录
{
path
:
'
/record-patrol
'
,
name
:
'
record-patrol
'
,
meta
:
{
title
:
'
巡查记录
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/dangerPatrol/recordPatrol
'
),
},
// 巡查记录详情
{
path
:
'
/record-detail
'
,
name
:
'
record-detail
'
,
meta
:
{
title
:
'
巡查记录详情
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/dangerPatrol/recordPatrol/detail.vue
'
),
},
// 巡查统计
{
path
:
'
/statistics
'
,
name
:
'
statistics
'
,
meta
:
{
title
:
'
巡查统计
'
,
index
:
1
},
component
:
()
=>
import
(
/* webpackChunkName: "SaveWorkbench" */
'
../views/danger/dangerPatrol/statistics
'
),
},
// 延期审批列表
// 延期审批列表
...
...
src/views/danger/delayApproval/index.vue
0 → 100644
View file @
c96e4114
<
template
>
<div>
<van-sticky
offset-top=
"0"
>
<LHeader
:text=
"text"
></LHeader>
</van-sticky>
<van-sticky
offset-top=
"1.5rem"
>
<van-search
v-model=
"searchValue"
show-action
placeholder=
"请输入搜索内容"
@
search=
"onSearch"
>
<template
#action
>
<div
@
click=
"onSearch"
>
搜索
</div>
</
template
>
</van-search>
</van-sticky>
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<van-tabs
v-model=
"active"
@
change=
"
getList(searchValue);
showIndex = null;
"
color=
"#2980f7"
animated
:sticky=
"true"
offset-top=
"2.93rem"
>
<van-tab
v-for=
"(item, key) in tabs"
:key=
"key"
:title=
"item.title"
>
<div
class=
"con-list"
@
touchmove=
"showIndex = null"
v-if=
"key == active"
>
<van-cell-group
inset
v-for=
"(item, index) in messageList"
:key=
"index"
@
click=
"touchstart(index, item)"
>
<van-row
gutter=
""
>
<van-col
span=
"7"
>
隐患单编号:
</van-col>
<van-col
span=
"17"
>
{{
item.businessId || item.pid
}}
</van-col>
</van-row>
<van-row
gutter=
""
>
<van-col
span=
"7"
>
所属项目:
</van-col>
<van-col
span=
"17"
>
{{ item.proId }}
</van-col>
</van-row>
<van-row
gutter=
""
>
<van-col
span=
"7"
v-if=
"item.hdLev"
>
隐患级别:
</van-col
>
<van-col
span=
"17"
>
{{
item.hdLev | dangerText
}}
</van-col>
</van-row>
<van-row
gutter=
""
v-show=
"item.examineResult"
>
<van-col
span=
"7"
>
是否通过:
</van-col>
<van-col
span=
"17"
>
{{
item.examineResult == 1 ? "是" : "否"
}}
</van-col>
</van-row>
<van-row
gutter=
""
v-show=
"item.examineReason"
>
<van-col
span=
"7"
>
意见:
</van-col>
<van-col
span=
"17"
>
{{
item.examineReason
}}
</van-col>
</van-row>
<van-row
gutter=
""
v-if=
"item.taskName"
>
<van-col
span=
"7"
>
工单状态:
</van-col>
<van-col
span=
"17"
>
{{ item.taskName }}
</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<
template
>
<van-overlay
:show=
"showIndex == index"
>
<div
class=
"wrapper"
@
click.stop=
"showIndex = null"
>
<van-button
round
type=
"primary"
@
click=
"goDetail(item, 'normal-detail')"
>
隐患详情
</van-button
>
<van-button
round
type=
"info"
@
click=
"goConfirm(item)"
v-if=
"active == 0"
>
审批
</van-button>
<van-button
round
type=
"info"
@
click=
"
goDetail(
item,
'finish-delay-detail'
)
"
v-if=
"active == 1"
>
延期查看
</van-button
>
</div>
</van-overlay>
</
template
>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style=
"
width: 100%;
text-align: center;
font-size: 0.48rem;
position: fixed;
top: 30%;
"
v-if=
"messageList.length == 0"
>
暂无数据
</div>
</van-tab>
</van-tabs>
</div>
</template>
<
script
>
import
LHeader
from
"
@/components/header.vue
"
;
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
import
{
delayList
}
from
"
@/service/danger
"
;
export
default
{
name
:
'
delay-approval
'
,
components
:
{
LHeader
,
},
data
()
{
return
{
text
:
"
延期审批
"
,
searchValue
:
""
,
isHaveNews
:
false
,
messageList
:
[],
Loop
:
""
,
// 定时器
showIndex
:
null
,
// 是否显示遮罩层
active
:
0
,
tabs
:
[
{
title
:
"
待审批
"
,
api
:
"
/delayApply/list
"
,
},
{
title
:
"
已审批
"
,
api
:
"
/delayApply/finishList
"
,
},
],
};
},
created
()
{
this
.
getList
();
},
methods
:
{
getList
(
select
=
""
)
{
/*接口对接3 START*/
// 例子:
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
,
});
let
formdata
=
new
FormData
();
formdata
.
append
(
"
select
"
,
select
);
postFun
(
this
.
tabs
[
this
.
active
][
"
api
"
],
formdata
)
.
then
((
res
)
=>
{
this
.
$toast
.
clear
();
this
.
messageList
=
res
.
rows
||
res
.
data
;
// 判断有无数据返回
if
(
this
.
messageList
.
length
==
0
)
{
this
.
isHaveNews
=
true
;
}
})
.
catch
((
err
)
=>
{
console
.
log
(
err
);
this
.
$toast
.
clear
();
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
/*接口对接3 END*/
},
onSearch
()
{
this
.
getList
(
this
.
searchValue
);
},
touchstart
(
index
,
item
)
{
if
(
this
.
showIndex
!=
null
)
{
this
.
showIndex
=
null
;
return
;
}
this
.
showIndex
=
index
;
},
// 详情
goDetail
(
data
,
name
=
"
normal-detail
"
)
{
let
id
=
name
==
"
normal-detail
"
?
data
.
businessId
||
data
.
pid
:
data
.
id
;
this
.
$router
.
push
({
name
,
params
:
{
id
,
},
});
this
.
showIndex
=
null
;
},
// 审批
goConfirm
(
data
)
{
this
.
$router
.
push
({
name
:
"
ratify-info
"
,
params
:
{
taskId
:
data
.
taskId
,
},
});
this
.
showIndex
=
null
;
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
#app {
font-family: "";
color: #2c3e50;
}
.con-list {
padding: 0;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
margin-bottom: 0.26667rem;
padding: 0.25rem;
font-size: 0.4rem;
position: relative;
border-radius: 4%;
box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%;
margin: 0.4rem auto;
.van-row {
font-size: 0.4rem;
line-height: 0.8rem;
margin-bottom: 0;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
/deep/.van-tab__pane-wrapper {
min-height: 8rem;
}
.van-tabs__track {
min-height: 3rem;
}
</
style
>
src/views/danger/delayApproval/ratifyInfo.vue
0 → 100644
View file @
c96e4114
<
template
>
<div>
<LHeader
:text=
"text"
></LHeader>
<van-form
@
submit=
"onSubmit"
:show-error=
"false"
:scroll-to-error=
"true"
validate-trigger=
"onSubmit"
>
<van-field
v-model=
"applyDate"
readonly
name=
"applyDate"
label=
"延期时间"
placeholder=
"空"
/>
<van-field
v-model=
"applyReason"
readonly
label=
"延期理由"
name=
"applyReason"
rows=
"1"
autosize
type=
"textarea"
placeholder=
"空"
/>
<van-field
name=
"isAgree"
label=
"延期是否通过"
>
<template
#input
>
<van-radio-group
v-model=
"isAgree"
direction=
"horizontal"
@
change=
"selectResult"
>
<van-radio
name=
"1"
>
通过
</van-radio>
<van-radio
name=
"0"
>
退回
</van-radio>
</van-radio-group>
</
template
>
</van-field>
<van-field
v-model=
"opinion"
label=
'审批意见'
name=
"examineReason"
rows=
"3"
type=
"textarea"
placeholder=
"请输入"
required
:rules=
"[{ required: true, message: '理由或者意见不能为空' }]"
/>
<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
"
;
import
{
getFun
,
postFun
}
from
"
@/service/table.js
"
;
import
{
delayReturn
}
from
"
@/service/danger
"
;
import
{
delayEdit
}
from
"
@/service/danger
"
;
export
default
{
components
:
{
LHeader
,
},
data
()
{
return
{
pid
:
''
,
id
:
''
,
text
:
"
延期审批
"
,
taskId
:
""
,
delayTime
:
""
,
// 延迟时间
showDelayTime
:
false
,
delayApply
:
""
,
// 延迟理由
isAgree
:
'
1
'
,
// 延期是否通过
opinion
:
""
,
//理由或者意见
applyDate
:
""
,
//延期时间
applyReason
:
""
,
//延期理由
};
},
created
()
{
this
.
taskId
=
this
.
$route
.
params
.
taskId
;
this
.
getReturnEcho
();
},
methods
:
{
onSubmit
(
values
)
{
this
.
$toast
.
loading
({
message
:
"
提交中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
,
});
// console.log(this.isAgree)
let
formdata
=
new
FormData
();
formdata
.
append
(
"
examineResult
"
,
this
.
isAgree
*
1
);
formdata
.
append
(
"
examineReason
"
,
values
.
examineReason
);
formdata
.
append
(
"
taskId
"
,
this
.
taskId
);
formdata
.
append
(
"
pid
"
,
this
.
pid
);
formdata
.
append
(
'
applyDate
'
,
this
.
applyDate
);
formdata
.
append
(
'
id
'
,
this
.
id
);
delayEdit
(
`/delayApply/edit`
,
formdata
)
.
then
((
res
)
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
success
({
message
:
"
提交成功
"
,
duration
:
2000
,
});
history
.
go
(
-
1
);
})
.
catch
(()
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
fail
(
"
提交失败,请稍后再试
"
);
});
},
// 请求已退回详情数据
getReturnEcho
()
{
this
.
$toast
.
loading
({
message
:
"
加载中...
"
,
forbidClick
:
true
,
loadingType
:
"
spinner
"
,
duration
:
0
,
});
delayReturn
(
`/delayApply/edit/
${
this
.
taskId
}
`
)
.
then
((
res
)
=>
{
this
.
$toast
.
clear
();
// 对数据进行赋值
this
.
applyDate
=
res
.
data
.
delayApply
.
applyDate
;
this
.
applyReason
=
res
.
data
.
delayApply
.
applyReason
;
this
.
pid
=
res
.
data
.
delayApply
.
pid
;
this
.
id
=
res
.
data
.
delayApply
.
id
;
})
.
catch
(()
=>
{
this
.
$toast
.
clear
();
this
.
$toast
.
fail
(
"
加载失败,请稍后再试
"
);
});
},
selectResult
(
val
)
{
this
.
isAgree
=
val
;
},
cancel
()
{
this
.
$router
.
go
(
-
1
);
},
},
};
</
script
>
<
style
lang=
"less"
scoped
>
/* @import url(); 引入css类 */
</
style
>
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