Commit e3ccbb71 authored by 13841799530's avatar 13841799530

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

parents 7fb88e49 833cb49a
...@@ -11,7 +11,9 @@ ...@@ -11,7 +11,9 @@
<template> <template>
<div id="app"> <div id="app">
<transition :name="transitionName"> <transition :name="transitionName">
<keep-alive :include="cachePage">
<router-view class="router-view" /> <router-view class="router-view" />
</keep-alive>
</transition> </transition>
</div> </div>
</template> </template>
...@@ -20,7 +22,8 @@ ...@@ -20,7 +22,8 @@
export default { export default {
data () { data () {
return { return {
transitionName: 'slide-left' transitionName: 'slide-left',
cachePage:["add-danger","change-info","affirm-danger","risk-affirm","manager-survey","super-survey","major-survey"]
} }
}, },
watch: { watch: {
......
...@@ -464,29 +464,31 @@ const routes = [{ ...@@ -464,29 +464,31 @@ const routes = [{
// 风险模块
{ {
path: '/risk', path: '/risk-add',
name: 'risk', name: 'risk-add',
meta: { meta: {
title: '风险', title: '风险上报',
index: 1 index: 1
}, },
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd'),
}, },
{ {
path: '/risk-add', path: '/matrix-grad',
name: 'risk-add', name: 'matrix-grad',
meta: { meta: {
title: '风险上报', title: '矩阵式定级',
index: 1 index: 1
}, },
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd/matrixGrad'),
}, },
{ {
path: '/risk-return', path: '/risk-return',
name: 'risk-return', name: 'risk-return',
meta: { meta: {
title: '风险上报', title: '风险上报退回列表',
index: 1 index: 1
}, },
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskReturn'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskReturn'),
...@@ -511,15 +513,6 @@ const routes = [{ ...@@ -511,15 +513,6 @@ const routes = [{
}, },
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/riskAffirm'), component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/riskAffirm'),
}, },
{
path: '/affirm-detail',
name: 'affirm-detail',
meta: {
title: '风险确认详情',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskConfirme/affirmDetail'),
},
{ {
path: '/risk-account', path: '/risk-account',
name: 'risk-account', name: 'risk-account',
......
...@@ -193,6 +193,15 @@ export function majorList(url, data) { ...@@ -193,6 +193,15 @@ export function majorList(url, data) {
}) })
} }
//重大隐患添加
export function majorAdd(url, data) {
return request({
url: url,
method: 'post',
data
})
}
//隐患督办 //隐患督办
export function superviseList(url, data) { export function superviseList(url, data) {
return request({ return request({
...@@ -203,7 +212,7 @@ export function superviseList(url, data) { ...@@ -203,7 +212,7 @@ export function superviseList(url, data) {
} }
//经理督办 //经理督办
export function superviseSABList(url, data) { export function superviseSABlist(url, data) {
return request({ return request({
url: url, url: url,
method: 'post', method: 'post',
...@@ -211,6 +220,54 @@ export function superviseSABList(url, data) { ...@@ -211,6 +220,54 @@ export function superviseSABList(url, data) {
}) })
} }
//经理督办添加
export function superviseAdd(url, data) {
return request({
url: url,
method: 'post',
data
})
}
//延期审批
export function delayList(url, data) {
return request({
url: url,
method: 'post',
data
})
}
//延期审批退回回显
export function delayReturn(url, data) {
return request({
url: url,
method: 'get',
data
})
}
//延期审批添加
export function delayAdd(url, data) {
return request({
url: url,
method: 'post',
data
})
}
//延期审批添加
export function delayEdit(url, data) {
return request({
url: url,
method: 'post',
data
})
}
/*接口对接1 START*/ /*接口对接1 START*/
......
...@@ -26,6 +26,17 @@ export function postHdType(url,data) { ...@@ -26,6 +26,17 @@ export function postHdType(url,data) {
data data
}) })
} }
// 各种措施
export function postMeasures(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 主责人员 // 主责人员
export function postHdPeople(url,data) { export function postHdPeople(url,data) {
return request({ return request({
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
欢迎登录<span>首开集团安全隐患排查治理体系</span>! 欢迎登录<span>首开集团安全隐患排查治理体系</span>!
</div> </div>
<div class="login-form"> <div class="login-form">
<van-form @submit="onSubmit"> <van-form @submit="onSubmit" :show-error-message="false" >
<div class="username-wrap"> <div class="username-wrap">
<div class="username-icon"> <div class="username-icon">
<van-image :src="require('@/assets/login/login-username.png')" /> <van-image :src="require('@/assets/login/login-username.png')" />
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
name="username" name="username"
label="" label=""
placeholder="账号" placeholder="账号"
:rules="[{ required: true, message: '请填写用户名' }]" :rules="[{ required: true, message: '请填写账号' }]"
/> />
</div> </div>
<div class="passworld-wrap"> <div class="passworld-wrap">
......
This diff is collapsed.
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</van-checkbox-group> </van-checkbox-group>
<div class="footer-con"> <div class="footer-con">
<div style="color: #1989fa;">已选择: {{result.length}}</div> <div style="color: #1989fa;">已选择: {{result.length}}</div>
<div> <div>
<van-button type="info" @click="confirm">确定</van-button> <van-button type="info" @click="confirm">确定</van-button>
</div> </div>
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-cell-group
v-for="(item, index) in messageList"
:key="index"
inset
@click="goDetail(item.taskId)"
>
<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.hdLev }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">适用范围:</van-col>
<van-col span="19">{{ item.hdRange }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">隐患类型:</van-col>
<van-col span="19">{{ item.hdType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">发现时间:</van-col>
<van-col span="19">{{ item.hdDiscoveryTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">超期标识:</van-col>
<van-col span="19">{{ item.dueDate | formatTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">状态:</van-col>
<van-col span="19">{{ item.taskName }}</van-col>
</van-row>
<!-- 详情 -->
<div class="detail">详情</div>
</van-cell-group>
<van-form <van-form
@submit="onSubmit" @submit="onSubmit"
:show-error="false" :show-error="false"
...@@ -27,10 +65,7 @@ ...@@ -27,10 +65,7 @@
:rules="[{ required: true, message: '隐患整改详情描述不能为空' }]" :rules="[{ required: true, message: '隐患整改详情描述不能为空' }]"
/> />
<van-field <van-field name="uploader" label="整改照片" :rules="[{ required: true, message: '整改照片不能为空' }]">
name="uploader"
label="整改照片"
>
<template #input> <template #input>
<van-uploader v-model="uploaderImg" /> <van-uploader v-model="uploaderImg" />
</template> </template>
...@@ -38,7 +73,7 @@ ...@@ -38,7 +73,7 @@
<van-field name="uploader2" label="整改视频"> <van-field name="uploader2" label="整改视频">
<template #input> <template #input>
<van-uploader v-model="uploaderVideo" /> <van-uploader v-model="uploaderVideo" accept="video/*" />
</template> </template>
</van-field> </van-field>
...@@ -60,6 +95,7 @@ ...@@ -60,6 +95,7 @@
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { dangerRectReturn, dangerRectAdd } from "@/service/danger"; import { dangerRectReturn, dangerRectAdd } from "@/service/danger";
export default { export default {
name: "change-info",
components: { components: {
LHeader LHeader
}, },
...@@ -68,6 +104,7 @@ export default { ...@@ -68,6 +104,7 @@ export default {
text: "整改确认", text: "整改确认",
taskId: "", taskId: "",
taskName: "", taskName: "",
messageList: [],
returnCause: "", returnCause: "",
isShowreturnCause: false, isShowreturnCause: false,
value: "", value: "",
...@@ -75,15 +112,28 @@ export default { ...@@ -75,15 +112,28 @@ export default {
uploaderVideo: [] //视频上传 uploaderVideo: [] //视频上传
}; };
}, },
created() { beforeRouteEnter(to, from, next) {
this.taskId = this.$route.params.taskId; next(vm => {
this.taskName = this.$route.params.taskName; if (from.name === "change-danger") {
if (this.taskName == "隐患整改(已退回)") { vm.messageList = []
this.isShowreturnCause = true; let paramsData = to.params.data;
vm.taskId = paramsData.taskId;
vm.taskName = paramsData.taskName;
vm.messageList.push(paramsData);
if (vm.taskName == "隐患整改(已退回)") {
vm.isShowreturnCause = true;
// 请求退回原因 // 请求退回原因
this.getRectReturn(); vm.getRectReturn();
} }
// 清空数据
vm.value="",
vm.uploaderImg=[]; //图像上传
vm.uploaderVideo=[] //视频上传
}
});
}, },
activated() {},
methods: { methods: {
onSubmit(values) { onSubmit(values) {
console.log("submit", values); console.log("submit", values);
...@@ -95,14 +145,19 @@ export default { ...@@ -95,14 +145,19 @@ export default {
}); });
let formdata = new FormData(); let formdata = new FormData();
formdata.append("details", this.value); formdata.append("details", this.value);
// formdata.append("rePicture[]", values.uploader); // 放图片路径 因为formdat存数组会自动变成字符串所以次用这种追加字段的方式
// formdata.append("reVideo[]", values.uploader2); values.uploader.forEach(item => {
formdata.append("rePicture1[]", item.file);
});
values.uploader2.forEach(item => {
formdata.append("reVideo1[]", item.file);
});
// 判断保存的url // 判断保存的url
let url = `/rectification/add1/${this.taskId}`; let url = `/rectification/add1/${this.taskId}`;
if (this.taskName == "隐患整改(已退回)") { if (this.taskName == "隐患整改(已退回)") {
url = `/rectification/add2/${this.taskId}`; url = `/rectification/add2/${this.taskId}`;
} }
dangerRectAdd(url,formdata) dangerRectAdd(url, formdata)
.then(res => { .then(res => {
this.$toast.clear(); this.$toast.clear();
this.$toast.success({ this.$toast.success({
...@@ -134,13 +189,64 @@ export default { ...@@ -134,13 +189,64 @@ export default {
this.$toast.fail("加载失败,请稍后再试"); this.$toast.fail("加载失败,请稍后再试");
}); });
}, },
// 详情
goDetail(taskId) {
this.$router.push({
name: "normal-detail",
params: {
id: taskId
}
});
},
cancel() { cancel() {
this.$router.go(-1); this.$router.go(-1);
} }
},
filters: {
formatTime: function(val) {
if (new Date(val).getTime() <= new Date().getTime()) {
return "超期";
} else if (
new Date(val).getTime() >= new Date().getTime() &&
new Date(val).getTime() <= new Date().getTime() + 259200000
) {
return "临期";
} else {
return "正常";
}
}
} }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.van-cell-group--inset {
margin: 0.266667rem 0;
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%;
}
}
}
.detail {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
</style> </style>
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<van-field <van-field
readonly readonly
clickable clickable
name="delayTime" name="applyDate"
:value="delayTime" :value="delayTime"
label="延期时间" label="延期时间"
placeholder="点击选择日期" placeholder="点击选择日期"
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
<van-field <van-field
v-model="delayApply" v-model="delayApply"
label="延期理由" label="延期理由"
name="delayApply" name="applyReason"
rows="3" rows="3"
type="textarea" type="textarea"
placeholder="请输入" placeholder="请输入"
...@@ -52,6 +52,7 @@ ...@@ -52,6 +52,7 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { timestampToTime } from "@/utils/format"; import { timestampToTime } from "@/utils/format";
import { delayAdd } from "@/service/danger";
export default { export default {
components: { components: {
LHeader LHeader
...@@ -72,8 +73,30 @@ export default { ...@@ -72,8 +73,30 @@ export default {
methods: { methods: {
onSubmit(values) { onSubmit(values) {
console.log("submit", values); console.log("submit", values);
this.$toast.loading({
message: "提交中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
let formdata = new FormData();
formdata.append("applyDate", values.applyDate);
formdata.append("applyReason", values.applyReason);
formdata.append("taskId", this.taskId);
delayAdd(`/delayApply/add`, formdata)
.then((res) => {
this.$toast.clear();
this.$toast.success({
message: "提交成功",
duration: 2000,
});
history.go(-1);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("提交失败,请稍后再试");
});
}, },
// 延期时间 // 延期时间
onConDelayTime(date) { onConDelayTime(date) {
this.delayTime = timestampToTime(date, "DT1", true); this.delayTime = timestampToTime(date, "DT1", true);
......
...@@ -8,7 +8,6 @@ ...@@ -8,7 +8,6 @@
inset inset
v-for="(item, index) in messageList" v-for="(item, index) in messageList"
:key="index" :key="index"
@click="read(item)"
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
...@@ -58,6 +57,13 @@ ...@@ -58,6 +57,13 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
...@@ -72,6 +78,7 @@ export default { ...@@ -72,6 +78,7 @@ export default {
return { return {
text: "隐患整改", text: "隐患整改",
searchValue: "", searchValue: "",
isHaveNews: false,
messageList: [], messageList: [],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
...@@ -94,6 +101,10 @@ export default { ...@@ -94,6 +101,10 @@ export default {
dangerRect("/rectification/list").then(res =>{ dangerRect("/rectification/list").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();
this.$toast.fail("加载失败,请稍后再试"); this.$toast.fail("加载失败,请稍后再试");
...@@ -132,8 +143,7 @@ export default { ...@@ -132,8 +143,7 @@ export default {
this.$router.push({ this.$router.push({
name:"change-info", name:"change-info",
params:{ params:{
"taskId":data.taskId, data: data,
"taskName":data.taskName
} }
}); });
this.showIndex = null; this.showIndex = null;
...@@ -167,7 +177,7 @@ export default { ...@@ -167,7 +177,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.con-list { .con-list {
padding: 10px 10px 0; padding: 10px 10px .533333rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="goDetail(item.taskId)"
>
<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.hdLev }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">适用范围:</van-col>
<van-col span="19">{{ item.hdRange }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">隐患类型:</van-col>
<van-col span="19">{{ item.hdType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">发现时间:</van-col>
<van-col span="19">{{ item.hdDiscoveryTime }}</van-col>
</van-row>
<!-- 详情 -->
<div class="detail">详情</div>
</van-cell-group>
<van-form <van-form
@submit="onSubmit" @submit="onSubmit"
:show-error="false" :show-error="false"
...@@ -37,6 +67,7 @@ ...@@ -37,6 +67,7 @@
type="datetime" type="datetime"
@confirm="onConfirm" @confirm="onConfirm"
@cancel="showCalendar = false" @cancel="showCalendar = false"
v-model="endDateTime"
/> />
</van-popup> </van-popup>
...@@ -123,12 +154,14 @@ import LHeader from "@/components/header.vue"; ...@@ -123,12 +154,14 @@ import LHeader from "@/components/header.vue";
import { timestampToTime } from "@/utils/format"; import { timestampToTime } from "@/utils/format";
import { getConfirmFormList, dangerConSub } from "@/service/danger"; import { getConfirmFormList, dangerConSub } from "@/service/danger";
export default { export default {
name: "affirm-danger",
components: { components: {
LHeader LHeader
}, },
data() { data() {
return { return {
taskId: "", taskId: "",
messageList: [],
radio: "1", radio: "1",
text: "隐患确认", text: "隐患确认",
value: "", value: "",
...@@ -142,13 +175,33 @@ export default { ...@@ -142,13 +175,33 @@ export default {
columnsReview: [], columnsReview: [],
showPickerReview: false, showPickerReview: false,
valueIdea: "", valueIdea: "",
returnReason: "" returnReason: "",
endDateTime: new Date()
}; };
}, },
created() {
this.taskId = this.$route.params.taskId; beforeRouteEnter(to, from, next) {
this.getFormList(); next(vm => {
if (from.name === "confirme-danger") {
vm.messageList = [];
let paramsData = to.params.data;
vm.taskId = paramsData.taskId;
vm.messageList.push(paramsData);
vm.radio= "1",
vm.value = "";
vm.rectId = ""; // 隐患整改人
vm.valueRect = "";
vm.reviewId = ""; // 隐患复查人
vm.valueReview = "";
vm.valueIdea = "";
vm.returnReason = "";
vm.getFormList();
// 清空数据
}
});
}, },
created() {},
methods: { methods: {
getFormList() { getFormList() {
if (!this.taskId) { if (!this.taskId) {
...@@ -178,19 +231,19 @@ export default { ...@@ -178,19 +231,19 @@ export default {
if (!this.taskId) { if (!this.taskId) {
return; return;
} }
let formdata = new FormData() let formdata = new FormData();
formdata.append('confirmResult', this.radio) formdata.append("confirmResult", this.radio);
formdata.append('endTime', values.endTime) formdata.append("endTime", values.endTime);
formdata.append('rectificationUser', this.rectId) formdata.append("rectificationUser", this.rectId);
formdata.append('rectificationReview', this.reviewId) formdata.append("rectificationReview", this.reviewId);
formdata.append('confirmOpinion', values.confirmOpinion) formdata.append("confirmOpinion", values.confirmOpinion);
this.$toast.loading({ this.$toast.loading({
message: "提交中...", message: "提交中...",
forbidClick: true, forbidClick: true,
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0
}); });
dangerConSub(`/confirm/add1/${this.taskId}`,formdata) dangerConSub(`/confirm/add1/${this.taskId}`, formdata)
.then(res => { .then(res => {
this.$toast.clear(); this.$toast.clear();
this.$toast.success({ this.$toast.success({
...@@ -216,15 +269,32 @@ export default { ...@@ -216,15 +269,32 @@ export default {
}, },
onConRect(value) { onConRect(value) {
if(!value){
this.showPickerRect = false;
return
}
this.valueRect = value.userName; this.valueRect = value.userName;
this.rectId = value.userId; this.rectId = value.userId;
this.showPickerRect = false; this.showPickerRect = false;
}, },
onConReview(value) { onConReview(value) {
if(!value){
this.showPickerReview = false;
return
}
this.valueReview = value.userName; this.valueReview = value.userName;
this.reviewId = value.userId; this.reviewId = value.userId;
this.showPickerReview = false; this.showPickerReview = false;
}, },
// 详情
goDetail(taskId) {
this.$router.push({
name: "normal-detail",
params: {
id: taskId
}
});
},
cancel() { cancel() {
this.$router.go(-1); this.$router.go(-1);
...@@ -234,4 +304,32 @@ export default { ...@@ -234,4 +304,32 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.van-cell-group--inset {
margin: 0.266667rem 0;
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%;
}
}
}
.detail {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
</style> </style>
...@@ -2,13 +2,7 @@ ...@@ -2,13 +2,7 @@
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" /> <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="待确认">
<!-- 内容列表 --> <!-- 内容列表 -->
<div class="con-list"> <div class="con-list">
<van-cell-group <van-cell-group
...@@ -32,7 +26,7 @@ ...@@ -32,7 +26,7 @@
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="5">隐患类型:</van-col> <van-col span="5">隐患类型:</van-col>
<van-col span="19">{{ item.hdTdueDateype }}</van-col> <van-col span="19">{{ item.hdType }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="5">发现时间:</van-col> <van-col span="5">发现时间:</van-col>
...@@ -52,10 +46,13 @@ ...@@ -52,10 +46,13 @@
</van-cell-group> </van-cell-group>
</div> </div>
</van-tab> <!-- 暂无数据 -->
<van-tab title="已确认">已确认</van-tab> <div
<van-tab title="已退回">已退回</van-tab> style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
</van-tabs> v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
...@@ -64,12 +61,12 @@ import LHeader from "@/components/header.vue"; ...@@ -64,12 +61,12 @@ import LHeader from "@/components/header.vue";
import { dangerConfirm } from "@/service/danger"; import { dangerConfirm } from "@/service/danger";
export default { export default {
components: { components: {
LHeader, LHeader
}, },
data() { data() {
return { return {
text: "隐患确认", text: "隐患确认",
active: "1", isHaveNews: false,
searchValue: "", searchValue: "",
messageList: [], messageList: [],
Loop: "", // 定时器 Loop: "", // 定时器
...@@ -77,23 +74,29 @@ export default { ...@@ -77,23 +74,29 @@ export default {
}; };
}, },
created() { created() {
this.postList() this.postList();
}, },
methods: { methods: {
onSearch(val) { onSearch(val) {
console.log(val); console.log(val);
}, },
postList(){ postList() {
this.$toast.loading({ this.$toast.loading({
message: "加载中...", message: "加载中...",
forbidClick: true, forbidClick: true,
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0
}); });
dangerConfirm("/confirm/list").then(res =>{ dangerConfirm("/confirm/list")
.then(res => {
this.$toast.clear(); this.$toast.clear();
this.messageList = res.rows this.messageList = res.rows;
}).catch(() => { // 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
this.$toast.clear(); this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试"); this.$toast.fail("加载失败,请稍后再试");
}); });
...@@ -128,9 +131,9 @@ export default { ...@@ -128,9 +131,9 @@ export default {
goConfirm(data) { goConfirm(data) {
console.log(data); console.log(data);
this.$router.push({ this.$router.push({
name:"affirm-danger", name: "affirm-danger",
params:{ params: {
"taskId":data.taskId data: data,
} }
}); });
this.showIndex = null; this.showIndex = null;
...@@ -141,7 +144,7 @@ export default { ...@@ -141,7 +144,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.con-list { .con-list {
padding: 10px 10px .533333rem; padding: 10px 10px 0.533333rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
...@@ -149,9 +152,9 @@ export default { ...@@ -149,9 +152,9 @@ export default {
padding: 10px; padding: 10px;
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.van-row{ .van-row {
margin-bottom: .133333rem; margin-bottom: 0.133333rem;
line-height: .64rem; line-height: 0.64rem;
} }
.van-overlay { .van-overlay {
position: absolute; position: absolute;
......
...@@ -9,27 +9,26 @@ ...@@ -9,27 +9,26 @@
inset inset
v-for="(item, index) in messageList" v-for="(item, index) in messageList"
:key="index" :key="index"
@click="read(item)"
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<van-row gutter=""> <van-row gutter="">
<van-col span="7">所属工程名称:</van-col> <van-col span="7">隐患编号:</van-col>
<van-col span="17">{{ item.proId }}</van-col> <van-col span="17">{{ item.businessId }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患项目名称:</van-col> <van-col span="7">隐患项目名称:</van-col>
<van-col span="17">{{ item.subject }}</van-col> <van-col span="17">{{ item.proId }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患发现时间:</van-col> <van-col span="7">隐患级别:</van-col>
<van-col span="17">{{ item.findTime }}</van-col> <van-col span="17">{{ item.hdLev }}</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患级别:</van-col> <van-col span="7">发现时间:</van-col>
<van-col span="17">{{ item.level }}</van-col> <van-col span="17">{{ item.startDate }}</van-col>
</van-row> </van-row>
<!-- *接口对接4 END --> <!-- *接口对接4 END -->
...@@ -46,13 +45,20 @@ ...@@ -46,13 +45,20 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { delayList } from "@/service/danger";
...@@ -64,6 +70,7 @@ export default { ...@@ -64,6 +70,7 @@ export default {
return { return {
text: "延期审批", text: "延期审批",
searchValue: "", searchValue: "",
isHaveNews: false,
messageList: [], messageList: [],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
...@@ -74,7 +81,29 @@ export default { ...@@ -74,7 +81,29 @@ export default {
}, },
methods: { methods: {
getList() { getList() {
/*接口对接3 START*/
// 例子:
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
delayList("/delayApply/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("加载失败,请稍后再试");
});
/*接口对接3 END*/
}, },
onSearch(val) { onSearch(val) {
console.log(val); console.log(val);
...@@ -123,7 +152,7 @@ export default { ...@@ -123,7 +152,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.con-list { .con-list {
padding: 10px 10px 0; padding: 10px 10px .533333rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
......
...@@ -8,19 +8,18 @@ ...@@ -8,19 +8,18 @@
validate-trigger="onSubmit" validate-trigger="onSubmit"
> >
<van-field <van-field
v-model="delayTime" v-model="applyDate"
name="delayTime" name="applyDate"
label="延期时间" label="延期时间"
placeholder="请输入" placeholder="请输入"
:rules="[{ required: true, message: '延期时间不能为空' }]" :rules="[{ required: true, message: '延期时间不能为空' }]"
/> />
<van-field <van-field
v-model="delayApply" v-model="applyReason"
readonly readonly
label="延期理由" label="延期理由"
name="delayApply" name="applyReason"
rows="1" rows="1"
autosize autosize
type="textarea" type="textarea"
...@@ -42,21 +41,20 @@ ...@@ -42,21 +41,20 @@
<van-field <van-field
v-model="opinion" v-model="opinion"
label="理由或者意见" label="理由或者意见"
name="opinion" name="examineReason"
rows="3" rows="3"
type="textarea" type="textarea"
placeholder="请输入" placeholder="请输入"
:rules="[{ required: true, message: '理由或者意见不能为空' }]" :rules="[{ required: true, message: '理由或者意见不能为空' }]"
/> />
<div style="margin: 16px">
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit" <van-button round block type="info" native-type="submit"
>保存</van-button >保存</van-button
> >
</div> </div>
</van-form> </van-form>
<div style="margin:10px 16px 0px;padding-bottom:16px"> <div style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-button round block type="warning" @click.native="cancel" <van-button round block type="warning" @click.native="cancel"
>取消</van-button >取消</van-button
> >
...@@ -66,10 +64,11 @@ ...@@ -66,10 +64,11 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { timestampToTime } from "@/utils/format"; import { delayReturn } from "@/service/danger";
import { delayEdit } from "@/service/danger";
export default { export default {
components: { components: {
LHeader LHeader,
}, },
data() { data() {
return { return {
...@@ -80,27 +79,71 @@ export default { ...@@ -80,27 +79,71 @@ export default {
delayApply: "", // 延迟理由 delayApply: "", // 延迟理由
isAgree: 1, // 延期是否通过 isAgree: 1, // 延期是否通过
opinion: "", //理由或者意见 opinion: "", //理由或者意见
applyDate: "", //延期时间
applyReason: "", //延期理由
}; };
}, },
created() { created() {
this.taskId = this.$route.params.taskId; this.taskId = this.$route.params.taskId;
this.getReturnEcho();
}, },
methods: { methods: {
onSubmit(values) { onSubmit(values) {
console.log("submit", values); console.log("submit", values);
this.$toast.loading({
message: "提交中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
let formdata = new FormData();
formdata.append("examineResult", values.examineResult);
formdata.append("examineReason", values.examineReason);
formdata.append("taskId", this.taskId);
delayEdit(`/delayApply/edit`, formdata)
.then((res) => {
this.$toast.clear();
this.$toast.success({
message: "提交成功",
duration: 2000,
});
history.go(-1);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("提交失败,请稍后再试");
});
},
// 请求已退回详情数据
getReturnEcho() {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
delayReturn(`/delayApply/edit/${this.taskId}`)
.then((res) => {
this.$toast.clear();
// 对数据进行赋值
this.applyDate = res.data.delayApply.applyDate;
this.applyReason = res.data.delayApply.applyReason;
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
}, },
selectResult(val) { selectResult(val) {
this.isAgree = val; this.isAgree = val;
}, },
cancel() { cancel() {
this.$router.go(-1); this.$router.go(-1);
} },
} },
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
inset inset
v-for="(item, index) in messageList" v-for="(item, index) in messageList"
:key="index" :key="index"
@click="read(item)"
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
...@@ -47,7 +46,13 @@ ...@@ -47,7 +46,13 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
...@@ -79,6 +84,7 @@ export default { ...@@ -79,6 +84,7 @@ export default {
return { return {
text: "重大隐患", text: "重大隐患",
searchValue: "", searchValue: "",
isHaveNews: false,
messageList: [], messageList: [],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
...@@ -101,6 +107,10 @@ export default { ...@@ -101,6 +107,10 @@ export default {
.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(() => {
...@@ -143,9 +153,9 @@ export default { ...@@ -143,9 +153,9 @@ export default {
goConfirm(data) { goConfirm(data) {
console.log(data); console.log(data);
this.$router.push({ this.$router.push({
name:"major-survey", name: "major-survey",
params:{ params: {
"taskId":data.taskId data: data,
} }
}); });
this.showIndex = null; this.showIndex = null;
...@@ -156,7 +166,7 @@ export default { ...@@ -156,7 +166,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.con-list { .con-list {
padding: 10px 10px 0; padding: 10px 10px .533333rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="goDetail(item.taskId)"
>
<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>
<!-- 详情 -->
<div class="detail">详情</div>
</van-cell-group>
<van-form <van-form
@submit="onSubmit" @submit="onSubmit"
:show-error='false' :show-error='false'
:scroll-to-error="true" :scroll-to-error="true"
validate-trigger="onSubmit" validate-trigger="onSubmit"
> >
<van-field name="radio" label="隐患复查结果"> <van-field name="isResult" label="隐患复查结果">
<template #input> <template #input>
<van-radio-group <van-radio-group
v-model="radio" v-model="radio"
...@@ -25,7 +54,7 @@ ...@@ -25,7 +54,7 @@
<van-field <van-field
v-model="agreeOpinion" v-model="agreeOpinion"
label="审批意见" label="审批意见"
name="reviewDetails" name="details"
rows="3" rows="3"
type="textarea" type="textarea"
placeholder="请输入" placeholder="请输入"
...@@ -37,7 +66,7 @@ ...@@ -37,7 +66,7 @@
<van-field <van-field
readonly readonly
clickable clickable
name="level" name="thinkHdLev"
:value="thinkLevel" :value="thinkLevel"
label="认为隐患级别" label="认为隐患级别"
placeholder="请选择" placeholder="请选择"
...@@ -57,7 +86,7 @@ ...@@ -57,7 +86,7 @@
<van-field <van-field
v-model="disagreeOpinion" v-model="disagreeOpinion"
label="审批意见" label="审批意见"
name="reviewDetails" name="details"
rows="3" rows="3"
type="textarea" type="textarea"
placeholder="请输入" placeholder="请输入"
...@@ -81,14 +110,16 @@ ...@@ -81,14 +110,16 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { dangerReviewAdd } from "@/service/danger"; import { majorAdd } from "@/service/danger";
export default { export default {
name:"major-survey",
components: { components: {
LHeader LHeader
}, },
data() { data() {
return { return {
taskId: "", taskId: "",
messageList: [],
radio: "1", radio: "1",
text: "重大隐患审批", text: "重大隐患审批",
agreeOpinion: "", agreeOpinion: "",
...@@ -99,9 +130,21 @@ export default { ...@@ -99,9 +130,21 @@ export default {
}; };
}, },
created() { beforeRouteEnter(to, from, next) {
this.taskId = this.$route.params.taskId; next(vm => {
if (from.name === "major-danger") {
vm.messageList = [];
let paramsData = to.params.data;
vm.taskId = paramsData.taskId;
vm.messageList.push(paramsData);
vm.radio = "1";
vm.agreeOpinion = "";
vm.disagreeOpinion = "";
vm.thinkLevel = ""
}
});
}, },
created() {},
methods: { methods: {
selectResult(val) { selectResult(val) {
this.radio = val; this.radio = val;
...@@ -115,22 +158,24 @@ export default { ...@@ -115,22 +158,24 @@ export default {
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0
}); });
// let formdata = new FormData() let formdata = new FormData()
// formdata.append('reviewResult', this.radio) formdata.append('isResult', values.isResult)
// formdata.append('reviewDetails', values.reviewDetails) formdata.append('details', values.details)
// dangerReviewAdd(`/review/add1/${this.taskId}`,formdata) formdata.append('thinkHdLev', values.thinkHdLev)
// .then(res => { formdata.append('taskId', this.taskId)
// this.$toast.clear(); majorAdd(`/majorapprove/add`,formdata)
// this.$toast.success({ .then(res => {
// message: "提交成功", this.$toast.clear();
// duration: 2000 this.$toast.success({
// }); message: "提交成功",
// history.go(-1); duration: 2000
// }) });
// .catch(() => { history.go(-1);
// this.$toast.clear(); })
// this.$toast.fail("提交失败,请稍后再试"); .catch(() => {
// }); this.$toast.clear();
this.$toast.fail("提交失败,请稍后再试");
});
}, },
// 所属工程名称 // 所属工程名称
...@@ -138,7 +183,15 @@ export default { ...@@ -138,7 +183,15 @@ export default {
this.thinkLevel = value; this.thinkLevel = value;
this.showProjectName = false; this.showProjectName = false;
}, },
// 详情
goDetail(taskId) {
this.$router.push({
name: "normal-detail",
params: {
id: taskId
}
});
},
cancel() { cancel() {
...@@ -149,4 +202,32 @@ export default { ...@@ -149,4 +202,32 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.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%;
}
}
}
.detail {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
</style> </style>
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
inset inset
v-for="(item, index) in messageList" v-for="(item, index) in messageList"
:key="index" :key="index"
@click="read(item)"
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
...@@ -45,14 +44,20 @@ ...@@ -45,14 +44,20 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { superviseSABList } from "@/service/danger"; import { superviseList } from "@/service/danger";
/*接口对接2 START*/ /*接口对接2 START*/
// 例子: // 例子:
...@@ -77,6 +82,7 @@ export default { ...@@ -77,6 +82,7 @@ export default {
return { return {
text: "项目经理督办", text: "项目经理督办",
searchValue: "", searchValue: "",
isHaveNews: false,
messageList: [], messageList: [],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
...@@ -95,10 +101,14 @@ export default { ...@@ -95,10 +101,14 @@ export default {
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0
}); });
superviseSABList("/supervise/list") superviseList("/supervise/list")
.then(res => { .then(res => {
this.$toast.clear(); this.$toast.clear();
this.messageList = res.data this.messageList = res.data
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
}) })
.catch(() => { .catch(() => {
...@@ -141,9 +151,9 @@ export default { ...@@ -141,9 +151,9 @@ export default {
goConfirm(data) { goConfirm(data) {
console.log(data); console.log(data);
this.$router.push({ this.$router.push({
name:"manager-survey", name: "manager-survey",
params:{ params: {
"taskId":data.taskId data: data,
} }
}); });
this.showIndex = null; this.showIndex = null;
...@@ -154,7 +164,7 @@ export default { ...@@ -154,7 +164,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.con-list { .con-list {
padding: 10px 10px 0; padding: 10px 10px .533333rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="goDetail(item.pid)"
>
<van-row gutter="">
<van-col span="7">隐患编号:</van-col>
<van-col span="17">{{ item.hdProjectId }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患项目名称:</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.hdLev }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.createTime }}</van-col>
</van-row>
<!-- 详情 -->
<div class="detail">详情</div>
</van-cell-group>
<van-form <van-form
@submit="onSubmit" @submit="onSubmit"
:show-error='false' :show-error="false"
:scroll-to-error="true" :scroll-to-error="true"
validate-trigger="onSubmit" validate-trigger="onSubmit"
> >
<van-field <van-field
v-model="opinion" v-model="opinion"
label="批示内容" label="批示内容"
name="reviewDetails" name="instructionsContent"
rows="3" rows="3"
type="textarea" type="textarea"
placeholder="请输入" placeholder="请输入"
...@@ -31,23 +57,32 @@ ...@@ -31,23 +57,32 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { dangerReviewAdd } from "@/service/danger"; import { superviseAdd } from "@/service/danger";
export default { export default {
name: "manager-survey",
components: { components: {
LHeader LHeader
}, },
data() { data() {
return { return {
taskId: "", taskId: "",
messageList: [],
text: "项目经理督办批示", text: "项目经理督办批示",
opinion: "", opinion: ""
}; };
}, },
created() { beforeRouteEnter(to, from, next) {
this.taskId = this.$route.params.taskId; next(vm => {
if (from.name === "manager-danger") {
vm.messageList = [];
let paramsData = to.params.data;
vm.taskId = paramsData.taskId;
vm.messageList.push(paramsData);
vm.opinion = "";
}
});
}, },
created() {},
methods: { methods: {
onSubmit(values) { onSubmit(values) {
console.log("submit", values); console.log("submit", values);
...@@ -57,22 +92,30 @@ export default { ...@@ -57,22 +92,30 @@ export default {
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0
}); });
// let formdata = new FormData() let formdata = new FormData();
// formdata.append('reviewResult', this.radio) formdata.append("instructionsContent", values.instructionsContent);
// formdata.append('reviewDetails', values.reviewDetails) superviseAdd(`/instructions/add`, formdata)
// dangerReviewAdd(`/review/add1/${this.taskId}`,formdata) .then(res => {
// .then(res => { this.$toast.clear();
// this.$toast.clear(); this.$toast.success({
// this.$toast.success({ message: "提交成功",
// message: "提交成功", duration: 2000
// duration: 2000 });
// }); history.go(-1);
// history.go(-1); })
// }) .catch(() => {
// .catch(() => { this.$toast.clear();
// this.$toast.clear(); this.$toast.fail("提交失败,请稍后再试");
// this.$toast.fail("提交失败,请稍后再试"); });
// }); },
// 详情
goDetail(pid) {
this.$router.push({
name: "normal-detail",
params: {
id: pid
}
});
}, },
cancel() { cancel() {
...@@ -83,4 +126,32 @@ export default { ...@@ -83,4 +126,32 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.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%;
}
}
}
.detail {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
</style> </style>
...@@ -49,6 +49,13 @@ ...@@ -49,6 +49,13 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
...@@ -63,6 +70,7 @@ export default { ...@@ -63,6 +70,7 @@ export default {
return { return {
text: "上报退回", text: "上报退回",
searchValue: "", searchValue: "",
isHaveNews: false,
messageList: [], messageList: [],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
...@@ -83,6 +91,10 @@ export default { ...@@ -83,6 +91,10 @@ export default {
.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();
......
...@@ -53,6 +53,13 @@ ...@@ -53,6 +53,13 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
...@@ -66,6 +73,7 @@ export default { ...@@ -66,6 +73,7 @@ export default {
data() { data() {
return { return {
text: "隐患复查", text: "隐患复查",
isHaveNews: false,
searchValue: "", searchValue: "",
messageList: [], messageList: [],
Loop: "", // 定时器 Loop: "", // 定时器
...@@ -91,6 +99,10 @@ export default { ...@@ -91,6 +99,10 @@ export default {
.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();
...@@ -130,7 +142,7 @@ export default { ...@@ -130,7 +142,7 @@ export default {
this.$router.push({ this.$router.push({
name: "review-add", name: "review-add",
params: { params: {
taskId: data.taskId data: data,
} }
}); });
this.showIndex = null; this.showIndex = null;
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="goDetail(item.taskId)"
>
<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.hdLev }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">适用范围:</van-col>
<van-col span="19">{{ item.hdRange }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">隐患类型:</van-col>
<van-col span="19">{{ item.hdType }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">发现时间:</van-col>
<van-col span="19">{{ item.hdDiscoveryTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">超期标识:</van-col>
<van-col span="19">{{ item | formatTime }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="5">状态:</van-col>
<van-col span="19">{{ item.taskName }}</van-col>
</van-row>
<!-- 详情 -->
<div class="detail">详情</div>
</van-cell-group>
<van-form <van-form
@submit="onSubmit" @submit="onSubmit"
:show-error='false' :show-error='false'
...@@ -34,6 +74,7 @@ ...@@ -34,6 +74,7 @@
<van-field <van-field
name="uploader" name="uploader"
label="隐患复查照片" label="隐患复查照片"
:rules="[{ required: true, message: '隐患复查照片不能为空' }]"
> >
<template #input> <template #input>
<van-uploader v-model="uploaderImg" /> <van-uploader v-model="uploaderImg" />
...@@ -78,6 +119,7 @@ export default { ...@@ -78,6 +119,7 @@ export default {
data() { data() {
return { return {
taskId: "", taskId: "",
messageList: [],
radio: "1", radio: "1",
text: "隐患复查", text: "隐患复查",
detail: "", detail: "",
...@@ -85,9 +127,21 @@ export default { ...@@ -85,9 +127,21 @@ export default {
returnReason: "" returnReason: ""
}; };
}, },
created() { beforeRouteEnter(to, from, next) {
this.taskId = this.$route.params.taskId; next(vm => {
if (from.name === "review-danger") {
vm.messageList = [];
let paramsData = to.params.data;
vm.taskId = paramsData.taskId;
vm.messageList.push(paramsData);
vm.radio= "1";
vm.detail = "";
vm.uploaderImg = []; // 隐患整改人
vm.returnReason = "";
}
});
}, },
created() {},
methods: { methods: {
selectResult(val) { selectResult(val) {
this.radio = val; this.radio = val;
...@@ -103,8 +157,12 @@ export default { ...@@ -103,8 +157,12 @@ export default {
}); });
let formdata = new FormData() let formdata = new FormData()
formdata.append('reviewResult', this.radio) formdata.append('reviewResult', this.radio)
// formdata.append('reviewPicture[]', values.uploader)
formdata.append('reviewDetails', values.reviewDetails) formdata.append('reviewDetails', values.reviewDetails)
// 放图片路径 因为formdat存数组会自动变成字符串所以次用这种追加字段的方式
values.uploader.forEach(item => {
formdata.append("reviewPicture1[]", item.file);
});
dangerReviewAdd(`/review/add1/${this.taskId}`,formdata) dangerReviewAdd(`/review/add1/${this.taskId}`,formdata)
.then(res => { .then(res => {
this.$toast.clear(); this.$toast.clear();
...@@ -119,12 +177,64 @@ export default { ...@@ -119,12 +177,64 @@ export default {
this.$toast.fail("提交失败,请稍后再试"); this.$toast.fail("提交失败,请稍后再试");
}); });
}, },
// 详情
goDetail(taskId) {
this.$router.push({
name: "normal-detail",
params: {
id: taskId
}
});
},
cancel() { cancel() {
this.$router.go(-1); this.$router.go(-1);
} }
},
filters: {
formatTime: function(row) {
if (new Date(row.dueDate).getTime() <= row.rectificationTime) {
return "超期";
} else if (
new Date(row.dueDate).getTime() >= row.rectificationTime &&
new Date(row.dueDate).getTime() - 259200000 <= row.rectificationTime
) {
//三天
return "临期";
} else {
return "正常";
}
}
} }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.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%;
}
}
}
.detail {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
</style> </style>
...@@ -51,6 +51,13 @@ ...@@ -51,6 +51,13 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
...@@ -65,6 +72,7 @@ export default { ...@@ -65,6 +72,7 @@ export default {
return { return {
text: "隐患历史台账", text: "隐患历史台账",
searchValue: "", searchValue: "",
isHaveNews: false,
messageList: [], messageList: [],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
...@@ -89,6 +97,10 @@ export default { ...@@ -89,6 +97,10 @@ export default {
.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();
......
This diff is collapsed.
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
<van-row gutter=""> <van-row gutter="">
<van-col span="7">隐患编号:</van-col> <van-col span="7">隐患编号:</van-col>
<van-col span="17">{{ item.processInstanceId }}</van-col> <van-col span="17">{{ item.processInstanceId }}</van-col>
...@@ -44,14 +43,19 @@ ...@@ -44,14 +43,19 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { superviseList } from "@/service/danger"; import { superviseSABlist } from "@/service/danger";
/*接口对接2 START*/ /*接口对接2 START*/
// 例子: // 例子:
...@@ -70,13 +74,14 @@ import { superviseList } from "@/service/danger"; ...@@ -70,13 +74,14 @@ import { superviseList } from "@/service/danger";
export default { export default {
components: { components: {
LHeader, LHeader
}, },
data() { data() {
return { return {
text: "隐患督办", text: "隐患督办",
searchValue: "", searchValue: "",
messageList: [], messageList: [],
isHaveNews: false,
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
}; };
...@@ -86,10 +91,28 @@ export default { ...@@ -86,10 +91,28 @@ export default {
}, },
methods: { methods: {
getList() { getList() {
/*接口对接3 START*/ this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
superviseSABlist("/supervise/SABlist")
.then(res => {
this.$toast.clear();
this.messageList = res.data
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
/*接口对接3 END*/ })
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
}, },
onSearch(val) { onSearch(val) {
console.log(val); console.log(val);
}, },
...@@ -114,7 +137,7 @@ export default { ...@@ -114,7 +137,7 @@ export default {
console.log(data); console.log(data);
this.$router.push({ this.$router.push({
name: "normal-detail", name: "normal-detail",
params:{ params: {
id: data.pid id: data.pid
} }
}); });
...@@ -124,9 +147,9 @@ export default { ...@@ -124,9 +147,9 @@ export default {
goConfirm(data) { goConfirm(data) {
console.log(data); console.log(data);
this.$router.push({ this.$router.push({
name:"super-survey", name: "super-survey",
params:{ params: {
"taskId":data.taskId data: data,
} }
}); });
this.showIndex = null; this.showIndex = null;
...@@ -137,7 +160,7 @@ export default { ...@@ -137,7 +160,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.con-list { .con-list {
padding: 10px 10px 0; padding: 10px 10px .533333rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
...@@ -145,9 +168,9 @@ export default { ...@@ -145,9 +168,9 @@ export default {
padding: 10px; padding: 10px;
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.van-row{ .van-row {
margin-bottom: .133333rem; margin-bottom: 0.133333rem;
line-height: .64rem; line-height: 0.64rem;
} }
.van-overlay { .van-overlay {
position: absolute; position: absolute;
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="goDetail(item.pid)"
>
<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.projectName }}</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.createTime }}</van-col>
</van-row>
<!-- *接口对接4 END -->
<!-- 详情 -->
<div class="detail">详情</div>
</van-cell-group>
<van-form <van-form
@submit="onSubmit" @submit="onSubmit"
:show-error='false' :show-error='false'
:scroll-to-error="true" :scroll-to-error="true"
validate-trigger="onSubmit" validate-trigger="onSubmit"
> >
<div class="agree" v-if="radio == 1">
<van-field <van-field
v-model="opinion" v-model="opinion"
label="批示内容" label="批示内容"
name="reviewDetails" name="superviseAdd"
rows="3" rows="3"
type="textarea" type="textarea"
placeholder="请输入" placeholder="请输入"
/> />
</div>
<div style="margin: 16px;"> <div style="margin: 16px;">
<van-button round block type="info" native-type="submit" <van-button round block type="info" native-type="submit"
>保存</van-button >保存</van-button
...@@ -33,8 +58,9 @@ ...@@ -33,8 +58,9 @@
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { dangerReviewAdd } from "@/service/danger"; import { superviseAdd } from "@/service/danger";
export default { export default {
name:"super-survey",
components: { components: {
LHeader LHeader
}, },
...@@ -42,14 +68,24 @@ export default { ...@@ -42,14 +68,24 @@ export default {
return { return {
taskId: "", taskId: "",
text: "隐患督办批示", text: "隐患督办批示",
messageList: [],
opinion: "", opinion: "",
}; };
}, },
created() { beforeRouteEnter(to, from, next) {
this.taskId = this.$route.params.taskId; next(vm => {
if (from.name === "supervise-danger") {
vm.messageList = [];
let paramsData = to.params.data;
vm.taskId = paramsData.taskId;
vm.messageList.push(paramsData);
vm.opinion = "";
}
});
}, },
created() {},
methods: { methods: {
onSubmit(values) { onSubmit(values) {
console.log("submit", values); console.log("submit", values);
...@@ -59,22 +95,30 @@ export default { ...@@ -59,22 +95,30 @@ export default {
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0
}); });
// let formdata = new FormData() let formdata = new FormData()
// formdata.append('reviewResult', this.radio) formdata.append('instructionsContent', values.instructionsContent)
// formdata.append('reviewDetails', values.reviewDetails) superviseAdd(`/instructions/add`,formdata)
// dangerReviewAdd(`/review/add1/${this.taskId}`,formdata) .then(res => {
// .then(res => { this.$toast.clear();
// this.$toast.clear(); this.$toast.success({
// this.$toast.success({ message: "提交成功",
// message: "提交成功", duration: 2000
// duration: 2000 });
// }); history.go(-1);
// history.go(-1); })
// }) .catch(() => {
// .catch(() => { this.$toast.clear();
// this.$toast.clear(); this.$toast.fail("提交失败,请稍后再试");
// this.$toast.fail("提交失败,请稍后再试"); });
// }); },
// 详情
goDetail(pid) {
this.$router.push({
name: "normal-detail",
params: {
id: pid
}
});
}, },
cancel() { cancel() {
...@@ -85,4 +129,32 @@ export default { ...@@ -85,4 +129,32 @@ export default {
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.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%;
}
}
}
.detail {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
</style> </style>
...@@ -158,8 +158,6 @@ export default { ...@@ -158,8 +158,6 @@ export default {
margin-bottom: 10px; margin-bottom: 10px;
padding: 10px; padding: 10px;
font-size: 13px; font-size: 13px;
.messgae-title {
}
.message-content { .message-content {
margin-top: 10px; margin-top: 10px;
} }
......
...@@ -9,7 +9,6 @@ ...@@ -9,7 +9,6 @@
inset inset
v-for="(item, index) in messageList" v-for="(item, index) in messageList"
:key="index" :key="index"
@click="read(item)"
@touchstart="touchstart(index, item)" @touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)" @touchend.prevent="touchend(index)"
> >
...@@ -46,7 +45,13 @@ ...@@ -46,7 +45,13 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
...@@ -79,6 +84,7 @@ export default { ...@@ -79,6 +84,7 @@ export default {
text: "风险历史台账", text: "风险历史台账",
searchValue: "", searchValue: "",
messageList: [], messageList: [],
isHaveNews: false,
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
}; };
...@@ -100,6 +106,10 @@ export default { ...@@ -100,6 +106,10 @@ export default {
.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(() => {
...@@ -144,7 +154,7 @@ export default { ...@@ -144,7 +154,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.con-list { .con-list {
padding: 10px 10px 0; padding: 10px 10px .533333rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
......
...@@ -67,6 +67,16 @@ ...@@ -67,6 +67,16 @@
> >
<van-col span="17">{{ riskMain.gradingMethod }}</van-col> <van-col span="17">{{ riskMain.gradingMethod }}</van-col>
</van-row> </van-row>
<van-row gutter="">
<van-col span="7"
><span class="field-title">定级方式(附件):</span></van-col
>
<van-col span="17">
<div class="enclosure" v-for="(item, index) in riskMain.riskFileList1" :key="index">
<a :href="item.filePath" target="_blank">{{item.fileName}}</a>
</div>
</van-col>
</van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
><span class="field-title">技术措施:</span></van-col ><span class="field-title">技术措施:</span></van-col
...@@ -77,7 +87,11 @@ ...@@ -77,7 +87,11 @@
<van-col span="7" <van-col span="7"
><span class="field-title">技术措施(附件):</span></van-col ><span class="field-title">技术措施(附件):</span></van-col
> >
<van-col span="17">{{ riskMain.technicalMeasures }}</van-col> <van-col span="17">
<div class="enclosure" v-for="(item, index) in riskMain.riskFileList2" :key="index">
<a :href="item.filePath" target="_blank">{{item.fileName}}</a>
</div>
</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
...@@ -89,7 +103,11 @@ ...@@ -89,7 +103,11 @@
<van-col span="7" <van-col span="7"
><span class="field-title">管理措施(附件):</span></van-col ><span class="field-title">管理措施(附件):</span></van-col
> >
<van-col span="17">{{ riskMain.managementMeasures }}</van-col> <van-col span="17">
<div class="enclosure" v-for="(item, index) in riskMain.riskFileList3" :key="index">
<a :href="item.filePath" target="_blank">{{item.fileName}}</a>
</div>
</van-col>
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="7" <van-col span="7"
...@@ -101,7 +119,11 @@ ...@@ -101,7 +119,11 @@
<van-col span="7" <van-col span="7"
><span class="field-title">应急措施(附件):</span></van-col ><span class="field-title">应急措施(附件):</span></van-col
> >
<van-col span="17">{{ riskMain.emergencyMeasure }}</van-col> <van-col span="17">
<div class="enclosure" v-for="(item, index) in riskMain.riskFileList4" :key="index">
<a :href="item.filePath" target="_blank">{{item.fileName}}</a>
</div>
</van-col>
</van-row> </van-row>
</div> </div>
</van-cell-group> </van-cell-group>
...@@ -242,7 +264,7 @@ export default { ...@@ -242,7 +264,7 @@ export default {
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0
}); });
postriskDetail(`/riskMain/postriskDetailsApp/${this.id}`) postriskDetail(`/riskMain/riskDetailsApp/${this.id}`)
.then(res => { .then(res => {
this.$toast.clear(); this.$toast.clear();
this.riskMain = res.data.riskMain this.riskMain = res.data.riskMain
......
This diff is collapsed.
<template>
<div>
<!-- 发生可能性 -->
<div class="content-wrap">
<van-checkbox-group v-model="happenSelect">
<van-cell-group>
<van-cell title="发生可能性" is-link arrow-direction="down" />
<van-cell
v-for="(item, index) in happenList"
clickable
:key="item"
:title="item"
@click="happenToggle(index)"
>
<template #right-icon>
<van-checkbox :name="item" ref="happen" />
</template>
</van-cell>
</van-cell-group>
</van-checkbox-group>
</div>
<!-- 后果严重性 -->
<div class="content-wrap">
<van-checkbox-group v-model="resultSelect">
<van-cell-group>
<van-cell title="发生可能性" is-link arrow-direction="down" />
<van-cell
v-for="(item, index) in resultList"
clickable
:key="item"
:title="item"
@click="resultToggle(index)"
>
<template #right-icon>
<van-checkbox :name="item" ref="result" />
</template>
</van-cell>
</van-cell-group>
</van-checkbox-group>
</div>
</div>
</template>
<script>
export default {
data() {
return {
happenList: [
"企业半年内发生2起一般安全生产事故的",
"企业1年内发生3起一般安全生产事故的",
"企业1年内发生1起较大及其以上生产安全事故的",
"超限高层建筑",
"采用新技术、新工艺、新设备、新材料、尚无国家、行业及地方技术标准",
"工程项目施工工期压缩超过30%或者工期压缩未采用技术措施的",
],
happenSelect: [],
resultList: [
"企业半年内发生2起一般安全生产事故的",
"企业1年内发生3起一般安全生产事故的",
"企业1年内发生1起较大及其以上生产安全事故的",
"超限高层建筑",
"采用新技术、新工艺、新设备、新材料、尚无国家、行业及地方技术标准",
"工程项目施工工期压缩超过30%或者工期压缩未采用技术措施的",
],
resultSelect: [],
};
},
mounted() {},
methods: {
happenToggle(index, val) {
this.$refs.happen[index].toggle();
console.log(this.$refs.happen[index].name);
},
resultToggle(index, val) {
this.$refs.result[index].toggle();
console.log(this.$refs.result[index].name);
},
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.content-wrap{
margin-bottom: .266667rem;
}
</style>
<template>
<div>
<LHeader :text="text"></LHeader>
<van-tabs v-model="active" @click="onClick" title-inactive-colo="#d0d1d1" color="#247df7"
title-active-color="#000000">
<van-tab title="指标评估">
<target></target>
</van-tab>
<van-tab title="条件评估">
<condition></condition>
</van-tab>
</van-tabs>
<!-- <div style="margin:10px 16px 0px;padding-bottom:16px">
<van-button round block type="info" @click.native="onDefine"
>确认</van-button
>
<br>
<van-button round block type="warning" @click.native="cancel"
>取消</van-button
>
</div> -->
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import Target from './target.vue';
import Condition from './condition.vue';
export default {
name: "matrix-grad",
components: {
LHeader,
Target,
Condition
},
data() {
return {
text: "矩阵式定级",
active: "0"
};
},
mounted() {},
methods: {
onClick(val) {
console.log(val);
},
onDefine(){
},
cancel() {
this.$router.go(-1);
}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
</style>
<template>
<div>
<!-- 发生可能性 -->
<div class="content-wrap">
<van-cell-group>
<van-cell title="发生可能性" is-link arrow-direction="down" />
<van-row>
<van-col span="10">指标</van-col>
<van-col span="8">分级</van-col>
<van-col span="4">可能性</van-col>
<van-col span="2">等级</van-col>
</van-row>
<van-row v-for="(item, index) in happenList" :key="index">
<van-col span="10">{{ item.target }}</van-col>
<van-col span="8">{{ item.grade }}</van-col>
<van-col span="4">{{ item.possibility }}</van-col>
<van-col span="2">{{ item.level }}</van-col>
</van-row>
<van-row>
<van-col span="10">项目部管理能力和水平</van-col>
<van-col span="8" class="border" @click="onClickTarget"
>请选择</van-col
>
<van-col span="4"></van-col>
<van-col span="2"></van-col>
</van-row>
</van-cell-group>
</div>
<!-- 后果严重性 -->
<div class="content-wrap">
<van-cell-group>
<van-cell title="后果严重性" is-link arrow-direction="down" />
<van-row>
<van-col span="10"></van-col>
<van-col span="8">潜在后果</van-col>
<van-col span="4">描述</van-col>
<van-col span="2">等级</van-col>
</van-row>
<van-row>
<van-col span="10">人员伤亡严重性</van-col>
<van-col span="8" class="border" @click="onClickTarget"
>请选择</van-col>
<van-col span="4"></van-col>
<van-col span="2"></van-col>
</van-row>
<van-row v-for="(item, index) in resultList" :key="index">
<van-col span="10">{{ item.target }}</van-col>
<van-col span="8" class="border" @click="onClickTarget"
>请选择</van-col>
<van-col span="4">{{ item.possibility }}</van-col>
<van-col span="2">{{ item.level }}</van-col>
</van-row>
</van-cell-group>
</div>
</div>
</template>
<script>
export default {
data() {
return {
happenList: [
{
target: "全国行业历史发生概率",
grade: "过去2年发生一次以上",
possibility: "很可能",
level: "2"
},
{
target: "本市行业历史发生概率",
grade: "过去5年发生一次以上",
possibility: "很可能",
level: "2"
},
{
target: "本企业历史发生概率",
grade: "过去从未发生",
possibility: "基本很可能",
level: "2"
},
{
target: "企业安全生产管理水平",
grade: "企业安全生产标准化",
possibility: "很可能",
level: "2"
},
{
target: "项目经理管理能力和水平",
grade: "项目经理信用评分比",
possibility: "可能",
level: "2"
}
],
resultList: [
{
target: "经济损失严重性",
grade: "",
possibility: "",
level: ""
},
{
target: "周边敏感目标影响严重性",
grade: "",
possibility: "",
level: ""
},
{
target: "社会关注度",
grade: "",
possibility: "",
level: ""
},
{
target: "基础设施影响",
grade: "",
possibility: "",
level: ""
},
],
value: "",
columns: ["杭州", "宁波", "温州", "嘉兴", "湖州"],
showPicker: false
};
},
mounted() {},
methods: {
onConfirm(value) {
this.value = value;
this.showPicker = false;
},
onClickTarget() {}
}
};
</script>
<style lang="less" scoped>
/* @import url(); 引入css类 */
.van-cell::after {
right: 0;
left: 0;
}
.content-wrap {
margin-bottom: 0.266667rem;
.van-row {
display: flex;
align-items: center;
.van-col {
height: 0.693333rem;
font-size: 0.3334rem;
padding: 0.106667rem 0;
margin: 0.106667rem 0;
text-align: center;
}
.border {
border: 1px solid #e5e6e7;
}
}
}
</style>
<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 0.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: 0.133333rem;
line-height: 0.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>
...@@ -57,6 +57,13 @@ ...@@ -57,6 +57,13 @@
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
...@@ -72,6 +79,7 @@ export default { ...@@ -72,6 +79,7 @@ export default {
text: "风险确认", text: "风险确认",
active: "1", active: "1",
searchValue: "", searchValue: "",
isHaveNews: false,
messageList:[], messageList:[],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
...@@ -92,6 +100,10 @@ export default { ...@@ -92,6 +100,10 @@ export default {
.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();
...@@ -134,9 +146,9 @@ export default { ...@@ -134,9 +146,9 @@ export default {
goConfirm(data) { goConfirm(data) {
console.log(data); console.log(data);
this.$router.push({ this.$router.push({
name:"risk-affirm", name: "risk-affirm",
params:{ params: {
"taskId":data.taskId data: data,
} }
}); });
this.showIndex = null; this.showIndex = null;
...@@ -147,7 +159,7 @@ export default { ...@@ -147,7 +159,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.con-list { .con-list {
padding: 10px 10px 0; padding: 10px 10px .533333rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
......
<template> <template>
<div> <div>
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
<van-cell-group
inset
v-for="(item, index) in messageList"
:key="index"
@click="goDetail(item.taskId)"
>
<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>
<!-- 详情 -->
<div class="detail">详情</div>
</van-cell-group>
<van-form <van-form
@submit="onSubmit" @submit="onSubmit"
:show-error='false' :show-error="false"
:scroll-to-error="true" :scroll-to-error="true"
validate-trigger="onSubmit" validate-trigger="onSubmit"
> >
...@@ -25,7 +68,7 @@ ...@@ -25,7 +68,7 @@
<van-field <van-field
v-model="agreeIdea" v-model="agreeIdea"
label="意见" label="意见"
name ="confirmOpinion" name="confirmOpinion"
rows="3" rows="3"
type="textarea" type="textarea"
placeholder="请输入" placeholder="请输入"
...@@ -38,7 +81,7 @@ ...@@ -38,7 +81,7 @@
<van-field <van-field
v-model="disagreeIdea" v-model="disagreeIdea"
label="退回原因" label="退回原因"
name ="confirmOpinion" name="confirmOpinion"
rows="3" rows="3"
type="textarea" type="textarea"
placeholder="请输入" placeholder="请输入"
...@@ -64,22 +107,34 @@ ...@@ -64,22 +107,34 @@
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { postriskConAdd } from "@/service/risk"; import { postriskConAdd } from "@/service/risk";
export default { export default {
name: "risk-affirm",
components: { components: {
LHeader LHeader
}, },
data() { data() {
return { return {
taskId: "", taskId: "",
messageList: [],
radio: "1", radio: "1",
text: "风险确认", text: "风险确认",
agreeIdea:"", // 同意意见 agreeIdea: "", // 同意意见
disagreeIdea: "", //退回意见 disagreeIdea: "" //退回意见
}; };
}, },
created() {
this.taskId = this.$route.params.taskId; beforeRouteEnter(to, from, next) {
next(vm => {
if (from.name === "risk-confirme") {
vm.messageList = [];
let paramsData = to.params.data;
vm.taskId = paramsData.taskId;
vm.messageList.push(paramsData);
vm.agreeIdea = "";
vm.disagreeIdea = []; // 隐患整改人
}
});
}, },
created() {},
methods: { methods: {
selectResult(val) { selectResult(val) {
this.radio = val; this.radio = val;
...@@ -90,16 +145,16 @@ export default { ...@@ -90,16 +145,16 @@ export default {
if (!this.taskId) { if (!this.taskId) {
return; return;
} }
let formdata = new FormData() let formdata = new FormData();
formdata.append("confirmResult", values.radio) formdata.append("confirmResult", values.radio);
formdata.append("confirmOpinion", values.confirmOpinion) formdata.append("confirmOpinion", values.confirmOpinion);
this.$toast.loading({ this.$toast.loading({
message: "提交中...", message: "提交中...",
forbidClick: true, forbidClick: true,
loadingType: "spinner", loadingType: "spinner",
duration: 0 duration: 0
}); });
postriskConAdd(`/riskConfirm/add/${this.taskId}`,formdata) postriskConAdd(`/riskConfirm/add/${this.taskId}`, formdata)
.then(res => { .then(res => {
this.$toast.clear(); this.$toast.clear();
this.$toast.success({ this.$toast.success({
...@@ -113,12 +168,49 @@ export default { ...@@ -113,12 +168,49 @@ export default {
this.$toast.fail("提交失败,请稍后再试"); this.$toast.fail("提交失败,请稍后再试");
}); });
}, },
// 详情
goDetail(taskId) {
this.$router.push({
name: "risk-big-detail",
params: {
id: taskId
}
});
},
cancel() { cancel() {
this.$router.go(-1); this.$router.go(-1);
}, }
} }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.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%;
}
}
}
.detail {
position: absolute;
bottom: 0.32rem;
right: 15px;
color: #2a80f7;
font-weight: bolder;
z-index: 99;
}
</style> </style>
...@@ -59,6 +59,14 @@ ...@@ -59,6 +59,14 @@
</van-cell-group> </van-cell-group>
</div> </div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div> </div>
</template> </template>
...@@ -73,6 +81,7 @@ export default { ...@@ -73,6 +81,7 @@ export default {
return { return {
text: "上报退回", text: "上报退回",
searchValue: "", searchValue: "",
isHaveNews: false,
messageList: [], messageList: [],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null // 是否显示遮罩层 showIndex: null // 是否显示遮罩层
...@@ -93,6 +102,10 @@ export default { ...@@ -93,6 +102,10 @@ export default {
.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();
...@@ -160,7 +173,7 @@ export default { ...@@ -160,7 +173,7 @@ export default {
<style lang="less" scoped> <style lang="less" scoped>
/* @import url(); 引入css类 */ /* @import url(); 引入css类 */
.con-list { .con-list {
padding: 10px 10px 0; padding: 10px 10px .533333rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
......
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