Commit 5cf5a65e authored by 罗新东's avatar 罗新东

风险和隐患添加了标签页

parent 5a469b0e
<template> <template>
<div> <div>
<van-sticky> <van-sticky>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
</van-sticky> </van-sticky>
<van-sticky offset-top="1.5rem"> <van-sticky offset-top="1.5rem">
<van-search <van-search
v-model="searchValue" v-model="searchValue"
show-action show-action
placeholder="请输入检查名称" placeholder="请输入检查名称"
@search="onSearch" @search="onSearch"
> >
<template #action> <template #action>
<div @click="onSearch">搜索</div> <div @click="onSearch">搜索</div>
</template> </template>
</van-search> </van-search>
</van-sticky> </van-sticky>
<!-- tab标签 --> <!-- tab标签 -->
<van-tabs
color="#2980f7"
@click="onClickTab($event, searchValue)"
animated
:sticky="true"
offset-top="3rem"
>
<van-tab title="隐患整改">
<!-- 内容列表 -->
<div class="con-list" @touchmove="showIndex = null">
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="touchstart(index, item)"
>
<van-row gutter="">
<van-col span="6">隐患编号:</van-col>
<van-col span="18">{{ item.businessId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">所属项目:</van-col>
<van-col span="18">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">隐患级别:</van-col>
<van-col span="18">{{ item.hdLev | dangerText }}</van-col>
</van-row>
<!-- <van-row gutter="">
<van-col span="6">发现时间:</van-col>
<van-col span="18">{{ item.hdDiscoveryTime }}</van-col>
</van-row> -->
<van-row gutter="">
<van-col span="6">适用范围:</van-col>
<van-col span="18">{{ item.hdRange }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">隐患类型:</van-col>
<van-col span="18">{{ item.hdType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">超期标识:</van-col>
<van-col span="18">{{ item.dueDate | formatTime }}</van-col>
</van-row>
<!-- <van-row gutter="">
<van-col span="6">工单状态:</van-col>
<van-col span="18">{{ item.taskName }}</van-col>
</van-row> -->
<!-- 长按显示遮罩层 --> <van-tabs
<van-overlay :show="showIndex == index"> v-model="active"
<div class="wrapper" @click.stop="showIndex = null"> @change="
<van-button round type="primary" @click="goDetail(item)" postList();
>详情</van-button showIndex = null;
> "
<van-button round type="info" @click="goConfirm(item)" color="#2980f7"
>隐患整改</van-button animated
> :sticky="true"
<van-button round type="info" @click="goDelay(item)" offset-top="3rem"
>申请延期</van-button
>
<!-- <van-button round type="warning " @click="goClose(item)"
>关闭</van-button
> -->
</div>
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="
width: 100%;
text-align: center;
font-size: 0.48rem;
position: fixed;
top: 30%;
"
v-if="messageList.length == 0"
> >
暂无数据 <van-tab v-for="(item, key) in tabs" :key="key" :title="item.title">
</div> <!-- 内容列表 -->
</van-tab> <div class="con-list" @touchmove="showIndex = null">
<van-tab title="隐患整改(已退回)"> <van-cell-group
<!-- 内容列表 --> inset
<div class="con-list" @touchmove="showIndex = null"> v-for="(item, index) in messageList"
<van-cell-group :key="index"
inset @click="touchstart(index, item)"
v-for="(item, index) in messageList" >
:key="index" <van-row gutter="">
@click="touchstart(index, item)" <van-col span="6">隐患编号:</van-col>
> <van-col span="18">
<van-row gutter=""> {{
<van-col span="6">隐患编号:</van-col> item.businessId || item.id
<van-col span="18">{{ item.businessId }}</van-col> }}
</van-row> </van-col>
<van-row gutter=""> </van-row>
<van-col span="6">所属项目:</van-col> <van-row gutter="">
<van-col span="18">{{ item.proId }}</van-col> <van-col span="6">所属项目:</van-col>
</van-row> <van-col span="18">{{ item.proId }}</van-col>
<van-row gutter=""> </van-row>
<van-col span="6">隐患级别:</van-col> <van-row gutter="">
<van-col span="18">{{ item.hdLev | dangerText }}</van-col> <van-col span="6">隐患级别:</van-col>
</van-row> <van-col span="18">{{
<van-row gutter=""> item.hdLev | dangerText
<van-col span="6">适用范围:</van-col> }}</van-col>
<van-col span="18">{{ item.hdRange }}</van-col> </van-row>
</van-row> <!-- <van-row gutter="">
<van-col span="6">发现时间:</van-col>
<van-row gutter=""> <van-col span="18">{{ item.hdDiscoveryTime }}</van-col>
<van-col span="6">隐患类型:</van-col> </van-row> -->
<van-col span="18">{{ item.hdType }}</van-col> <van-row gutter="">
</van-row> <van-col span="6">适用范围:</van-col>
<!-- <van-row gutter=""> <van-col span="18">{{ item.hdRange }}</van-col>
<van-col span="6">发现时间:</van-col> </van-row>
<van-col span="18">{{ item.hdDiscoveryTime }}</van-col> <van-row gutter="">
</van-row> --> <van-col span="6">隐患类型:</van-col>
<van-row gutter=""> <van-col span="18">{{ item.hdType }}</van-col>
<van-col span="6">超期标识:</van-col> </van-row>
<van-col span="18">{{ item.dueDate | formatTime }}</van-col> <van-row gutter="">
</van-row> <van-col span="6">超期标识:</van-col>
<!-- <van-row gutter=""> <van-col span="18">{{
<van-col span="6">工单状态:</van-col> item.dueDate | formatTime
<van-col span="18">{{ item.taskName }}</van-col> }}</van-col>
</van-row> --> </van-row>
<!-- <van-row gutter="">
<van-col span="6">工单状态:</van-col>
<van-col span="18">{{ item.taskName }}</van-col>
</van-row> -->
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null"> <div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail(item)" <van-button
>详情</van-button round
> type="primary"
<van-button round type="info" @click="goConfirm(item)" @click="goDetail(item)"
>隐患整改</van-button >详情</van-button
>
<van-button
round
type="info"
@click="goConfirm(item)"
v-if="active!==2"
>隐患整改</van-button
>
<van-button
round
type="info"
@click="goDelay(item)"
v-if="active!==2"
>申请延期</van-button
>
<!-- <van-button round type="warning " @click="goClose(item)"
>关闭</van-button
> -->
</div>
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="
width: 100%;
text-align: center;
font-size: 0.48rem;
position: fixed;
top: 30%;
"
v-if="messageList.length == 0"
> >
<van-button round type="info" @click="goDelay(item)" 暂无数据
>申请延期</van-button </div>
> </van-tab>
<!-- <van-button round type="warning" @click="goClose(item)" </van-tabs>
>关闭</van-button </div>
> -->
</div>
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<!-- {{messageList}} -->
<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>
<tab-bar :index="1"></tab-bar>
</div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
import tabBar from "@/components/TabBar"; // import { dangerRect, list1, list2 } from "@/service/danger";
import { dangerRect, list1, list2 } from "@/service/danger";
import { Dialog } from "vant"; import { Dialog } from "vant";
export default { export default {
components: { components: {
LHeader, LHeader,
tabBar,
},
data() {
return {
text: "隐患整改",
appHeight: "",
searchValue: "",
isHaveNews: false,
messageList: [],
Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层
};
},
created() {
this.onClickTab(0);
},
methods: {
// 关闭
goClose(val) {
// 点击了关闭
Dialog.confirm({
title: "提示",
message: "确定要关闭此条隐患吗?",
})
.then(() => {
this.$toast.loading({
message: "删除中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
postFun(`/rectification/delete/${val.taskId}`)
.then((res) => {
// console.log(res,'怎么样')
this.$toast.clear();
this.$toast.success({
message: "关闭成功",
duration: 2000,
});
this.onClickTab(0, this.searchValue)
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("关闭失败,请稍后再试");
});
this.showIndex = null;
})
.catch(() => {
this.$toast.clear();
this.showIndex = null;
});
// console.log(val)
}, },
onSearch(val) { data() {
this.onClickTab(0, this.searchValue); return {
text: "隐患整改",
searchValue: "",
messageList: [],
showIndex: null, // 是否显示遮罩层
active: 0,
tabs: [
{
title: "隐患整改",
api: "/rectification/list1",
},
{
title: "隐患整改(已退回)",
api: "/rectification/list2",
},
{
title: "隐患整改(已整改)",
api: "/rectification/finishList",
},
],
};
}, },
onClickTab(val, select = "") { created() {
this.showIndex = null; this.postList();
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
// 这里根据tab切换调用接口
let formdata = new FormData();
formdata.append("select", select);
[list1, list2]
[val](formdata)
.then((res) => {
console.log(res.rows)
this.$toast.clear();
this.messageList = res.rows;
// 判断有无数据返回
// if (this.messageList.length == 0) {
// this.isHaveNews = true;
// }
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
}, },
methods: {
// 关闭
goClose(val) {
// 点击了关闭
Dialog.confirm({
title: "提示",
message: "确定要关闭此条隐患吗?",
})
.then(() => {
this.$toast.loading({
message: "删除中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
postFun(`/rectification/delete/${val.taskId}`)
.then((res) => {
// console.log(res,'怎么样')
this.$toast.clear();
this.$toast.success({
message: "关闭成功",
duration: 2000,
});
this.onClickTab(0, this.searchValue);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("关闭失败,请稍后再试");
});
this.showIndex = null;
})
.catch(() => {
this.$toast.clear();
this.showIndex = null;
});
// console.log(val)
},
onSearch(val) {
this.onClickTab(0, this.searchValue);
},
postList(select = "") {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
let formdata = new FormData();
formdata.append("select", select);
postFun(this.tabs[this.active]["api"], formdata)
.then((res) => {
console.log(res);
this.$toast.clear();
this.messageList = res.rows || res.data;
})
.catch((err) => {
console.log(err);
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
// onClickTab(val, select = "") {
// this.showIndex = null;
// this.$toast.loading({
// message: "加载中...",
// forbidClick: true,
// loadingType: "spinner",
// duration: 0,
// });
// 此接口暂时废弃 // // 这里根据tab切换调用接口
// postList() { // let formdata = new FormData();
// this.$toast.loading({ // formdata.append("select", select);
// message: "加载中...", // [list1, list2]
// forbidClick: true, // [val](formdata)
// loadingType: "spinner", // .then((res) => {
// duration: 0, // console.log(res.rows);
// }); // this.$toast.clear();
// dangerRect("/rectification/list") // this.messageList = res.rows;
// .then((res) => { // // 判断有无数据返回
// this.$toast.clear(); // // if (this.messageList.length == 0) {
// this.messageList = res.rows; // // this.isHaveNews = true;
// // 判断有无数据返回 // // }
// if (this.messageList.length == 0) { // })
// this.isHaveNews = true; // .catch(() => {
// } // this.$toast.clear();
// }) // this.$toast.fail("加载失败,请稍后再试");
// .catch(() => { // });
// this.$toast.clear(); // },
// this.$toast.fail("加载失败,请稍后再试");
// });
// },
touchstart(index, item) { // 此接口暂时废弃
if (this.showIndex != null) { // postList() {
this.showIndex = null; // this.$toast.loading({
return; // message: "加载中...",
} // forbidClick: true,
this.showIndex = index; // loadingType: "spinner",
}, // duration: 0,
// });
// dangerRect("/rectification/list")
// .then((res) => {
// this.$toast.clear();
// this.messageList = res.rows;
// // 判断有无数据返回
// if (this.messageList.length == 0) {
// this.isHaveNews = true;
// }
// })
// .catch(() => {
// this.$toast.clear();
// this.$toast.fail("加载失败,请稍后再试");
// });
// },
// 详情 touchstart(index, item) {
goDetail(data) { if (this.showIndex != null) {
this.$router.push({ this.showIndex = null;
name: "normal-detail", return;
params: { }
id: data.taskId, this.showIndex = index;
}, },
});
this.showIndex = null; // 详情
}, goDetail(data) {
// 确认 this.$router.push({
goConfirm(data) { name: "normal-detail",
this.$router.push({ params: {
name: "change-info", id: data.taskId,
params: { },
data: data, });
this.showIndex = null;
}, },
}); // 确认
this.showIndex = null; goConfirm(data) {
}, this.$router.push({
// 延期 name: "change-info",
goDelay(data) { params: {
this.$router.push({ data: data,
name: "delay-info", },
params: { });
taskId: data.taskId, this.showIndex = null;
taskName: data.taskName, },
// 延期
goDelay(data) {
this.$router.push({
name: "delay-info",
params: {
taskId: data.taskId,
taskName: data.taskName,
},
});
this.showIndex = null;
}, },
});
this.showIndex = null;
}, },
}, filters: {
filters: { formatTime: function (val) {
formatTime: function (val) { if (new Date(val).getTime() <= new Date().getTime()) {
if (new Date(val).getTime() <= new Date().getTime()) { return "超期";
return "超期"; } else if (
} else if ( new Date(val).getTime() >= new Date().getTime() &&
new Date(val).getTime() >= new Date().getTime() && new Date(val).getTime() <= new Date().getTime() + 259200000
new Date(val).getTime() <= new Date().getTime() + 259200000 ) {
) { return "临期";
return "临期"; } else {
} else { return "正常";
return "正常"; }
} },
}, },
},
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
#app { #app {
font-family: ""; font-family: "";
color: #2c3e50; color: #2c3e50;
} }
.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;
padding: 0.25rem; padding: 0.25rem;
font-size: 0.4rem; font-size: 0.4rem;
position: relative; position: relative;
border-radius: 4%; border-radius: 4%;
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;
justify-content: space-evenly; justify-content: space-evenly;
height: 100%; height: 100%;
} }
}
} }
}
} }
/deep/.van-tab__pane-wrapper{ /deep/.van-tab__pane-wrapper {
min-height: 8rem; min-height: 8rem;
}
.van-tabs__track{
min-height: 3rem;
} }
</style> </style>
...@@ -176,6 +176,7 @@ export default { ...@@ -176,6 +176,7 @@ export default {
}, },
data() { data() {
return { return {
taskId: "", taskId: "",
messageList: [], messageList: [],
radio: "1", radio: "1",
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-sticky offset-top="1.5rem"> <van-sticky offset-top="1.5rem">
<van-search <van-search
v-model="searchValue" v-model="searchValue"
show-action show-action
placeholder="请输入检查名称" placeholder="请输入检查名称"
@search="onSearch" @search="onSearch"
> >
<template #action> <template #action>
<div @click="onSearch">搜索</div> <div @click="onSearch">搜索</div>
</template> </template>
</van-search> </van-search>
</van-sticky> </van-sticky>
<!-- 内容列表 -->
<div class="con-list" @touchmove="showIndex = null"> <van-tabs
<van-cell-group v-model="active"
inset @change="
v-for="(item, index) in messageList" postList();
:key="index" showIndex = null;
@click="touchstart(index, item)" "
> color="#2980f7"
<van-row gutter=""> animated
<van-col span="6">隐患编号:</van-col> :sticky="true"
<van-col span="18">{{ item.businessId }}</van-col> offset-top="3rem"
</van-row> >
<van-row gutter=""> <van-tab v-for="(item, key) in tabs" :key="key" :title="item.title">
<van-col span="6">所属项目:</van-col> <!-- 内容列表 -->
<van-col span="18">{{ item.proId }}</van-col> <div class="con-list" @touchmove="showIndex = null">
</van-row> <van-cell-group
<van-row gutter=""> inset
<van-col span="6">隐患级别:</van-col> v-for="(item, index) in messageList"
<van-col span="18">{{ item.hdLev | dangerText }}</van-col> :key="index"
</van-row> @click="touchstart(index, item)"
<!-- <van-row gutter=""> >
<van-col span="6">发现时间:</van-col> <van-row gutter="">
<van-col span="18">{{ item.hdDiscoveryTime }}</van-col> <van-col span="6">隐患编号:</van-col>
</van-row> --> <van-col span="18">{{ item.businessId }}</van-col>
<van-row gutter=""> </van-row>
<van-col span="6">适用范围:</van-col> <van-row gutter="">
<van-col span="18">{{ item.hdRange }}</van-col> <van-col span="6">所属项目:</van-col>
</van-row> <van-col span="18">{{ item.proId }}</van-col>
<van-row gutter=""> </van-row>
<van-col span="6">隐患类型:</van-col> <van-row gutter="">
<van-col span="18">{{ item.hdType }}</van-col> <van-col span="6">隐患级别:</van-col>
</van-row> <van-col span="18">{{
<!-- <van-row gutter=""> item.hdLev | dangerText
}}</van-col>
</van-row>
<!-- <van-row gutter="">
<van-col span="6">发现时间:</van-col>
<van-col span="18">{{ item.hdDiscoveryTime }}</van-col>
</van-row> -->
<van-row gutter="">
<van-col span="6">适用范围:</van-col>
<van-col span="18">{{ item.hdRange }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">隐患类型:</van-col>
<van-col span="18">{{ item.hdType }}</van-col>
</van-row>
<!-- <van-row gutter="">
<van-col span="6">工单状态:</van-col> <van-col span="6">工单状态:</van-col>
<van-col span="18">{{ item.taskName }}</van-col> <van-col span="18">{{ item.taskName }}</van-col>
</van-row> --> </van-row> -->
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null"> <div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail(item)" <van-button
>详情</van-button round
> type="primary"
<van-button round type="info" @click="goConfirm(item)" @click="goDetail(item)"
>确认</van-button >详情</van-button
> >
</div> <van-button
</van-overlay> round
</van-cell-group> type="info"
</div> @click="goConfirm(item)"
>确认</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 --> <!-- 暂无数据 -->
<div <div
style=" style="
width: 100%; width: 100%;
text-align: center; text-align: center;
font-size: 0.48rem; font-size: 0.48rem;
position: fixed; position: fixed;
top: 30%; top: 30%;
" "
v-if="messageList['length']==0" v-if="messageList['length'] == 0"
> >
暂无数据 暂无数据
</div>
</van-tab>
</van-tabs>
</div> </div>
<tab-bar :index="1"></tab-bar>
</div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
import tabBar from "@/components/TabBar";
import { dangerConfirm } from "@/service/danger"; import { dangerConfirm } from "@/service/danger";
export default { export default {
components: { components: {
LHeader, LHeader,
tabBar,
},
data() {
return {
text: "隐患确认",
isHaveNews: false,
searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层
};
},
created() {
this.postList();
},
methods: {
onSearch(val) {
this.postList(this.searchValue);
}, },
postList(select = "") { data() {
this.$toast.loading({ return {
message: "加载中...", // dangerConfirm("/confirm/list", formdata)
forbidClick: true, active: 0,
loadingType: "spinner", tabs: [
duration: 0, {
}); title: "待确认",
let formdata = new FormData(); api: "/confirm/list",
formdata.append("select", select); },
dangerConfirm("/confirm/list", formdata) {
.then((res) => { title: "已确认",
this.$toast.clear(); api: "/confirm/finishList",
this.messageList = res.rows; },
// 判断有无数据返回 ],
if (this.messageList.length == 0) { text: "隐患确认",
this.isHaveNews = true; isHaveNews: false,
} searchValue: "",
}) messageList: [],
.catch(() => { Loop: "", // 定时器
this.$toast.clear(); showIndex: null, // 是否显示遮罩层
this.$toast.fail("加载失败,请稍后再试"); };
});
}, },
touchstart(index, item) { created() {
if (this.showIndex != null) { this.postList();
this.showIndex = null;
return;
}
this.showIndex = index;
}, },
methods: {
onSearch(val) {
this.postList(this.searchValue);
},
postList(select = "") {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
let formdata = new FormData();
formdata.append("select", select);
postFun(this.tabs[this.active]['api'], formdata)
.then((res) => {
this.$toast.clear();
this.messageList = res.rows;
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
touchstart(index, item) {
if (this.showIndex != null) {
this.showIndex = null;
return;
}
this.showIndex = index;
},
// 详情 // 详情
goDetail(data) { goDetail(data) {
this.$router.push({ this.$router.push({
name: "normal-detail", name: "normal-detail",
params: { params: {
id: data.taskId, id: data.taskId,
},
});
this.showIndex = null;
}, },
}); // 确认
this.showIndex = null; goConfirm(data) {
}, this.$router.push({
// 确认 name: "affirm-danger",
goConfirm(data) { params: {
this.$router.push({ data: data,
name: "affirm-danger", },
params: { });
data: data, this.showIndex = null;
}, },
});
this.showIndex = null;
}, },
},
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
#app { #app {
font-family: ""; font-family: "";
color: #2c3e50; color: #2c3e50;
} }
.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;
padding: 0.25rem; padding: 0.25rem;
font-size: 0.4rem; font-size: 0.4rem;
position: relative; position: relative;
border-radius: 4%; border-radius: 4%;
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;
justify-content: space-evenly; justify-content: space-evenly;
height: 100%; height: 100%;
} }
}
} }
}
} }
</style> </style>
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <van-sticky>
<van-sticky offset-top="1.5rem"> <LHeader :text="text"></LHeader>
<van-search </van-sticky>
v-model="searchValue" <van-sticky offset-top="1.5rem">
show-action <van-search
placeholder="请输入检查名称" v-model="searchValue"
@search="onSearch" show-action
> placeholder="请输入检查名称"
<template #action> @search="onSearch"
<div @click="onSearch">搜索</div> >
</template> <template #action>
</van-search> <div @click="onSearch">搜索</div>
</van-sticky> </template>
<!-- 内容列表 --> </van-search>
<div class="con-list" @touchmove="showIndex = null"> </van-sticky>
<van-cell-group
inset <van-tabs
v-for="(item, index) in messageList" v-model="active"
:key="index" @change="
@click="touchstart(index, item)" postList();
> showIndex = null;
<van-row gutter=""> "
<van-col span="6">隐患编号:</van-col> color="#2980f7"
<van-col span="18">{{ item.businessId }}</van-col> animated
</van-row> :sticky="true"
<van-row gutter=""> offset-top="3rem"
<van-col span="6">所属项目:</van-col> >
<van-col span="18">{{ item.proId }}</van-col> <van-tab v-for="(item, key) in tabs" :key="key" :title="item.title">
</van-row> <div class="con-list" @touchmove="showIndex = null">
<van-row gutter=""> <van-cell-group
<van-col span="6">隐患级别:</van-col> inset
<van-col span="18">{{ item.hdLev | dangerText }}</van-col> v-for="(item, index) in messageList"
</van-row> :key="index"
<!-- <van-row gutter=""> @click="touchstart(index, item)"
>
<van-row gutter="">
<van-col span="6">隐患编号:</van-col>
<van-col span="18">{{ item.businessId || item.id}}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">所属项目:</van-col>
<van-col span="18">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">隐患级别:</van-col>
<van-col span="18">{{
item.hdLev | dangerText
}}</van-col>
</van-row>
<!-- <van-row gutter="">
<van-col span="6">发现时间:</van-col> <van-col span="6">发现时间:</van-col>
<van-col span="18">{{ item.hdDiscoveryTime }}</van-col> <van-col span="18">{{ item.hdDiscoveryTime }}</van-col>
</van-row> --> </van-row> -->
<van-row gutter=""> <van-row gutter="">
<van-col span="6">适用范围:</van-col> <van-col span="6">适用范围:</van-col>
<van-col span="18">{{ item.hdRange }}</van-col> <van-col span="18">{{ item.hdRange }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="6">隐患类型:</van-col> <van-col span="6">隐患类型:</van-col>
<van-col span="18">{{ item.hdType }}</van-col> <van-col span="18">{{ item.hdType }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="6">超期标识:</van-col> <van-col span="6">超期标识:</van-col>
<van-col span="18">{{ item | formatTime }}</van-col> <van-col span="18">{{ item | formatTime }}</van-col>
</van-row> </van-row>
<!-- <van-row gutter=""> <!-- <van-row gutter="">
<van-col span="6">工单状态:</van-col> <van-col span="6">工单状态:</van-col>
<van-col span="18">{{ item.taskName }}</van-col> <van-col span="18">{{ item.taskName }}</van-col>
</van-row> --> </van-row> -->
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null"> <div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail(item)" <van-button
>详情</van-button round
> type="primary"
<van-button round type="info" @click="goConfirm(item)" @click="goDetail(item)"
>隐患复查</van-button
> >详情</van-button
</div> >
</van-overlay> <van-button
</van-cell-group> round
</div> type="info"
<!-- 暂无数据 --> @click="goConfirm(item)"
<div v-if="active==0"
style=" >隐患复查</van-button
width: 100%; >
text-align: center; </div>
font-size: 0.48rem; </van-overlay>
position: fixed; </van-cell-group>
top: 30%; </div>
" <!-- 暂无数据 -->
v-if="isHaveNews" <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> </div>
<tab-bar :index="1"></tab-bar>
</div>
</template> </template>
<script> <script>
import tabBar from "@/components/TabBar";
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
import { dangerReview } from "@/service/danger"; import { dangerReview } from "@/service/danger";
export default { export default {
components: {
LHeader, components: {
tabBar, LHeader,
},
data() {
return {
text: "隐患复查",
isHaveNews: false,
searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层
};
},
created() {
this.postList();
},
methods: {
onSearch(val) {
this.postList(this.searchValue);
}, },
data() {
postList(select = "") { return {
this.$toast.loading({ text: "隐患复查",
message: "加载中...", isHaveNews: false,
forbidClick: true, searchValue: "",
loadingType: "spinner", messageList: [],
duration: 0, Loop: "", // 定时器
}); showIndex: null, // 是否显示遮罩层
let formdata = new FormData(); active: 0,
formdata.append("select", select); tabs: [
dangerReview("/review/list", formdata) {
.then((res) => { title: "待复查",
this.$toast.clear(); api: "/review/list",
this.messageList = res.rows; },
// 判断有无数据返回
if (this.messageList.length == 0) { {
this.isHaveNews = true; title: "已复查",
} api: "/review/finishList",
}) },
.catch(() => { ],
this.$toast.clear(); };
this.$toast.fail("加载失败,请稍后再试");
});
}, },
created() {
touchstart(index, item) { this.postList();
if (this.showIndex != null) {
this.showIndex = null;
return;
}
this.showIndex = index;
}, },
methods: {
onSearch(val) {
this.postList(this.searchValue);
},
postList(select = "") {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
let formdata = new FormData();
formdata.append("select", select);
postFun(this.tabs[this.active]["api"], formdata)
.then((res) => {
this.$toast.clear();
this.messageList = res.rows||res.data;
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
// 详情 touchstart(index, item) {
goDetail(data) { if (this.showIndex != null) {
this.$router.push({ this.showIndex = null;
name: "normal-detail", return;
params: { }
id: data.taskId, this.showIndex = index;
}, },
});
this.showIndex = null; // 详情
}, goDetail(data) {
// 确认 this.$router.push({
goConfirm(data) { name: "normal-detail",
localStorage.setItem("reviewdanger_params", JSON.stringify(data)); params: {
this.$router.push({ id: data.taskId,
name: "review-add", },
params: { });
data, this.showIndex = null;
},
// 确认
goConfirm(data) {
localStorage.setItem("reviewdanger_params", JSON.stringify(data));
this.$router.push({
name: "review-add",
params: {
data,
},
});
this.showIndex = null;
}, },
});
this.showIndex = null;
}, },
}, filters: {
filters: { formatTime: function (row) {
formatTime: function (row) { if (new Date(row.dueDate).getTime() <= row.rectificationTime) {
if (new Date(row.dueDate).getTime() <= row.rectificationTime) { return "超期";
return "超期"; } else if (
} else if ( new Date(row.dueDate).getTime() >= row.rectificationTime &&
new Date(row.dueDate).getTime() >= row.rectificationTime && new Date(row.dueDate).getTime() - 259200000 <=
new Date(row.dueDate).getTime() - 259200000 <= row.rectificationTime row.rectificationTime
) { ) {
//三天 //三天
return "临期"; return "临期";
} else { } else {
return "正常"; return "正常";
} }
},
}, },
},
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
#app { #app {
font-family: ""; font-family: "";
color: #2c3e50; color: #2c3e50;
} }
.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;
padding: 0.25rem; padding: 0.25rem;
font-size: 0.4rem; font-size: 0.4rem;
position: relative; position: relative;
border-radius: 4%; border-radius: 4%;
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;
justify-content: space-evenly; justify-content: space-evenly;
height: 100%; height: 100%;
} }
}
} }
}
} }
</style> </style>
<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> -->
<div class="con-list" @touchmove="showIndex = null">
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="touchstart(index, item)"
>
<van-row gutter="">
<van-col span="6">风险编号:</van-col>
<van-col span="18">{{ item.id }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">所属项目:</van-col>
<van-col span="18">{{ item.pId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">隐患级别:</van-col>
<van-col span="18">{{ item.riskLevel | riskText }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">风险源:</van-col>
<van-col span="18">{{ item.riskSource }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">事故类型:</van-col>
<van-col span="18">{{ item.accidentType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">管控层级:</van-col>
<van-col span="18">{{
item["controlLevel"]
}}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">主责部门:</van-col>
<van-col span="18">{{ item.responsibilityDept }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">主责人员:</van-col>
<van-col span="18">{{ item.responsibilityMember }}</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail(item)"
>详情</van-button
>
</div>
</van-overlay>
</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>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js";
import { dangerReturnDel, myHDList } from "@/service/danger";
export default {
components: {
LHeader,
},
data() {
return {
value: "",
text: "我的上报",
searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层
active: 0,
tabs: [
{
title: "我的上报",
api: "/riskMain/myList",
},
{
title: "上报退回",
api: "/riskMain/list",
},
],
};
},
created() {
this.postList();
},
methods: {
postList(select = "") {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
let formdata = new FormData();
formdata.append("select", select);
postFun("/riskMain/myList", formdata)
.then((res) => {
this.$toast.clear();
this.messageList = res.rows || [];
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
onSearch() {
// console.log(this.value)
this.postList(this.value);
},
touchstart(index, item) {
if (this.showIndex != null) {
this.showIndex = null;
return;
}
this.showIndex = index;
},
goDetail(data) {
this.$router.push({
// name: "insert-danger-detail",
name: "risk-big-detail",
params: {
id: data.processinstanceId,
},
});
this.showIndex = null;
},
// 提交
goSubmit(data) {
this.$router.push({
name: "add-danger",
params: {
status: "退回",
taskId: data.taskId,
},
});
this.showIndex = null;
},
// 删除
goDelete(data) {
this.$toast.loading({
message: "删除中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
dangerReturnDel(`/hdreport/delete/${data.taskId}`)
.then((res) => {
this.$toast.clear();
this.$toast.success({
message: "删除成功",
duration: 2000,
});
this.postList();
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("删除失败,请稍后再试");
});
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%;
}
}
}
}
</style>
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <!-- 可提交 -->
<van-sticky offset-top="0">
<LHeader :text="text"></LHeader>
</van-sticky>
<!-- <van-sticky offset-top="1.5rem"> <!-- <van-sticky offset-top="1.5rem">
<van-search <van-search
v-model="searchValue" v-model="searchValue"
...@@ -13,66 +16,78 @@ ...@@ -13,66 +16,78 @@
</template> </template>
</van-search> </van-search>
</van-sticky> --> </van-sticky> -->
<!-- 内容列表 --> <van-tabs
<!-- 接口对接4 START --> v-model="active"
<div class="con-list" @touchmove="showIndex = null"> @change="
<van-cell-group getList();
inset showIndex = null;
v-for="(item, index) in messageList" "
:key="index" color="#2980f7"
@click="touchstart(index, item)" animated
> :sticky="true"
<van-row gutter=""> offset-top="1.5rem"
<van-col span="6">风险编号:</van-col> >
<van-col span="18">{{ item.businessId }}</van-col> <van-tab v-for="(item, key) in tabs" :key="key" :title="item.title">
</van-row> <div class="con-list" @touchmove="showIndex = null">
<van-row gutter=""> <van-cell-group
<van-col span="6">所属项目:</van-col> inset
<van-col span="18">{{ item.proId }}</van-col> v-for="(item, index) in messageList"
</van-row> :key="index"
<van-row gutter=""> @click="touchstart(index, item)"
<van-col span="6">风险级别:</van-col> >
<van-col span="18">{{ item.riskLevel }}</van-col> <van-row gutter="">
</van-row> <van-col span="6">风险编号:</van-col>
<!-- <van-row gutter=""> <van-col span="18">{{ item.businessId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">所属项目:</van-col>
<van-col span="18">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">风险级别:</van-col>
<van-col span="18">{{ item.riskLevel }}</van-col>
</van-row>
<!-- <van-row gutter="">
<van-col span="6">发现时间:</van-col> <van-col span="6">发现时间:</van-col>
<van-col span="18">{{ item.startDate }}</van-col> <van-col span="18">{{ item.startDate }}</van-col>
</van-row> --> </van-row> -->
<van-row gutter=""> <van-row gutter="">
<van-col span="6">风险源:</van-col> <van-col span="6">风险源:</van-col>
<van-col span="18">{{ item.riskSource }}</van-col> <van-col span="18">{{ item.riskSource }}</van-col>
</van-row> </van-row>
<!-- *接口对接4 END --> <!-- *接口对接4 END -->
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null"> <div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail(item)" <van-button round type="primary" @click="goDetail(item)"
>详情</van-button >详情</van-button
> >
</div> </div>
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div <div
style=" style="
width: 100%; width: 100%;
text-align: center; text-align: center;
font-size: 0.48rem; font-size: 0.48rem;
position: fixed; position: fixed;
top: 30%; top: 30%;
" "
v-if="isHaveNews" v-if="messageList['length']==0"
> >
暂无数据 暂无数据
</div> </div>
</van-tab>
</van-tabs>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import {getFun,postFun} from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
import { postriskBook } from "@/service/risk"; import { postriskBook } from "@/service/risk";
/*接口对接2 START*/ /*接口对接2 START*/
...@@ -102,6 +117,17 @@ export default { ...@@ -102,6 +117,17 @@ export default {
isHaveNews: false, isHaveNews: false,
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层 showIndex: null, // 是否显示遮罩层
active: 0,
tabs: [
{
title: "已挂账",
api: "/riskMain/doneList",
},
{
title: "待确认",
api: "/riskMain/doneListConfirm",
},
],
}; };
}, },
created() { created() {
...@@ -117,14 +143,10 @@ export default { ...@@ -117,14 +143,10 @@ export default {
loadingType: "spinner", loadingType: "spinner",
duration: 0, duration: 0,
}); });
postriskBook("/riskMain/doneList") postFun(this.tabs[this.active]['api'])
.then((res) => { .then((res) => {
this.$toast.clear(); this.$toast.clear();
this.messageList = res.rows; this.messageList = res.rows;
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
}) })
.catch(() => { .catch(() => {
this.$toast.clear(); this.$toast.clear();
......
<template> <template>
<!-- 提交 -->
<div> <div>
<LHeader :text="text"></LHeader> <van-sticky offset-top="0">
<LHeader :text="text"></LHeader>
</van-sticky>
<van-sticky offset-top="1.5rem"> <van-sticky offset-top="1.5rem">
<van-search <van-search
v-model="searchValue" v-model="searchValue"
...@@ -13,81 +16,107 @@ ...@@ -13,81 +16,107 @@
</template> </template>
</van-search> </van-search>
</van-sticky> </van-sticky>
<van-tabs
<!-- 内容列表 --> v-model="active"
<div class="con-list" @touchmove="showIndex = null"> @change="
<van-cell-group postList();
inset showIndex = null;
v-for="(item, index) in messageList" "
:key="index" color="#2980f7"
@click="touchstart(index, item)" animated
> :sticky="true"
<van-row gutter=""> offset-top="3rem"
<van-col span="6">风险编号:</van-col>
<van-col span="18">{{ item.businessId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">所属项目:</van-col>
<van-col span="18">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">风险级别:</van-col>
<van-col span="18">{{ item.riskLevel }}</van-col>
</van-row>
<!-- <van-row gutter="">
<van-col span="6">发现时间:</van-col>
<van-col span="18">{{ item.startDate }}</van-col>
</van-row> -->
<van-row gutter="">
<van-col span="6">风险源:</van-col>
<van-col span="18">{{ item.riskSource }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">事故类型:</van-col>
<van-col span="18">{{ item.accidentType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">管控层级:</van-col>
<van-col span="18">{{ item.controllevel }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">主责部门:</van-col>
<van-col span="18">{{ item.responsibilityDept }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">主责人员:</van-col>
<van-col span="18">{{ item.responsibilityMember }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">工单状态:</van-col>
<van-col span="18">{{ item.taskName }}</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop ="showIndex = null">
<van-button round type="primary" @click="goDetail(item)"
>详情</van-button
>
<van-button round type="info" @click="goConfirm(item)"
>确认</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
> >
暂无数据 <van-tab v-for="(item, key) in tabs" :key="key" :title="item.title">
</div> <!-- 内容列表 -->
<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="6">风险编号:</van-col>
<van-col span="18">{{ item[['businessId','id'][active]] }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">所属项目:</van-col>
<van-col span="18">{{ item[['proId','pId'][active]] }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">风险级别:</van-col>
<van-col span="18">{{ item.riskLevel }}</van-col>
</van-row>
<!-- <van-row gutter="">
<van-col span="6">发现时间:</van-col>
<van-col span="18">{{ item.startDate }}</van-col>
</van-row> -->
<van-row gutter="">
<van-col span="6">风险源:</van-col>
<van-col span="18">{{ item.riskSource }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">事故类型:</van-col>
<van-col span="18">{{ item.accidentType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">管控层级:</van-col>
<van-col span="18">{{ item[['controllevel','controlLevel'][active]] }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">主责部门:</van-col>
<van-col span="18">{{ item.responsibilityDept }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="6">主责人员:</van-col>
<van-col span="18">{{ item.responsibilityMember }}</van-col>
</van-row>
<!-- <van-row gutter="" v-show="item.taskName">
<van-col span="6">工单状态:</van-col>
<van-col span="18">{{ item.taskName }}</van-col>
</van-row> -->
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail(item)"
>详情</van-button
>
<van-button round type="info" @click="goConfirm(item)" v-show="active==0"
>确认</van-button
>
</div>
</van-overlay>
</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>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import {getFun,postFun} from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
import { postriskConList } from "@/service/risk"; import { postriskConList } from "@/service/risk";
export default { export default {
components: { components: {
...@@ -96,32 +125,42 @@ export default { ...@@ -96,32 +125,42 @@ export default {
data() { data() {
return { return {
text: "风险确认", text: "风险确认",
active: "1",
searchValue: "", searchValue: "",
isHaveNews: false, isHaveNews: false,
messageList:[], messageList: [],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null, // 是否显示遮罩层,
active: 0,
tabs: [
{
title: "待确认",
api: "/riskConfirm/list",
},
{
title: "已确认",
api: "/riskConfirm/finishList",
},
],
}; };
}, },
created() { created() {
this.postList() this.postList();
}, },
methods: { methods: {
postList(select=''){ postList(select = "") {
this.$toast.loading({ this.$toast.loading({
message: "加载中...", message: "加载中...",
forbidClick: true, forbidClick: true,
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0,
}); });
let formdata=new FormData(); let formdata = new FormData();
formdata.append('select',select) formdata.append("select", select);
postFun("/riskConfirm/list",formdata) postFun(this.tabs[this.active]['api'], formdata)
.then(res => { .then((res) => {
this.$toast.clear(); this.$toast.clear();
this.messageList = res.rows this.messageList = res.rows;
// 判断有无数据返回 // 判断有无数据返回
if (this.messageList.length == 0) { if (this.messageList.length == 0) {
this.isHaveNews = true; this.isHaveNews = true;
} }
...@@ -133,12 +172,12 @@ export default { ...@@ -133,12 +172,12 @@ export default {
}, },
onSearch(val) { onSearch(val) {
this.postList(this.searchValue) this.postList(this.searchValue);
}, },
touchstart(index, item) { touchstart(index, item) {
if (this.showIndex != null) { if (this.showIndex != null) {
this.showIndex = null; this.showIndex = null;
return return;
} }
this.showIndex = index; this.showIndex = index;
}, },
...@@ -148,8 +187,8 @@ export default { ...@@ -148,8 +187,8 @@ export default {
this.$router.push({ this.$router.push({
name: "risk-big-detail", name: "risk-big-detail",
params: { params: {
id: data.taskId id: data.taskId||data.processinstanceId,
} },
}); });
this.showIndex = null; this.showIndex = null;
}, },
...@@ -159,27 +198,36 @@ export default { ...@@ -159,27 +198,36 @@ export default {
name: "risk-affirm", name: "risk-affirm",
params: { params: {
data: data, data: data,
} },
}); });
this.showIndex = null; this.showIndex = null;
} },
} },
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */
#app {
font-family: "";
color: #2c3e50;
}
.con-list { .con-list {
padding: 10px 10px .533333rem; padding: 0;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
margin-bottom: 10px; margin-bottom: 0.26667rem;
padding: 10px; padding: 0.25rem;
font-size: 13px; font-size: 0.4rem;
position: relative; position: relative;
border-radius: 4%;
box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%;
margin: 0.4rem auto;
.van-row { .van-row {
margin-bottom: 0.133333rem; font-size: 0.4rem;
line-height: 0.64rem; line-height: 0.8rem;
margin-bottom: 0;
} }
.van-overlay { .van-overlay {
position: absolute; position: absolute;
......
...@@ -128,6 +128,13 @@ export default { ...@@ -128,6 +128,13 @@ export default {
imgUrl: require("@/assets/workbench/risk-report.png"), imgUrl: require("@/assets/workbench/risk-report.png"),
text: "风险上报", text: "风险上报",
}, },
{
key: "12",
// path: "/danger",
path: "/insert-risk",
imgUrl: require("@/assets/workbench/risk-confirm.png"),
text: "我的上报",
},
{ {
key: "3", key: "3",
path: "/risk-confirme", path: "/risk-confirme",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment