Commit 7a15b5b0 authored by 13841799530's avatar 13841799530

Merge branch 'develop' of http://git.censoft.com.cn/BCDH-HSE/bcdh-app into develop

parents 747e09e0 b80a7c33
......@@ -32,6 +32,7 @@ new Vue({
Vue.prototype.$md5 = md5;
Vue.prototype.prefix = prefix;
Vue.prototype.$bus = new Vue;
Array.prototype.remove = function(val) {
var index = this.indexOf(val);
......
This diff is collapsed.
......@@ -2,166 +2,216 @@ import request from '@/utils/axios'
// 隐患上报模块
// 请求新增表单数据信息的
export function getFormList(url,params) {
return request({
url: url,
method: 'get',
params
})
export function getFormList(url, params) {
return request({
url: url,
method: 'get',
params
})
}
// 隐患类型
export function postHdTyp(url,data) {
return request({
url: url,
method: 'post',
data
})
export function postHdTyp(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患项目名称
export function postHdName(url,data) {
return request({
url: url,
method: 'post',
data
})
export function postHdName(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患项目编号和隐患级别
export function postHdInventories(url,data) {
return request({
url: url,
method: 'post',
data
})
export function postHdInventories(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险源带出来的字段
export function postHdRiskSource(url,data) {
return request({
url: url,
method: 'post',
data
})
export function postHdRiskSource(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患整改人接口
export function postHdShowPeople(url,data) {
return request({
url: url,
method: 'post',
data
})
export function postHdShowPeople(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患上报保存接口
export function postHdReportAdd(url,data) {
return request({
url: url,
method: 'post',
data
})
export function postHdReportAdd(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患上报已退回列表
export function dangerReturn(url,data) {
return request({
url: url,
method: 'post',
data
})
export function dangerReturn(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患上报已退回删除
export function dangerReturnDel(url,data) {
return request({
url: url,
method: 'post',
data
})
export function dangerReturnDel(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患上报已退回 回显所有数据接口
export function dangerReturnEcho(url,data) {
return request({
url: url,
method: 'get',
data
})
export function dangerReturnEcho(url, data) {
return request({
url: url,
method: 'get',
data
})
}
// 隐患上报已退回 保存接口
export function dangerReturnAdd(url, data) {
return request({
url: url,
method: 'get',
data
})
}
// 隐患确认模块
// 隐患确认列表
export function dangerConfirm(url,data) {
return request({
url: url,
method: 'post',
data
})
export function dangerConfirm(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患确认form表单列表数据
export function getConfirmFormList(url,params) {
return request({
url: url,
method: 'get',
params
})
export function getConfirmFormList(url, params) {
return request({
url: url,
method: 'get',
params
})
}
// 隐患确认提交
export function dangerConSub(url,data) {
return request({
url: url,
method: 'post',
data
})
export function dangerConSub(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患整改模块
// 隐患整改列表
export function dangerRect(url,data) {
return request({
url: url,
method: 'post',
data
})
export function dangerRect(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患整改 有退回原因的
export function dangerRectReturn(url,params) {
return request({
url: url,
method: 'get',
params
})
export function dangerRectReturn(url, params) {
return request({
url: url,
method: 'get',
params
})
}
// 隐患整改保存 没有退回原因
export function dangerRectAdd(url,data) {
return request({
url: url,
method: 'post',
data
})
export function dangerRectAdd(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 整改复查模块
// 整改复查列表
export function dangerReview(url,data) {
return request({
url: url,
method: 'post',
data
})
export function dangerReview(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 整改复查保存
export function dangerReviewAdd(url,data) {
return request({
url: url,
method: 'post',
data
})
export function dangerReviewAdd(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患历史台账模块
export function dangerStandBook(url,data) {
return request({
url: url,
method: 'post',
data
})
export function dangerStandBook(url, data) {
return request({
url: url,
method: 'post',
data
})
}
// 隐患各种台账详情模块
export function standBookDetail(url, data) {
return request({
url: url,
method: 'post',
data
})
}
//重大隐患台账
export function majorList(url, data) {
return request({
url: url,
method: 'post',
data
})
}
//隐患督办
export function superviseList(url, data) {
return request({
url: url,
method: 'post',
data
})
}
//经理督办
export function superviseSABList(url, data) {
return request({
url: url,
method: 'post',
data
})
}
/*接口对接1 START*/
/*接口对接1 END*/
\ No newline at end of file
import request from '@/utils/axios'
// 风险上报模块
// 请求新增表单数据信息的
export function getFormList(url,params) {
return request({
url: url,
method: 'get',
params
})
}
// 风险源
export function postHdSource(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 事故类型
export function postHdType(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 主责人员
export function postHdPeople(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险上报提交
export function postReAdd(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险确认列表
export function postriskConList(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险确认保存
export function postriskConAdd(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险退回列表
export function postriskConReturn(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险退回列表 删除
export function postriskConReDel(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 风险退回重新上报 退回原因接口
export function postriskConiCause(url,data) {
return request({
url: url,
method: 'get',
data
})
}
// 风险台账
export function postriskBook(url,data) {
return request({
url: url,
method: 'post',
data
})
}
/*接口对接1 START*/
/*接口对接1 END*/
......@@ -103,8 +103,8 @@ export default {
.login {
background-size: cover;
background-repeat: no-repeat;
// background-position: center;
// background-attachment: fixed;
background-position: center;
background-attachment: fixed;
.login-logo {
width: 120px;
margin: 22% auto 0px;
......
......@@ -159,11 +159,13 @@
name="dangerSource"
:value="source1"
label=" "
placeholder="请选择"
@click="showSource1 = true"
placeholder="请选择"
:rules="[{ required: true, message: '风险源不能为空' }]"
/>
<van-popup v-model="showSource1" position="bottom">
<!-- @click="goSelectTwo" -->
<van-popup v-model="showSource1" position="bottom">
<van-picker
show-toolbar
value-key="riskSource"
......@@ -194,7 +196,6 @@
<van-field
name="hdPicture1"
label="隐患照片"
:rules="[{ required: true, message: '请上传图像' }]"
>
<template #input>
<van-uploader v-model="uploaderImg" />
......@@ -267,7 +268,7 @@ import {
postHdRiskSource,
postHdShowPeople,
postHdReportAdd,
dangerReturnEcho
dangerReturnEcho,
} from "@/service/danger";
export default {
components: {
......@@ -320,10 +321,14 @@ export default {
showRecPeople: false,
columnsRecPeople: [],
isShowreturnCause: false,
returnCause: "你这不行啊" // 退回原因
returnCause: "" // 退回原因
};
},
mounted(){
// this.$bus.$on("sourceAyy", res =>{
// console.log(res.join(","));
// })
},
methods: {
onSubmit(values) {
console.log("submit", values);
......@@ -349,6 +354,11 @@ export default {
loadingType: "spinner",
duration: 0
});
url =
// if(this.taskId){
// url = `/hdreport/editSave/${this.taskId}`
// }
postHdReportAdd("/hdreport/add", formdata)
.then(res => {
this.$toast.clear();
......@@ -395,7 +405,31 @@ export default {
dangerReturnEcho(`/hdreport/edit/${this.taskId}`)
.then(res => {
this.$toast.clear();
console.log(res);
let msg = res.data.hdReport
// 对数据进行赋值
this.returnCause = res.data.reason;
this.projectId = msg.proId;
// 对所属工程数组筛选出 相同id 的工程名
let name = this.columnsProjectName.filter(item =>{
return item.id == msg.proId
})
this.projectName = name[0].projectName
this.range = msg.hdRange
this.type = msg.hdType
this.dangerName = msg.hdProjectName
this.dangerNum = msg.hdProjectId
this.dangerLevel = msg.hdLev
this.findTime = msg.hdDiscoveryTime
this.source = msg.dangerId
this.source1 = msg.dangerSource
this.location = msg.hdPosition
this.describe = msg.hdDescribe
this.hdPicture1 = msg.hdPicture1
this.hdVideo1 = msg.hdVideo1
this.expireTime = msg.hdExpirationTime
this.recPeople = msg.rectificationUser
})
.catch(() => {
this.$toast.clear();
......@@ -417,6 +451,10 @@ export default {
onConRange(value) {
this.range = value.hdRange;
this.showRange = false;
this.type = ""
this.dangerName = ""
this.dangerNum = ""
this.dangerLevel = ""
// 去请求隐患类型的数据
postHdTyp(`/hdreport/showHdType/${this.range}`).then(res => {
this.columnsType = res.data;
......@@ -426,6 +464,9 @@ export default {
onConType(value) {
this.type = value.hdType;
this.showType = false;
this.dangerName = ""
this.dangerNum = ""
this.dangerLevel = ""
// 请求隐患项目名称的数据
console.log(this.range);
postHdName(`/hdreport/showHdName/${this.range}/${this.type}`).then(
......@@ -467,6 +508,19 @@ export default {
this.source1 = value.riskSource;
this.showSource1 = false;
},
// goSelectTwo(){
// if(this.source){
// // 跳转到多选页面
// this.$router.push({
// name: "choose-people",
// params:{
// source:this.source
// }
// })
// }else{
// this.$toast("请先选择风险源");
// }
// },
// 隐患到期时间
onConExpireTime(date) {
this.expireTime = timestampToTime(date, "DT1", true);
......
<template>
<div>
<LHeader :text="text"></LHeader>
<!-- 内容列表 -->
<van-checkbox-group v-model="result">
<van-cell-group>
<van-cell
v-for="(item, index) in messageList"
clickable
:key="item.index"
:title="item.riskSource"
@click="toggle(index)"
>
<template #right-icon>
<van-checkbox :name="item.riskSource" ref="checkboxes" />
</template>
</van-cell>
</van-cell-group>
</van-checkbox-group>
<div class="footer-con">
<div style="color: #1989fa;">已选择: {{result.length}}</div>
<div>
<van-button type="info" @click="confirm">确定</van-button>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { postHdRiskSource } from "@/service/danger";
export default {
components: {
LHeader
},
data() {
return {
text: "选择风险源",
source: "",
messageList: [],
result: []
};
},
created() {
this.source = this.$route.params.source
console.log(this.source);
if(this.source){
this.getList()
}
},
methods: {
// 请求数据
getList(){
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
let formdata = new FormData();
formdata.append("factor", this.source);
postHdRiskSource("/riskSource/list", formdata).then(res => {
this.$toast.clear();
this.messageList = res.data;
}).catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
toggle(index) {
this.$refs.checkboxes[index].toggle();
},
confirm() {
console.log(this.result);
this.$bus.$emit("sourceAyy",this.result)
this.$router.go(-1)
},
// 请求风险源对应的数据
}
};
</script>
<style lang="less" scoped>
.footer-con {
height: 1.333333rem;
width: 100%;
background-color: white;
padding: 0 0.266667rem;
box-sizing: border-box;
position: fixed;
bottom: 0;
display: flex;
align-items: center;
justify-content: space-between;
}
</style>
This diff is collapsed.
......@@ -115,6 +115,12 @@ export default {
// 详情
goDetail(data) {
console.log(data);
this.$router.push({
name: "normal-detail",
params: {
id: data.taskId
}
});
this.showIndex = null;
},
// 确认
......
<template>
<div>
<LHeader :text="text"></LHeader>
<!-- 内容列表 -->
<div class="con-list">
<div class="cell-wrap">
<p>隐患上报</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"><span class="field-title">所属工程名称:</span></van-col>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患项目名称:</span></van-col>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患发现时间:</span></van-col>
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患级别:</span></van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="reportOpen">
<van-row gutter="">
<van-col span="7"><span class="field-title">试用范围:</span></van-col>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患类型:</span></van-col>
<van-col span="17">{{ item.type }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患项目编号</span>:</van-col>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">风险源:</span></van-col>
<van-col span="17">{{ item.source }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">风险源因素:</span></van-col>
<van-col span="17">{{ item.source1 }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">检查部位:</span></van-col>
<van-col span="17">{{ item.location }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患项目编号:</span></van-col>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患描述:</span></van-col>
<van-col span="17">{{ item.describe }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患照片:</span></van-col>
<van-col span="17">{{ item.uploaderImg }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患视频:</span></van-col>
<van-col span="17">{{ item.uploaderVideo }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患到期时间:</span></van-col>
<van-col span="17">{{ item.expireTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">隐患整改人:</span></van-col>
<van-col span="17">{{ item.recPeople }}</van-col>
</van-row>
</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="reportReverse">
{{ reportOpenText }}
</div>
</div>
<div class="journal-wrap">
<p>日志信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-steps direction="vertical" :active="999">
<van-step>
<div class="step-wrap">
<van-row>
<van-col span="24"
><div class="info-title">日志信息</div></van-col
>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">审批人:</span></van-col
>
<van-col span="19">首华建设项目</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">节点</span></van-col
>
<van-col span="19">隐患上报</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">结果:</span></van-col
>
<van-col span="19">通过</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">部门:</span></van-col
>
<van-col span="19">首华建设项目部</van-col>
</van-row>
<van-row>
<van-col span="5"
><span class="field-title">时间:</span></van-col
>
<van-col span="19">2021-10-26 16:30:00</van-col>
</van-row>
</div>
</van-step>
</van-steps>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="journalReverse">
{{ journalOpenText }}
</div>
</div>
<div class="supervise-wrap">
<p>督办信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<div style="text-align: center;">暂无数据</div>
</van-cell-group>
<!-- 展开 -->
<div class="more" @click="superviseReverse" v-show="false">
{{ superviseOpenText }}
</div>
</div>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
export default {
components: {
LHeader
},
data() {
return {
text: "隐患确认详情",
reportOpen: false,
reportOpenText: "展开 ▼",
journalOpen: false,
journalOpenText: "展开 ▼",
superviseOpen: false,
superviseOpenText: "展开 ▼",
reportList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A",
range: "城市轨道交通工程",
type: "临时用电",
dangerNum: "0-03-06-0003",
source: "违规活动",
source1: "人的因素",
location: "临时用电",
describe: "没按规定放置插排",
uploaderImg: [],
uploaderVideo: [],
expireTime: "2021-10-26 16:30:00",
recPeople: "张三"
}
],
journalList: []
};
},
mounted() {},
methods: {
// 上报信息显示或隐藏
reportReverse() {
this.reportOpen = !this.reportOpen;
if (this.reportOpen) {
this.reportOpenText = "收起 ▲";
} else {
this.reportOpenText = "展开 ▼";
}
},
// 日志信息显示或隐藏
journalReverse() {
this.journalOpen = !this.journalOpen;
if (this.journalOpen) {
// 显示所有数据
this.journalOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.journalOpenText = "展开 ▼";
}
},
// 督办信息显示或隐藏
superviseReverse() {
this.superviseOpen = !this.superviseOpen;
if (this.superviseOpen) {
// 显示所有数据
this.superviseOpenText = "收起 ▲";
} else {
// 只渲染一条数据
this.superviseOpenText = "展开 ▼";
}
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.cell-wrap {
position: relative;
}
p {
font-size: 0.4rem;
font-weight: 600;
padding-left: 0.16rem;
margin: 0.186667rem 0;
color: #7f7f7f;
}
.van-cell-group--inset {
margin: 0;
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
position: relative;
.van-row {
margin-bottom: .133333rem;
line-height: .64rem;
}
}
.journal-wrap {
position: relative;
}
.supervise-wrap{
position: relative;
}
.info-title {
color: #2980f7;
font-weight: bolder;
}
.field-title {
color: black;
font-weight: bolder;
}
.more {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
}
</style>
......@@ -93,7 +93,6 @@ export default {
dangerConfirm("/confirm/list").then(res =>{
this.$toast.clear();
this.messageList = res.rows
console.log(this.messageList);
}).catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
......@@ -117,7 +116,12 @@ export default {
// 详情
goDetail(data) {
console.log(data);
this.$router.push("/con-detail");
this.$router.push({
name: "normal-detail",
params: {
id: data.taskId
}
});
this.showIndex = null;
},
// 确认
......
<template>
<div>
<!-- 内容列表 -->
<LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<div class="con-list">
<van-cell-group
inset
......@@ -10,10 +13,12 @@
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<van-row gutter="">
<van-col span="7">所属工程名称:</van-col>
<van-col span="17">{{ item.project }}</van-col>
<van-col span="17">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
......@@ -26,7 +31,7 @@
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
......@@ -34,35 +39,75 @@
<van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button
>
<van-button round type="warning" @touchstart="goDelete(item)"
>删除</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { postriskBook } from "@/service/risk";
/*接口对接2 START*/
// 例子:
// import {
// getFormList,
// postHdTyp,
// postHdName,
// postHdInventories,
// postHdRiskSource,
// postHdShowPeople,
// postHdReportAdd,
// dangerReturnEcho,
// } from "@/service/danger";
/*接口对接2 END*/
export default {
components: {
LHeader,
},
data() {
return {
messageList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
text: "延期审批",
searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
mounted() {},
created() {
this.getList();
},
methods: {
read() {},
getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskBook("/riskMain/doneList")
.then(res => {
this.$toast.clear();
this.messageList = res.rows
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch(val) {
console.log(val);
},
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
......@@ -83,16 +128,13 @@ export default {
goDetail(data) {
console.log(data);
this.$router.push({
name: 'risk-add',
params: {status: "退回"}
});
name: "risk-big-detail",
params: {
id: data.businessId
}
});
this.showIndex = null;
},
// 删除
goDelete(data) {
console.log(data);
this.showIndex = null;
}
}
};
</script>
......
<template>
<div>
<LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<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)"
>
<van-row gutter="">
<van-col span="7">隐患编号:</van-col>
<van-col span="17">{{ item.businessId }}</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">隐患级别:</van-col>
<van-col span="17">{{ item.hdLev }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">发现时间:</van-col>
<van-col span="17">{{ item.startDate }}</van-col>
</van-row>
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop>
<van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { majorList } from "@/service/danger";
/*接口对接2 START*/
// 例子:
// import {
// getFormList,
// postHdTyp,
// postHdName,
// postHdInventories,
// postHdRiskSource,
// postHdShowPeople,
// postHdReportAdd,
// dangerReturnEcho,
// } from "@/service/danger";
/*接口对接2 END*/
export default {
components: {
LHeader,
},
data() {
return {
text: "重大隐患",
searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
created() {
this.getList();
},
methods: {
getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
majorList("/majorapprove/list")
.then(res => {
this.$toast.clear();
this.messageList = res.rows
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch(val) {
console.log(val);
},
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.$router.push({
name: "risk-big-detail",
params: {
id: data.businessId
}
});
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;
.van-row{
margin-bottom: .133333rem;
line-height: .64rem;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
</style>
<template>
<div>
<!-- 内容列表 -->
<LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<div class="con-list">
<van-cell-group
inset
......@@ -10,23 +13,24 @@
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<van-row gutter="">
<van-col span="7">所属工程名称:</van-col>
<van-col span="17">{{ item.project }}</van-col>
<van-col span="7">隐患编号:</van-col>
<van-col span="17">{{ item.processInstanceId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
<van-col span="17">{{ item.projectName }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.findTime }}</van-col>
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.hdLev }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.createTime }}</van-col>
</van-row>
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
......@@ -38,28 +42,71 @@
</van-overlay>
</van-cell-group>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { superviseSABList } from "@/service/danger";
/*接口对接2 START*/
// 例子:
// import {
// getFormList,
// postHdTyp,
// postHdName,
// postHdInventories,
// postHdRiskSource,
// postHdShowPeople,
// postHdReportAdd,
// dangerReturnEcho,
// } from "@/service/danger";
/*接口对接2 END*/
export default {
components: {
LHeader,
},
data() {
return {
messageList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
text: "项目经理督办",
searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
mounted() {},
created() {
this.getList();
},
methods: {
read() {},
getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
superviseSABList("/supervise/SABlist")
.then(res => {
this.$toast.clear();
this.messageList = res.rows
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch(val) {
console.log(val);
},
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
......@@ -79,10 +126,14 @@ export default {
// 详情
goDetail(data) {
console.log(data);
this.$router.push("/risk-big-detail");
this.$router.push({
name: "risk-big-detail",
params: {
id: data.businessId
}
});
this.showIndex = null;
},
}
};
</script>
......
......@@ -33,7 +33,7 @@
</van-row>
<van-row gutter="">
<van-col span="5">超期标识:</van-col>
<van-col span="19">{{ item.dueDate | formatTime }}</van-col>
<van-col span="19">{{ item | formatTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">状态:</van-col>
......@@ -116,7 +116,12 @@ export default {
// 详情
goDetail(data) {
console.log(data);
this.$router.push("/review-detail");
this.$router.push({
name: "normal-detail",
params: {
id: data.taskId
}
});
this.showIndex = null;
},
// 确认
......@@ -132,13 +137,14 @@ export default {
}
},
filters: {
formatTime: function(val) {
if (new Date(val).getTime() <= new Date().getTime()) {
formatTime: function(row) {
if (new Date(row.dueDate).getTime() <= row.rectificationTime) {
return "超期";
} else if (
new Date(val).getTime() >= new Date().getTime() &&
new Date(val).getTime() <= new Date().getTime() + 259200000
new Date(row.dueDate).getTime() >= row.rectificationTime &&
new Date(row.dueDate).getTime() - 259200000 <= row.rectificationTime
) {
//三天
return "临期";
} else {
return "正常";
......
This diff is collapsed.
......@@ -8,7 +8,6 @@
inset
v-for="(item, index) in messageList"
:key="index"
@click="read(item)"
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
......@@ -34,7 +33,7 @@
</van-row>
<van-row gutter="">
<van-col span="5">超期标识:</van-col>
<van-col span="19">{{ item.dueDate | formatTime }}</van-col>
<van-col span="19">{{ item | formatTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">状态:</van-col>
......@@ -86,7 +85,7 @@ export default {
loadingType: "spinner",
duration: 0
});
dangerStandBook("/review/list")
dangerStandBook("/hdreport/doneList")
.then(res => {
this.$toast.clear();
this.messageList = res.rows;
......@@ -115,9 +114,26 @@ export default {
// 详情
goDetail(data) {
console.log(data);
this.$router.push("/normal-detail");
this.$router.push({
name: "normal-detail",
params:{
id: data.businessId
}
});
this.showIndex = null;
},
},
filters: {
formatTime: function(row) {
if (row.dueDate <= row.rectificationTime) {
return "超期"
} else if (row.dueDate >= row.rectificationTime && row.dueDate - 259200000 <= row.rectificationTime) {
//三天
return "临期"
} else {
return "正常"
}
}
}
};
</script>
......
This diff is collapsed.
<template>
<div>
<!-- 内容列表 -->
<LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<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)"
>
<van-row gutter="">
<van-col span="7">所属工程名称:</van-col>
<van-col span="17">{{ item.project }}</van-col>
<van-col span="7">隐患编号:</van-col>
<van-col span="17">{{ item.processInstanceId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col>
<van-col span="17">{{ item.projectName }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.findTime }}</van-col>
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.hdLev }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.level }}</van-col>
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.createTime }}</van-col>
</van-row>
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
......@@ -34,35 +37,75 @@
<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>
import LHeader from "@/components/header.vue";
import { superviseList } from "@/service/danger";
/*接口对接2 START*/
// 例子:
// import {
// getFormList,
// postHdTyp,
// postHdName,
// postHdInventories,
// postHdRiskSource,
// postHdShowPeople,
// postHdReportAdd,
// dangerReturnEcho,
// } from "@/service/danger";
/*接口对接2 END*/
export default {
components: {
LHeader,
},
data() {
return {
messageList: [
{
project: "朝阳区和平街14区简易住宅楼改造项目",
subject: "临时用电施工组织设计未对盾构施工用电进行专项说明。",
findTime: "2021-10-26 16:30:00",
level: "一般隐患A"
}
],
text: "隐患督办123",
searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
mounted() {},
created() {
this.getList();
},
methods: {
read() {},
getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
superviseList("/supervise/list")
.then(res => {
this.$toast.clear();
this.messageList = res.data
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch(val) {
console.log(val);
},
touchstart(index, item) {
clearTimeout(this.Loop); //再次清空延时器,防止重复注册定时器
......@@ -82,15 +125,14 @@ export default {
// 详情
goDetail(data) {
console.log(data);
this.$router.push("/affirm-detail");
this.$router.push({
name: "risk-big-detail",
params: {
id: data.businessId
}
});
this.showIndex = null;
},
// 确认
goConfirm(data) {
console.log(data);
this.$router.push("/risk-affirm");
this.showIndex = null;
}
}
};
</script>
......
......@@ -2,44 +2,169 @@
<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="重大风险">
<risk-big-list></risk-big-list>
</van-tab>
<van-tab title="一般风险">一般风险</van-tab>
</van-tabs>
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<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)"
>
<van-row gutter="">
<van-col span="7">风险编号:</van-col>
<van-col span="17">{{ item.processInstanceId }}</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">风险等级:</van-col>
<van-col span="17">{{ item.riskLevel }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">风险源:</van-col>
<van-col span="17">{{ item.riskSource }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">创建时间:</van-col>
<van-col span="17">{{ item.startDate }}</van-col>
</van-row>
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop>
<van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import riskBigList from './riskBigList.vue';
import { postriskBook } from "@/service/risk";
/*接口对接2 START*/
// 例子:
// import {
// getFormList,
// postHdTyp,
// postHdName,
// postHdInventories,
// postHdRiskSource,
// postHdShowPeople,
// postHdReportAdd,
// dangerReturnEcho,
// } from "@/service/danger";
/*接口对接2 END*/
export default {
components: {
LHeader,
riskBigList
},
data() {
return {
text: "风险历史台账",
active: "1",
searchValue: ""
searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
mounted() {},
created() {
this.getList();
},
methods: {
getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskBook("/riskMain/doneList")
.then(res => {
this.$toast.clear();
this.messageList = res.rows
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
/*接口对接3 END*/
},
onSearch(val) {
console.log(val);
}
},
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.$router.push({
name: "risk-big-detail",
params: {
id: data.businessId
}
});
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;
.van-row{
margin-bottom: .133333rem;
line-height: .64rem;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
</style>
......@@ -7,11 +7,15 @@
<p>风险上报</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<van-row gutter="">
<van-col span="7"><span class="field-title">所属工程名称:</span></van-col>
<van-col span="7"
><span class="field-title">所属工程名称:</span></van-col
>
<van-col span="17">{{ item.project }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">风险因素:</span></van-col>
<van-col span="7"
><span class="field-title">风险因素:</span></van-col
>
<van-col span="17">{{ item.subject }}</van-col>
</van-row>
<van-row gutter="">
......@@ -19,58 +23,84 @@
<van-col span="17">{{ item.findTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">事故类型:</span></van-col>
<van-col span="7"
><span class="field-title">事故类型:</span></van-col
>
<van-col span="17">{{ item.level }}</van-col>
</van-row>
<!-- 隐藏的字段 -->
<div v-show="reportOpen">
<van-row gutter="">
<van-col span="7"><span class="field-title">风险等级:</span></van-col>
<van-col span="7"
><span class="field-title">风险等级:</span></van-col
>
<van-col span="17">{{ item.range }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">风险部位:</span></van-col>
<van-col span="7"
><span class="field-title">风险部位:</span></van-col
>
<van-col span="17">{{ item.type }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">管控层级:</span></van-col>
<van-col span="7"
><span class="field-title">管控层级:</span></van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">主责部门:</span></van-col>
<van-col span="7"
><span class="field-title">主责部门:</span></van-col
>
<van-col span="17">{{ item.source }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">主责人员:</span></van-col>
<van-col span="7"
><span class="field-title">主责人员:</span></van-col
>
<van-col span="17">{{ item.source1 }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">定级方式:</span></van-col>
<van-col span="7"
><span class="field-title">定级方式:</span></van-col
>
<van-col span="17">{{ item.location }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">技术措施:</span></van-col>
<van-col span="7"
><span class="field-title">技术措施:</span></van-col
>
<van-col span="17">{{ item.dangerNum }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">技术措施(附件):</span></van-col>
<van-col span="7"
><span class="field-title">技术措施(附件):</span></van-col
>
<van-col span="17">{{ item.describe }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">管理措施:</span></van-col>
<van-col span="7"
><span class="field-title">管理措施:</span></van-col
>
<van-col span="17">{{ item.uploaderImg }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">管理措施(附件):</span></van-col>
<van-col span="7"
><span class="field-title">管理措施(附件):</span></van-col
>
<van-col span="17">{{ item.uploaderVideo }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">应急措施:</span></van-col>
<van-col span="7"
><span class="field-title">应急措施:</span></van-col
>
<van-col span="17">{{ item.expireTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7"><span class="field-title">应急措施(附件):</span></van-col>
<van-col span="7"
><span class="field-title">应急措施(附件):</span></van-col
>
<van-col span="17">{{ item.recPeople }}</van-col>
</van-row>
</div>
......@@ -81,7 +111,6 @@
</div>
</div>
<div class="confirme-wrap">
<p>风险确认</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
......@@ -152,7 +181,6 @@
<div class="supervise-wrap">
<p>督办信息</p>
<van-cell-group inset v-for="(item, index) in reportList" :key="index">
<div style="text-align: center;">暂无数据</div>
</van-cell-group>
<!-- 展开 -->
......@@ -166,6 +194,7 @@
<script>
import LHeader from "@/components/header.vue";
export default {
components: {
LHeader
......@@ -203,8 +232,11 @@ export default {
journalList: []
};
},
mounted() {},
created() {
},
methods: {
// 上报信息显示或隐藏
reportReverse() {
this.reportOpen = !this.reportOpen;
......@@ -236,15 +268,13 @@ export default {
this.superviseOpenText = "展开 ▼";
}
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px .533333rem;
padding: 10px 10px 0.533333rem;
background-color: #f0f1f5;
.cell-wrap {
position: relative;
......@@ -263,14 +293,14 @@ export default {
font-size: 13px;
position: relative;
.van-row {
margin-bottom: .133333rem;
line-height: .64rem;
margin-bottom: 0.133333rem;
line-height: 0.64rem;
}
}
.journal-wrap {
position: relative;
}
.supervise-wrap{
.supervise-wrap {
position: relative;
}
.info-title {
......
This diff is collapsed.
......@@ -3,54 +3,166 @@
<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-confirme></wait-confirme>
</van-tab>
<van-tab title="已确认">
已确认
<!-- <committed></committed> -->
</van-tab>
<van-tab title="已退回">
已退回
<!-- <returned></returned> -->
</van-tab>
</van-tabs>
<!-- 内容列表 -->
<div class="con-list">
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<van-row gutter="">
<van-col span="5">所属项目:</van-col>
<van-col span="19">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">风险等级:</van-col>
<van-col span="19">{{ item.riskLevel }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">风险源:</van-col>
<van-col span="19">{{ item.riskSource }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">事故类型:</van-col>
<van-col span="19">{{ item.accidentType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">管控层级:</van-col>
<van-col span="19">{{ item.controllevel }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">主责部门:</van-col>
<van-col span="19">{{ item.responsibilityDept }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">主责人员:</van-col>
<van-col span="19">{{ item.responsibilityMember }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">工单状态:</van-col>
<van-col span="19">{{ item.taskName }}</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<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>
import LHeader from "@/components/header.vue";
import WaitConfirme from "./waitConfirme";
// import Returned from "./returned";
// import Committed from './committed';
import { postriskConList } from "@/service/risk";
export default {
components: {
LHeader: LHeader,
WaitConfirme
// Returned,
// Committed
},
data() {
return {
text: "风险确认",
active: "1",
searchValue: ""
searchValue: "",
messageList:[],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
mounted() {},
created() {
this.postList()
},
methods: {
postList(){
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskConList("/riskConfirm/list")
.then(res => {
this.$toast.clear();
this.messageList = res.rows
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
onSearch(val) {
console.log(val);
},
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.$router.push("/affirm-detail");
this.showIndex = null;
},
// 确认
goConfirm(data) {
console.log(data);
this.$router.push({
name:"risk-affirm",
params:{
"taskId":data.taskId
}
});
this.showIndex = null;
}
}
};
</script>
<style scoped>
<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;
.van-row {
margin-bottom: 0.133333rem;
line-height: 0.64rem;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
</style>
......@@ -15,7 +15,7 @@
@change="selectResult"
>
<van-radio name="1">同意</van-radio>
<van-radio name="2">退回</van-radio>
<van-radio name="0">退回</van-radio>
</van-radio-group>
</template>
</van-field>
......@@ -25,7 +25,7 @@
<van-field
v-model="agreeIdea"
label="意见"
name ="意见"
name ="confirmOpinion"
rows="3"
type="textarea"
placeholder="请输入"
......@@ -38,7 +38,7 @@
<van-field
v-model="disagreeIdea"
label="退回原因"
name ="退回原因"
name ="confirmOpinion"
rows="3"
type="textarea"
placeholder="请输入"
......@@ -62,13 +62,14 @@
<script>
import LHeader from "@/components/header.vue";
import { timestampToTime } from '@/utils/format'
import { postriskConAdd } from "@/service/risk";
export default {
components: {
LHeader
},
data() {
return {
taskId: "",
radio: "1",
text: "风险确认",
agreeIdea:"", // 同意意见
......@@ -76,7 +77,9 @@ export default {
};
},
mounted() {},
created() {
this.taskId = this.$route.params.taskId;
},
methods: {
selectResult(val) {
this.radio = val;
......@@ -84,6 +87,31 @@ export default {
onSubmit(values) {
console.log("submit", values);
if (!this.taskId) {
return;
}
let formdata = new FormData()
formdata.append("confirmResult", values.radio)
formdata.append("confirmOpinion", values.confirmOpinion)
this.$toast.loading({
message: "提交中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskConAdd(`/riskConfirm/add/${this.taskId}`,formdata)
.then(res => {
this.$toast.clear();
this.$toast.success({
message: "提交成功",
duration: 2000
});
history.go(-1);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("提交失败,请稍后再试");
});
},
cancel() {
this.$router.go(-1);
......
......@@ -2,33 +2,185 @@
<div>
<LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<risk-returned></risk-returned>
<!-- 内容列表 -->
<div class="con-list">
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
<van-row gutter="">
<van-col span="5">所属项目:</van-col>
<van-col span="19">{{ item.proId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">风险等级:</van-col>
<van-col span="19">{{ item.riskLevel }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">风险源:</van-col>
<van-col span="19">{{ item.riskSource }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">事故类型:</van-col>
<van-col span="19">{{ item.accidentType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">管控层级:</van-col>
<van-col span="19">{{ item.controllevel }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">主责部门:</van-col>
<van-col span="19">{{ item.responsibilityDept }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">主责人员:</van-col>
<van-col span="19">{{ item.responsibilityMember }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">工单状态:</van-col>
<van-col span="19">{{ item.taskName }}</van-col>
</van-row>
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop>
<van-button round type="primary" @touchstart="goDetail(item)"
>上报</van-button
>
<van-button round type="warning" @touchstart="goDelete(item)"
>删除</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import RiskReturned from "./riskReturned";
import { postriskConReturn, postriskConReDel } from "@/service/risk";
export default {
components: {
LHeader: LHeader,
RiskReturned,
},
data() {
return {
text: "上报退回",
searchValue: ""
searchValue: "",
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
mounted() {},
created() {
this.postList();
},
methods: {
postList() {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskConReturn("/riskMain/list")
.then(res => {
this.$toast.clear();
this.messageList = res.rows;
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
onSearch(val) {
console.log(val);
},
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.$router.push({
name: 'risk-add',
params: {
status: "退回",
taskId: data.taskId
}
});
this.showIndex = null;
},
// 删除
goDelete(data) {
console.log(data);
this.$toast.loading({
message: "删除中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
postriskConReDel(`/riskMain/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 scoped>
<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;
.van-row{
margin-bottom: .133333rem;
line-height: .64rem;
}
.van-overlay {
position: absolute;
.wrapper {
display: flex;
align-items: center;
justify-content: space-evenly;
height: 100%;
}
}
}
}
</style>
......@@ -175,7 +175,31 @@ export default {
path: "/stand-book",
imgUrl: require("@/assets/workbench/danger-account.png"),
text: "隐患台账"
}
},
{
key: "7",
path: "/major-danger",
imgUrl: require("@/assets/workbench/retification-acceptance.png"),
text: "重大隐患"
},
{
key: "8",
path: "/major-danger",
imgUrl: require("@/assets/workbench/inspect-plane.png"),
text: "延期审批"
},
{
key: "9",
path: "/supervise-danger",
imgUrl: require("@/assets/workbench/retification-acceptance.png"),
text: "隐患督办"
},
{
key: "10",
path: "/manager-danger",
imgUrl: require("@/assets/workbench/inspect-plane.png"),
text: "经理督办"
},
],
safetyCheckList: [
// 安全监督检查
......
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