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 @@
<template>
<div id="app">
<transition :name="transitionName">
<router-view class="router-view" />
<keep-alive :include="cachePage">
<router-view class="router-view" />
</keep-alive>
</transition>
</div>
</template>
......@@ -20,7 +22,8 @@
export default {
data () {
return {
transitionName: 'slide-left'
transitionName: 'slide-left',
cachePage:["add-danger","change-info","affirm-danger","risk-affirm","manager-survey","super-survey","major-survey"]
}
},
watch: {
......
......@@ -386,16 +386,16 @@ const routes = [{
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/superviseDanger'),
},
// 隐患督办批示
{
path: '/super-survey',
name: 'super-survey',
meta: {
title: '隐患督办',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/superviseDanger/superSurvey'),
// 隐患督办批示
{
path: '/super-survey',
name: 'super-survey',
meta: {
title: '隐患督办',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/superviseDanger/superSurvey'),
},
// 重大隐患列表
{
path: '/major-danger',
......@@ -429,17 +429,17 @@ const routes = [{
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/delayApproval'),
},
// 延期审批确定
{
path: '/ratify-info',
name: 'ratify-info',
meta: {
title: '延期审批',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/delayApproval/ratifyInfo'),
// 延期审批确定
{
path: '/ratify-info',
name: 'ratify-info',
meta: {
title: '延期审批',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/danger/delayApproval/ratifyInfo'),
},
// 项目经理督办列表
{
path: '/manager-danger',
......@@ -464,29 +464,31 @@ const routes = [{
// 风险模块
{
path: '/risk',
name: 'risk',
path: '/risk-add',
name: 'risk-add',
meta: {
title: '风险',
title: '风险上报',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk'),
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd'),
},
{
path: '/risk-add',
name: 'risk-add',
path: '/matrix-grad',
name: 'matrix-grad',
meta: {
title: '风险上报',
title: '矩阵式定级',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd'),
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskAdd/matrixGrad'),
},
{
path: '/risk-return',
name: 'risk-return',
meta: {
title: '风险上报',
title: '风险上报退回列表',
index: 1
},
component: () => import( /* webpackChunkName: "SaveWorkbench" */ '../views/risk/riskReturn'),
......@@ -511,15 +513,6 @@ const routes = [{
},
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',
name: 'risk-account',
......
......@@ -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) {
return request({
......@@ -203,7 +212,7 @@ export function superviseList(url, data) {
}
//经理督办
export function superviseSABList(url, data) {
export function superviseSABlist(url, data) {
return request({
url: url,
method: 'post',
......@@ -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*/
......
......@@ -26,6 +26,17 @@ export function postHdType(url,data) {
data
})
}
// 各种措施
export function postMeasures(url,data) {
return request({
url: url,
method: 'post',
data
})
}
// 主责人员
export function postHdPeople(url,data) {
return request({
......
......@@ -13,7 +13,7 @@
欢迎登录<span>首开集团安全隐患排查治理体系</span>!
</div>
<div class="login-form">
<van-form @submit="onSubmit">
<van-form @submit="onSubmit" :show-error-message="false" >
<div class="username-wrap">
<div class="username-icon">
<van-image :src="require('@/assets/login/login-username.png')" />
......@@ -23,7 +23,7 @@
name="username"
label=""
placeholder="账号"
:rules="[{ required: true, message: '请填写用户名' }]"
:rules="[{ required: true, message: '请填写账号' }]"
/>
</div>
<div class="passworld-wrap">
......
This diff is collapsed.
......@@ -19,7 +19,7 @@
</van-checkbox-group>
<div class="footer-con">
<div style="color: #1989fa;">已选择: {{result.length}}</div>
<div style="color: #1989fa;">已选择: {{result.length}}</div>
<div>
<van-button type="info" @click="confirm">确定</van-button>
</div>
......
<template>
<div>
<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
@submit="onSubmit"
:show-error="false"
......@@ -27,10 +65,7 @@
:rules="[{ required: true, message: '隐患整改详情描述不能为空' }]"
/>
<van-field
name="uploader"
label="整改照片"
>
<van-field name="uploader" label="整改照片" :rules="[{ required: true, message: '整改照片不能为空' }]">
<template #input>
<van-uploader v-model="uploaderImg" />
</template>
......@@ -38,7 +73,7 @@
<van-field name="uploader2" label="整改视频">
<template #input>
<van-uploader v-model="uploaderVideo" />
<van-uploader v-model="uploaderVideo" accept="video/*" />
</template>
</van-field>
......@@ -60,6 +95,7 @@
import LHeader from "@/components/header.vue";
import { dangerRectReturn, dangerRectAdd } from "@/service/danger";
export default {
name: "change-info",
components: {
LHeader
},
......@@ -68,6 +104,7 @@ export default {
text: "整改确认",
taskId: "",
taskName: "",
messageList: [],
returnCause: "",
isShowreturnCause: false,
value: "",
......@@ -75,15 +112,28 @@ export default {
uploaderVideo: [] //视频上传
};
},
created() {
this.taskId = this.$route.params.taskId;
this.taskName = this.$route.params.taskName;
if (this.taskName == "隐患整改(已退回)") {
this.isShowreturnCause = true;
// 请求退回原因
this.getRectReturn();
}
beforeRouteEnter(to, from, next) {
next(vm => {
if (from.name === "change-danger") {
vm.messageList = []
let paramsData = to.params.data;
vm.taskId = paramsData.taskId;
vm.taskName = paramsData.taskName;
vm.messageList.push(paramsData);
if (vm.taskName == "隐患整改(已退回)") {
vm.isShowreturnCause = true;
// 请求退回原因
vm.getRectReturn();
}
// 清空数据
vm.value="",
vm.uploaderImg=[]; //图像上传
vm.uploaderVideo=[] //视频上传
}
});
},
activated() {},
methods: {
onSubmit(values) {
console.log("submit", values);
......@@ -95,14 +145,19 @@ export default {
});
let formdata = new FormData();
formdata.append("details", this.value);
// formdata.append("rePicture[]", values.uploader);
// formdata.append("reVideo[]", values.uploader2);
// 放图片路径 因为formdat存数组会自动变成字符串所以次用这种追加字段的方式
values.uploader.forEach(item => {
formdata.append("rePicture1[]", item.file);
});
values.uploader2.forEach(item => {
formdata.append("reVideo1[]", item.file);
});
// 判断保存的url
let url = `/rectification/add1/${this.taskId}`;
if (this.taskName == "隐患整改(已退回)") {
url = `/rectification/add2/${this.taskId}`;
}
dangerRectAdd(url,formdata)
dangerRectAdd(url, formdata)
.then(res => {
this.$toast.clear();
this.$toast.success({
......@@ -134,13 +189,64 @@ export default {
this.$toast.fail("加载失败,请稍后再试");
});
},
// 详情
goDetail(taskId) {
this.$router.push({
name: "normal-detail",
params: {
id: taskId
}
});
},
cancel() {
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>
<style lang="less" scoped>
/* @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>
......@@ -10,7 +10,7 @@
<van-field
readonly
clickable
name="delayTime"
name="applyDate"
:value="delayTime"
label="延期时间"
placeholder="点击选择日期"
......@@ -28,7 +28,7 @@
<van-field
v-model="delayApply"
label="延期理由"
name="delayApply"
name="applyReason"
rows="3"
type="textarea"
placeholder="请输入"
......@@ -52,6 +52,7 @@
<script>
import LHeader from "@/components/header.vue";
import { timestampToTime } from "@/utils/format";
import { delayAdd } from "@/service/danger";
export default {
components: {
LHeader
......@@ -70,10 +71,32 @@ export default {
this.taskId = this.$route.params.taskId;
},
methods: {
onSubmit(values) {
console.log("submit", values);
},
onSubmit(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) {
this.delayTime = timestampToTime(date, "DT1", true);
......
......@@ -8,7 +8,6 @@
inset
v-for="(item, index) in messageList"
:key="index"
@click="read(item)"
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
......@@ -58,6 +57,13 @@
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
......@@ -72,6 +78,7 @@ export default {
return {
text: "隐患整改",
searchValue: "",
isHaveNews: false,
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
......@@ -94,6 +101,10 @@ export default {
dangerRect("/rectification/list").then(res =>{
this.$toast.clear();
this.messageList = res.rows
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
}).catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
......@@ -132,8 +143,7 @@ export default {
this.$router.push({
name:"change-info",
params:{
"taskId":data.taskId,
"taskName":data.taskName
data: data,
}
});
this.showIndex = null;
......@@ -167,7 +177,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
......
<template>
<div>
<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
@submit="onSubmit"
:show-error="false"
......@@ -37,6 +67,7 @@
type="datetime"
@confirm="onConfirm"
@cancel="showCalendar = false"
v-model="endDateTime"
/>
</van-popup>
......@@ -80,15 +111,15 @@
/>
</van-popup>
<van-field
v-model="valueIdea"
label="意见"
name="confirmOpinion"
rows="3"
type="textarea"
placeholder="请输入"
:rules="[{ required: true, message: '意见不能为空' }]"
/>
<van-field
v-model="valueIdea"
label="意见"
name="confirmOpinion"
rows="3"
type="textarea"
placeholder="请输入"
:rules="[{ required: true, message: '意见不能为空' }]"
/>
</div>
<!-- 退回是的选项 -->
......@@ -123,12 +154,14 @@ import LHeader from "@/components/header.vue";
import { timestampToTime } from "@/utils/format";
import { getConfirmFormList, dangerConSub } from "@/service/danger";
export default {
name: "affirm-danger",
components: {
LHeader
},
data() {
return {
taskId: "",
messageList: [],
radio: "1",
text: "隐患确认",
value: "",
......@@ -142,13 +175,33 @@ export default {
columnsReview: [],
showPickerReview: false,
valueIdea: "",
returnReason: ""
returnReason: "",
endDateTime: new Date()
};
},
created() {
this.taskId = this.$route.params.taskId;
this.getFormList();
beforeRouteEnter(to, from, next) {
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: {
getFormList() {
if (!this.taskId) {
......@@ -178,19 +231,19 @@ export default {
if (!this.taskId) {
return;
}
let formdata = new FormData()
formdata.append('confirmResult', this.radio)
formdata.append('endTime', values.endTime)
formdata.append('rectificationUser', this.rectId)
formdata.append('rectificationReview', this.reviewId)
formdata.append('confirmOpinion', values.confirmOpinion)
let formdata = new FormData();
formdata.append("confirmResult", this.radio);
formdata.append("endTime", values.endTime);
formdata.append("rectificationUser", this.rectId);
formdata.append("rectificationReview", this.reviewId);
formdata.append("confirmOpinion", values.confirmOpinion);
this.$toast.loading({
message: "提交中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
dangerConSub(`/confirm/add1/${this.taskId}`,formdata)
dangerConSub(`/confirm/add1/${this.taskId}`, formdata)
.then(res => {
this.$toast.clear();
this.$toast.success({
......@@ -216,15 +269,32 @@ export default {
},
onConRect(value) {
if(!value){
this.showPickerRect = false;
return
}
this.valueRect = value.userName;
this.rectId = value.userId;
this.showPickerRect = false;
},
onConReview(value) {
if(!value){
this.showPickerReview = false;
return
}
this.valueReview = value.userName;
this.reviewId = value.userId;
this.showPickerReview = false;
},
// 详情
goDetail(taskId) {
this.$router.push({
name: "normal-detail",
params: {
id: taskId
}
});
},
cancel() {
this.$router.go(-1);
......@@ -234,4 +304,32 @@ export default {
</script>
<style lang="less" scoped>
/* @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>
......@@ -2,14 +2,8 @@
<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="待确认">
<!-- 内容列表 -->
<!-- 内容列表 -->
<div class="con-list">
<van-cell-group
inset
......@@ -32,7 +26,7 @@
</van-row>
<van-row gutter="">
<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 gutter="">
<van-col span="5">发现时间:</van-col>
......@@ -52,10 +46,13 @@
</van-cell-group>
</div>
</van-tab>
<van-tab title="已确认">已确认</van-tab>
<van-tab title="已退回">已退回</van-tab>
</van-tabs>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
......@@ -64,12 +61,12 @@ import LHeader from "@/components/header.vue";
import { dangerConfirm } from "@/service/danger";
export default {
components: {
LHeader,
LHeader
},
data() {
return {
text: "隐患确认",
active: "1",
isHaveNews: false,
searchValue: "",
messageList: [],
Loop: "", // 定时器
......@@ -77,23 +74,29 @@ export default {
};
},
created() {
this.postList()
this.postList();
},
methods: {
onSearch(val) {
console.log(val);
},
postList(){
this.$toast.loading({
postList() {
this.$toast.loading({
message: "加载中...",
forbidClick: true,
loadingType: "spinner",
duration: 0
});
dangerConfirm("/confirm/list").then(res =>{
this.$toast.clear();
this.messageList = res.rows
}).catch(() => {
dangerConfirm("/confirm/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("加载失败,请稍后再试");
});
......@@ -128,9 +131,9 @@ export default {
goConfirm(data) {
console.log(data);
this.$router.push({
name:"affirm-danger",
params:{
"taskId":data.taskId
name: "affirm-danger",
params: {
data: data,
}
});
this.showIndex = null;
......@@ -141,7 +144,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px .533333rem;
padding: 10px 10px 0.533333rem;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
......@@ -149,9 +152,9 @@ export default {
padding: 10px;
font-size: 13px;
position: relative;
.van-row{
margin-bottom: .133333rem;
line-height: .64rem;
.van-row {
margin-bottom: 0.133333rem;
line-height: 0.64rem;
}
.van-overlay {
position: absolute;
......
......@@ -9,27 +9,26 @@
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.proId }}</van-col>
<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.subject }}</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.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.startDate }}</van-col>
</van-row>
<!-- *接口对接4 END -->
......@@ -46,13 +45,20 @@
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { delayList } from "@/service/danger";
......@@ -64,6 +70,7 @@ export default {
return {
text: "延期审批",
searchValue: "",
isHaveNews: false,
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
......@@ -74,7 +81,29 @@ export default {
},
methods: {
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) {
console.log(val);
......@@ -123,7 +152,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
......
......@@ -7,26 +7,25 @@
:scroll-to-error="true"
validate-trigger="onSubmit"
>
<van-field
v-model="delayTime"
name="delayTime"
<van-field
v-model="applyDate"
name="applyDate"
label="延期时间"
placeholder="请输入"
:rules="[{ required: true, message: '延期时间不能为空' }]"
/>
<van-field
v-model="delayApply"
v-model="applyReason"
readonly
label="延期理由"
name="delayApply"
name="applyReason"
rows="1"
autosize
type="textarea"
/>
<van-field name="isAgree" label="延期是否通过">
<van-field name="isAgree" label="延期是否通过">
<template #input>
<van-radio-group
v-model="isAgree"
......@@ -42,21 +41,20 @@
<van-field
v-model="opinion"
label="理由或者意见"
name="opinion"
name="examineReason"
rows="3"
type="textarea"
placeholder="请输入"
:rules="[{ required: true, message: '理由或者意见不能为空' }]"
/>
<div style="margin: 16px;">
<div style="margin: 16px">
<van-button round block type="info" native-type="submit"
>保存</van-button
>
</div>
</van-form>
<div style="margin:10px 16px 0px;padding-bottom:16px">
<div style="margin: 10px 16px 0px; padding-bottom: 16px">
<van-button round block type="warning" @click.native="cancel"
>取消</van-button
>
......@@ -66,10 +64,11 @@
<script>
import LHeader from "@/components/header.vue";
import { timestampToTime } from "@/utils/format";
import { delayReturn } from "@/service/danger";
import { delayEdit } from "@/service/danger";
export default {
components: {
LHeader
LHeader,
},
data() {
return {
......@@ -80,27 +79,71 @@ export default {
delayApply: "", // 延迟理由
isAgree: 1, // 延期是否通过
opinion: "", //理由或者意见
applyDate: "", //延期时间
applyReason: "", //延期理由
};
},
created() {
this.taskId = this.$route.params.taskId;
this.getReturnEcho();
},
methods: {
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) {
this.isAgree = val;
},
cancel() {
this.$router.go(-1);
}
}
},
},
};
</script>
<style lang="less" scoped>
......
......@@ -9,7 +9,6 @@
inset
v-for="(item, index) in messageList"
:key="index"
@click="read(item)"
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
......@@ -47,7 +46,13 @@
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
......@@ -79,6 +84,7 @@ export default {
return {
text: "重大隐患",
searchValue: "",
isHaveNews: false,
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
......@@ -101,6 +107,10 @@ export default {
.then(res => {
this.$toast.clear();
this.messageList = res.rows
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
......@@ -143,9 +153,9 @@ export default {
goConfirm(data) {
console.log(data);
this.$router.push({
name:"major-survey",
params:{
"taskId":data.taskId
name: "major-survey",
params: {
data: data,
}
});
this.showIndex = null;
......@@ -156,7 +166,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
......
<template>
<div>
<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
@submit="onSubmit"
:show-error='false'
:scroll-to-error="true"
validate-trigger="onSubmit"
>
<van-field name="radio" label="隐患复查结果">
<van-field name="isResult" label="隐患复查结果">
<template #input>
<van-radio-group
v-model="radio"
......@@ -25,7 +54,7 @@
<van-field
v-model="agreeOpinion"
label="审批意见"
name="reviewDetails"
name="details"
rows="3"
type="textarea"
placeholder="请输入"
......@@ -37,7 +66,7 @@
<van-field
readonly
clickable
name="level"
name="thinkHdLev"
:value="thinkLevel"
label="认为隐患级别"
placeholder="请选择"
......@@ -57,7 +86,7 @@
<van-field
v-model="disagreeOpinion"
label="审批意见"
name="reviewDetails"
name="details"
rows="3"
type="textarea"
placeholder="请输入"
......@@ -81,14 +110,16 @@
<script>
import LHeader from "@/components/header.vue";
import { dangerReviewAdd } from "@/service/danger";
import { majorAdd } from "@/service/danger";
export default {
name:"major-survey",
components: {
LHeader
},
data() {
return {
taskId: "",
messageList: [],
radio: "1",
text: "重大隐患审批",
agreeOpinion: "",
......@@ -99,9 +130,21 @@ export default {
};
},
created() {
this.taskId = this.$route.params.taskId;
beforeRouteEnter(to, from, next) {
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: {
selectResult(val) {
this.radio = val;
......@@ -115,22 +158,24 @@ export default {
loadingType: "spinner",
duration: 0
});
// let formdata = new FormData()
// formdata.append('reviewResult', this.radio)
// formdata.append('reviewDetails', values.reviewDetails)
// dangerReviewAdd(`/review/add1/${this.taskId}`,formdata)
// .then(res => {
// this.$toast.clear();
// this.$toast.success({
// message: "提交成功",
// duration: 2000
// });
// history.go(-1);
// })
// .catch(() => {
// this.$toast.clear();
// this.$toast.fail("提交失败,请稍后再试");
// });
let formdata = new FormData()
formdata.append('isResult', values.isResult)
formdata.append('details', values.details)
formdata.append('thinkHdLev', values.thinkHdLev)
formdata.append('taskId', this.taskId)
majorAdd(`/majorapprove/add`,formdata)
.then(res => {
this.$toast.clear();
this.$toast.success({
message: "提交成功",
duration: 2000
});
history.go(-1);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("提交失败,请稍后再试");
});
},
// 所属工程名称
......@@ -138,7 +183,15 @@ export default {
this.thinkLevel = value;
this.showProjectName = false;
},
// 详情
goDetail(taskId) {
this.$router.push({
name: "normal-detail",
params: {
id: taskId
}
});
},
cancel() {
......@@ -149,4 +202,32 @@ export default {
</script>
<style lang="less" scoped>
/* @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>
......@@ -9,7 +9,6 @@
inset
v-for="(item, index) in messageList"
:key="index"
@click="read(item)"
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
......@@ -45,14 +44,20 @@
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { superviseSABList } from "@/service/danger";
import { superviseList } from "@/service/danger";
/*接口对接2 START*/
// 例子:
......@@ -77,6 +82,7 @@ export default {
return {
text: "项目经理督办",
searchValue: "",
isHaveNews: false,
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
......@@ -95,10 +101,14 @@ export default {
loadingType: "spinner",
duration: 0
});
superviseSABList("/supervise/list")
superviseList("/supervise/list")
.then(res => {
this.$toast.clear();
this.messageList = res.data
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
......@@ -141,9 +151,9 @@ export default {
goConfirm(data) {
console.log(data);
this.$router.push({
name:"manager-survey",
params:{
"taskId":data.taskId
name: "manager-survey",
params: {
data: data,
}
});
this.showIndex = null;
......@@ -154,7 +164,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
......
<template>
<div>
<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
@submit="onSubmit"
:show-error='false'
:show-error="false"
:scroll-to-error="true"
validate-trigger="onSubmit"
>
<van-field
v-model="opinion"
label="批示内容"
name="reviewDetails"
rows="3"
type="textarea"
placeholder="请输入"
/>
<van-field
v-model="opinion"
label="批示内容"
name="instructionsContent"
rows="3"
type="textarea"
placeholder="请输入"
/>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit"
>保存</van-button
......@@ -31,23 +57,32 @@
<script>
import LHeader from "@/components/header.vue";
import { dangerReviewAdd } from "@/service/danger";
import { superviseAdd } from "@/service/danger";
export default {
name: "manager-survey",
components: {
LHeader
},
data() {
return {
taskId: "",
messageList: [],
text: "项目经理督办批示",
opinion: "",
opinion: ""
};
},
created() {
this.taskId = this.$route.params.taskId;
beforeRouteEnter(to, from, next) {
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: {
onSubmit(values) {
console.log("submit", values);
......@@ -57,22 +92,30 @@ export default {
loadingType: "spinner",
duration: 0
});
// let formdata = new FormData()
// formdata.append('reviewResult', this.radio)
// formdata.append('reviewDetails', values.reviewDetails)
// dangerReviewAdd(`/review/add1/${this.taskId}`,formdata)
// .then(res => {
// this.$toast.clear();
// this.$toast.success({
// message: "提交成功",
// duration: 2000
// });
// history.go(-1);
// })
// .catch(() => {
// this.$toast.clear();
// this.$toast.fail("提交失败,请稍后再试");
// });
let formdata = new FormData();
formdata.append("instructionsContent", values.instructionsContent);
superviseAdd(`/instructions/add`, formdata)
.then(res => {
this.$toast.clear();
this.$toast.success({
message: "提交成功",
duration: 2000
});
history.go(-1);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("提交失败,请稍后再试");
});
},
// 详情
goDetail(pid) {
this.$router.push({
name: "normal-detail",
params: {
id: pid
}
});
},
cancel() {
......@@ -83,4 +126,32 @@ export default {
</script>
<style lang="less" scoped>
/* @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>
......@@ -49,6 +49,13 @@
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
......@@ -63,6 +70,7 @@ export default {
return {
text: "上报退回",
searchValue: "",
isHaveNews: false,
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
......@@ -83,6 +91,10 @@ export default {
.then(res => {
this.$toast.clear();
this.messageList = res.rows;
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
this.$toast.clear();
......
......@@ -53,6 +53,13 @@
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
......@@ -66,6 +73,7 @@ export default {
data() {
return {
text: "隐患复查",
isHaveNews: false,
searchValue: "",
messageList: [],
Loop: "", // 定时器
......@@ -91,6 +99,10 @@ export default {
.then(res => {
this.$toast.clear();
this.messageList = res.rows;
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
this.$toast.clear();
......@@ -130,7 +142,7 @@ export default {
this.$router.push({
name: "review-add",
params: {
taskId: data.taskId
data: data,
}
});
this.showIndex = null;
......
<template>
<div>
<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
@submit="onSubmit"
:show-error='false'
......@@ -34,6 +74,7 @@
<van-field
name="uploader"
label="隐患复查照片"
:rules="[{ required: true, message: '隐患复查照片不能为空' }]"
>
<template #input>
<van-uploader v-model="uploaderImg" />
......@@ -78,6 +119,7 @@ export default {
data() {
return {
taskId: "",
messageList: [],
radio: "1",
text: "隐患复查",
detail: "",
......@@ -85,9 +127,21 @@ export default {
returnReason: ""
};
},
created() {
this.taskId = this.$route.params.taskId;
beforeRouteEnter(to, from, next) {
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: {
selectResult(val) {
this.radio = val;
......@@ -103,8 +157,12 @@ export default {
});
let formdata = new FormData()
formdata.append('reviewResult', this.radio)
// formdata.append('reviewPicture[]', values.uploader)
formdata.append('reviewDetails', values.reviewDetails)
// 放图片路径 因为formdat存数组会自动变成字符串所以次用这种追加字段的方式
values.uploader.forEach(item => {
formdata.append("reviewPicture1[]", item.file);
});
dangerReviewAdd(`/review/add1/${this.taskId}`,formdata)
.then(res => {
this.$toast.clear();
......@@ -119,12 +177,64 @@ export default {
this.$toast.fail("提交失败,请稍后再试");
});
},
// 详情
goDetail(taskId) {
this.$router.push({
name: "normal-detail",
params: {
id: taskId
}
});
},
cancel() {
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>
<style lang="less" scoped>
/* @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>
......@@ -51,6 +51,13 @@
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
......@@ -65,6 +72,7 @@ export default {
return {
text: "隐患历史台账",
searchValue: "",
isHaveNews: false,
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
......@@ -89,6 +97,10 @@ export default {
.then(res => {
this.$toast.clear();
this.messageList = res.rows;
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
this.$toast.clear();
......
This diff is collapsed.
......@@ -2,8 +2,8 @@
<div>
<LHeader :text="text"></LHeader>
<van-search v-model="searchValue" placeholder="搜索" @search="onSearch" />
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<!-- 内容列表 -->
<!-- 接口对接4 START -->
<div class="con-list">
<van-cell-group
inset
......@@ -12,7 +12,6 @@
@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>
......@@ -29,7 +28,7 @@
<van-col span="7">隐患发现时间:</van-col>
<van-col span="17">{{ item.createTime }}</van-col>
</van-row>
<!-- *接口对接4 END -->
<!-- *接口对接4 END -->
<!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex == index">
......@@ -37,21 +36,26 @@
<van-button round type="primary" @touchstart="goDetail(item)"
>详情</van-button
>
<van-button round type="info" @touchstart="goConfirm(item)"
<van-button round type="info" @touchstart="goConfirm(item)"
>批示</van-button
>
</div>
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { superviseList } from "@/service/danger";
import { superviseSABlist } from "@/service/danger";
/*接口对接2 START*/
// 例子:
......@@ -70,26 +74,45 @@ import { superviseList } from "@/service/danger";
export default {
components: {
LHeader,
LHeader
},
data() {
return {
text: "隐患督办",
searchValue: "",
messageList: [],
messageList: [],
isHaveNews: false,
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
},
created() {
created() {
this.getList();
},
methods: {
getList() {
/*接口对接3 START*/
/*接口对接3 END*/
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;
}
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
onSearch(val) {
console.log(val);
},
......@@ -112,21 +135,21 @@ export default {
// 详情
goDetail(data) {
console.log(data);
this.$router.push({
name: "normal-detail",
params:{
id: data.pid
}
this.$router.push({
name: "normal-detail",
params: {
id: data.pid
}
});
this.showIndex = null;
},
// 确认
goConfirm(data) {
console.log(data);
this.$router.push({
name:"super-survey",
params:{
"taskId":data.taskId
this.$router.push({
name: "super-survey",
params: {
data: data,
}
});
this.showIndex = null;
......@@ -137,7 +160,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
......@@ -145,9 +168,9 @@ export default {
padding: 10px;
font-size: 13px;
position: relative;
.van-row{
margin-bottom: .133333rem;
line-height: .64rem;
.van-row {
margin-bottom: 0.133333rem;
line-height: 0.64rem;
}
.van-overlay {
position: absolute;
......
<template>
<div>
<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
@submit="onSubmit"
:show-error='false'
:scroll-to-error="true"
validate-trigger="onSubmit"
>
<div class="agree" v-if="radio == 1">
<van-field
v-model="opinion"
label="批示内容"
name="reviewDetails"
name="superviseAdd"
rows="3"
type="textarea"
placeholder="请输入"
/>
</div>
<div style="margin: 16px;">
<van-button round block type="info" native-type="submit"
>保存</van-button
......@@ -33,8 +58,9 @@
<script>
import LHeader from "@/components/header.vue";
import { dangerReviewAdd } from "@/service/danger";
import { superviseAdd } from "@/service/danger";
export default {
name:"super-survey",
components: {
LHeader
},
......@@ -42,14 +68,24 @@ export default {
return {
taskId: "",
text: "隐患督办批示",
messageList: [],
opinion: "",
};
},
created() {
this.taskId = this.$route.params.taskId;
beforeRouteEnter(to, from, next) {
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: {
onSubmit(values) {
console.log("submit", values);
......@@ -59,22 +95,30 @@ export default {
loadingType: "spinner",
duration: 0
});
// let formdata = new FormData()
// formdata.append('reviewResult', this.radio)
// formdata.append('reviewDetails', values.reviewDetails)
// dangerReviewAdd(`/review/add1/${this.taskId}`,formdata)
// .then(res => {
// this.$toast.clear();
// this.$toast.success({
// message: "提交成功",
// duration: 2000
// });
// history.go(-1);
// })
// .catch(() => {
// this.$toast.clear();
// this.$toast.fail("提交失败,请稍后再试");
// });
let formdata = new FormData()
formdata.append('instructionsContent', values.instructionsContent)
superviseAdd(`/instructions/add`,formdata)
.then(res => {
this.$toast.clear();
this.$toast.success({
message: "提交成功",
duration: 2000
});
history.go(-1);
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("提交失败,请稍后再试");
});
},
// 详情
goDetail(pid) {
this.$router.push({
name: "normal-detail",
params: {
id: pid
}
});
},
cancel() {
......@@ -85,4 +129,32 @@ export default {
</script>
<style lang="less" scoped>
/* @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>
......@@ -158,8 +158,6 @@ export default {
margin-bottom: 10px;
padding: 10px;
font-size: 13px;
.messgae-title {
}
.message-content {
margin-top: 10px;
}
......
......@@ -9,7 +9,6 @@
inset
v-for="(item, index) in messageList"
:key="index"
@click="read(item)"
@touchstart="touchstart(index, item)"
@touchend.prevent="touchend(index)"
>
......@@ -46,7 +45,13 @@
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
......@@ -79,6 +84,7 @@ export default {
text: "风险历史台账",
searchValue: "",
messageList: [],
isHaveNews: false,
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
};
......@@ -100,6 +106,10 @@ export default {
.then(res => {
this.$toast.clear();
this.messageList = res.rows
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
......@@ -144,7 +154,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
......
......@@ -67,6 +67,16 @@
>
<van-col span="17">{{ riskMain.gradingMethod }}</van-col>
</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-col span="7"
><span class="field-title">技术措施:</span></van-col
......@@ -77,7 +87,11 @@
<van-col span="7"
><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 gutter="">
<van-col span="7"
......@@ -89,7 +103,11 @@
<van-col span="7"
><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 gutter="">
<van-col span="7"
......@@ -101,7 +119,11 @@
<van-col span="7"
><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>
</div>
</van-cell-group>
......@@ -242,7 +264,7 @@ export default {
loadingType: "spinner",
duration: 0
});
postriskDetail(`/riskMain/postriskDetailsApp/${this.id}`)
postriskDetail(`/riskMain/riskDetailsApp/${this.id}`)
.then(res => {
this.$toast.clear();
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 @@
</van-overlay>
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
......@@ -72,6 +79,7 @@ export default {
text: "风险确认",
active: "1",
searchValue: "",
isHaveNews: false,
messageList:[],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
......@@ -92,6 +100,10 @@ export default {
.then(res => {
this.$toast.clear();
this.messageList = res.rows
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
this.$toast.clear();
......@@ -134,9 +146,9 @@ export default {
goConfirm(data) {
console.log(data);
this.$router.push({
name:"risk-affirm",
params:{
"taskId":data.taskId
name: "risk-affirm",
params: {
data: data,
}
});
this.showIndex = null;
......@@ -147,7 +159,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.van-cell-group--inset {
margin: 0;
......
<template>
<div>
<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
@submit="onSubmit"
:show-error='false'
:show-error="false"
:scroll-to-error="true"
validate-trigger="onSubmit"
>
......@@ -22,14 +65,14 @@
<!-- 同意时的选项 -->
<div class="agree" v-if="radio == 1">
<van-field
v-model="agreeIdea"
label="意见"
name ="confirmOpinion"
rows="3"
type="textarea"
placeholder="请输入"
:rules="[{ required: true, message: '意见不能为空' }]"
<van-field
v-model="agreeIdea"
label="意见"
name="confirmOpinion"
rows="3"
type="textarea"
placeholder="请输入"
:rules="[{ required: true, message: '意见不能为空' }]"
/>
</div>
......@@ -38,7 +81,7 @@
<van-field
v-model="disagreeIdea"
label="退回原因"
name ="confirmOpinion"
name="confirmOpinion"
rows="3"
type="textarea"
placeholder="请输入"
......@@ -64,22 +107,34 @@
import LHeader from "@/components/header.vue";
import { postriskConAdd } from "@/service/risk";
export default {
name: "risk-affirm",
components: {
LHeader
},
data() {
return {
taskId: "",
messageList: [],
radio: "1",
text: "风险确认",
agreeIdea:"", // 同意意见
disagreeIdea: "", //退回意见
agreeIdea: "", // 同意意见
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: {
selectResult(val) {
this.radio = val;
......@@ -90,16 +145,16 @@ export default {
if (!this.taskId) {
return;
}
let formdata = new FormData()
formdata.append("confirmResult", values.radio)
formdata.append("confirmOpinion", values.confirmOpinion)
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)
postriskConAdd(`/riskConfirm/add/${this.taskId}`, formdata)
.then(res => {
this.$toast.clear();
this.$toast.success({
......@@ -113,12 +168,49 @@ export default {
this.$toast.fail("提交失败,请稍后再试");
});
},
// 详情
goDetail(taskId) {
this.$router.push({
name: "risk-big-detail",
params: {
id: taskId
}
});
},
cancel() {
this.$router.go(-1);
},
}
}
};
</script>
<style lang="less" scoped>
/* @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>
......@@ -59,6 +59,14 @@
</van-cell-group>
</div>
<!-- 暂无数据 -->
<div
style="width: 100%;text-align: center; font-size: .48rem;position: fixed; top: 30%;"
v-if="isHaveNews"
>
暂无数据
</div>
</div>
</template>
......@@ -73,6 +81,7 @@ export default {
return {
text: "上报退回",
searchValue: "",
isHaveNews: false,
messageList: [],
Loop: "", // 定时器
showIndex: null // 是否显示遮罩层
......@@ -93,6 +102,10 @@ export default {
.then(res => {
this.$toast.clear();
this.messageList = res.rows;
// 判断有无数据返回
if (this.messageList.length == 0) {
this.isHaveNews = true;
}
})
.catch(() => {
this.$toast.clear();
......@@ -160,7 +173,7 @@ export default {
<style lang="less" scoped>
/* @import url(); 引入css类 */
.con-list {
padding: 10px 10px 0;
padding: 10px 10px .533333rem;
background-color: #f0f1f5;
.van-cell-group--inset {
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