Commit 80137880 authored by yf's avatar yf

修改执行情况查看

parent ad372ed3
...@@ -6,37 +6,51 @@ ...@@ -6,37 +6,51 @@
</van-sticky> </van-sticky>
<div style="margin-bottom: 1.5rem;"> <div style="margin-bottom: 1.5rem;">
<van-grid :column-num="3" style="background-color: #fff;"> <van-grid :column-num="3" style="background-color: #fff;">
<van-grid-item > <van-grid-item>
<div>发起人员:</div> <div>发起人员:</div>
<div>{{messageList.createUserName}}</div> <div>{{ messageList.createUserName }}</div>
</van-grid-item> </van-grid-item>
<van-grid-item > <van-grid-item>
<div>项目负责人:</div> <div>项目负责人:</div>
<div>{{messageList.leaderUserName}}</div> <div>{{ messageList.leaderUserName }}</div>
</van-grid-item> </van-grid-item>
<van-grid-item > <van-grid-item>
<div>任务状态:</div> <div>任务状态:</div>
<div>{{messageList.status}}</div> <div>{{ messageList.status }}</div>
</van-grid-item> </van-grid-item>
<van-grid-item > <van-grid-item>
<div>开始时间:</div> <div>开始时间:</div>
<div>{{timestampToTimes(messageList.startTime)||messageList.startTime}}</div> <div>
{{
timestampToTimes(messageList.startTime) || messageList.startTime
}}
</div>
</van-grid-item> </van-grid-item>
<van-grid-item > <van-grid-item>
<div>结束时间:</div> <div>结束时间:</div>
<div>{{timestampToTimes(messageList.endTime)||messageList.endTime}}</div> <div>
{{ timestampToTimes(messageList.endTime) || messageList.endTime }}
</div>
</van-grid-item> </van-grid-item>
</van-grid> </van-grid>
<van-steps :active="active" active-icon="success" active-color="#38f" style="margin: 0.26rem 0;"> <van-steps
:active="active"
active-icon="success"
active-color="#38f"
style="margin: 0.26rem 0;"
>
<van-step>任务发起</van-step> <van-step>任务发起</van-step>
<van-step>风险评估</van-step> <van-step>风险评估</van-step>
<van-step>评估审核</van-step> <van-step>评估审核</van-step>
<van-step>项目完成</van-step> <van-step>项目完成</van-step>
</van-steps> </van-steps>
<van-tabs v-model="active" color="#2980f7" <van-tabs
v-model="active"
color="#2980f7"
animated animated
:sticky="true" :sticky="true"
offset-top="2.93rem"> offset-top="2.93rem"
>
<van-tab title="任务详情"> <van-tab title="任务详情">
<van-form <van-form
:scroll-to-error="true" :scroll-to-error="true"
...@@ -95,16 +109,17 @@ ...@@ -95,16 +109,17 @@
:rules="[{ required: true, message: '事故类型不能为空' }]" :rules="[{ required: true, message: '事故类型不能为空' }]"
/> />
<van-field <van-field
v-model="form.startTime" v-model="form.startTime"
readonly readonly
name="location" name="location"
label="任务开始时间" label="任务开始时间"
input-align="right" input-align="right"
:formatter="()=>{ :formatter="
return timestampToTimes(form.startTime) () => {
}" return timestampToTimes(form.startTime);
}
"
:rules="[{ required: true, message: '任务开始时间不能为空' }]" :rules="[{ required: true, message: '任务开始时间不能为空' }]"
/> />
...@@ -113,9 +128,11 @@ ...@@ -113,9 +128,11 @@
readonly readonly
name="location" name="location"
label="任务结束时间" label="任务结束时间"
:formatter="()=>{ :formatter="
return timestampToTimes(form.endTime) () => {
}" return timestampToTimes(form.endTime);
}
"
input-align="right" input-align="right"
:rules="[{ required: true, message: '任务结束时间不能为空' }]" :rules="[{ required: true, message: '任务结束时间不能为空' }]"
/> />
...@@ -130,38 +147,41 @@ ...@@ -130,38 +147,41 @@
/> />
</van-form> </van-form>
</van-tab> </van-tab>
<van-tab title="风险清单"> <van-tab title="风险清单"> </van-tab>
</van-tab>
<van-tab title="审核记录"> <van-tab title="审核记录">
<div class="journal-wrap"> <div class="journal-wrap">
<van-cell-group inset > <van-cell-group inset>
<van-steps direction="vertical" :active="99999" v-if="riskLogList.length>0"> <van-steps
direction="vertical"
:active="99999"
v-if="riskLogList.length > 0"
>
<van-step v-for="(item, index) in riskLogList" :key="index"> <van-step v-for="(item, index) in riskLogList" :key="index">
<div class="step-wrap"> <div class="step-wrap">
<van-row> <van-row>
<van-col span="24" <van-col span="24"
><div class="info-title">{{timestampToTimes(item.startTime)}}</div></van-col ><div class="info-title">
{{ timestampToTimes(item.startTime) }}
</div></van-col
> >
</van-row> </van-row>
<van-row> <van-row>
<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">{{item.approvalUserName}}</van-col> <van-col span="17">{{ item.approvalUserName }}</van-col>
</van-row> </van-row>
<van-row> <van-row>
<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">{{item.taskName}}</van-col> <van-col span="17">{{ item.taskName }}</van-col>
</van-row> </van-row>
<van-row> <van-row>
<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">{{item.taskResult}}</van-col> <van-col span="17">{{ item.taskResult }}</van-col>
</van-row> </van-row>
<!-- <van-row> <!-- <van-row>
<van-col span="7" <van-col span="7"
...@@ -172,47 +192,54 @@ ...@@ -172,47 +192,54 @@
</div> </div>
</van-step> </van-step>
</van-steps> </van-steps>
<div style="text-align: center;" v-if="riskLogList.length == 0">暂无数据</div> <div style="text-align: center;" v-if="riskLogList.length == 0">
暂无数据
</div>
</van-cell-group> </van-cell-group>
</div> </div>
</van-tab> </van-tab>
<van-tab title="风险评估报告"> <van-tab title="风险评估报告">
<div style="height: 1.5rem; <div
style="height: 1.5rem;
background-color: #fff; background-color: #fff;
border-bottom: 1px solid #97999a; border-bottom: 1px solid #97999a;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
line-height: 1.5rem; line-height: 1.5rem;
"> "
<div><van-icon name="column" size="26px"/></div> >
<div><van-icon name="column" size="26px" /></div>
<div style="flex-grow:1;line-height: 0.6rem"> <div style="flex-grow:1;line-height: 0.6rem">
<div>风险评估报告.PDF</div> <div>风险评估报告.PDF</div>
<div>2019-3-21 10:23 100KB</div> <div>2019-3-21 10:23 100KB</div>
</div> </div>
<div> <div>
<van-icon name="arrow" size="26px"/> <van-icon name="arrow" size="26px" />
</div> </div>
</div> </div>
<div style="height: 1.5rem; <div
style="height: 1.5rem;
background-color: #fff; background-color: #fff;
border-bottom: 1px solid #97999a; border-bottom: 1px solid #97999a;
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
line-height: 1.5rem; line-height: 1.5rem;
"> "
<div><van-icon name="column" size="26px"/></div> >
<div><van-icon name="column" size="26px" /></div>
<div style="flex-grow:1;line-height: 0.6rem"> <div style="flex-grow:1;line-height: 0.6rem">
<div>风险评估报告.PDF</div> <div>风险评估报告.PDF</div>
<div>2019-3-21 10:23 100KB</div> <div>2019-3-21 10:23 100KB</div>
</div> </div>
<div> <div>
<van-icon name="arrow" size="26px"/> <van-icon name="arrow" size="26px" />
</div> </div>
</div> </div>
</van-tab> </van-tab>
</van-tabs> </van-tabs>
</div> </div>
<div style="display: flex; <div
style="display: flex;
justify-content: space-around; justify-content: space-around;
background-color: #fff; background-color: #fff;
border-top: 1px solid #e3e3e3; border-top: 1px solid #e3e3e3;
...@@ -220,27 +247,31 @@ ...@@ -220,27 +247,31 @@
width: 100%; width: 100%;
text-align: center; text-align: center;
position: fixed; position: fixed;
bottom: 0;"> bottom: 0;"
<div @click="performTasks" style="color: #4bced0;font-size: 14px;font-weight: 600;"> >
<div
@click="performTasks"
style="color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="plus" /></div> <div style="font-size: 22px;"><van-icon name="plus" /></div>
<div>执行任务</div> <div>执行任务</div>
</div> </div>
<div style="color: #ec808d;font-size: 14px;font-weight: 600;"> <!-- <div style="color: #ec808d;font-size: 14px;font-weight: 600;">
<div style="font-size: 22px;"><van-icon name="success" /></div> <div style="font-size: 22px;"><van-icon name="success" /></div>
<div>任务完成</div> <div>任务完成</div>
</div> -->
</div> </div>
</div> </div>
</div> </template>
</template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { timestampToTime, generateId } from "@/utils/format"; import { timestampToTime, generateId } from "@/utils/format";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
export default { export default {
name:'risk-confirme', name: "risk-confirme",
components: { components: {
LHeader, LHeader
}, },
data() { data() {
return { return {
...@@ -248,54 +279,56 @@ ...@@ -248,54 +279,56 @@
searchValue: "", searchValue: "",
isHaveNews: false, isHaveNews: false,
messageList: [], messageList: [],
riskLogList:[], riskLogList: [],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层, showIndex: null, // 是否显示遮罩层,
active: 0, active: 0,
form:{ form: {},
tabs: []
},
tabs: [
],
}; };
}, },
created() { created() {
var planId=this.$route.params.id || sessionStorage.getItem('planId') var planId = this.$route.params.id || sessionStorage.getItem("planId");
this.postList(planId); var buildingId =
this.$route.params.buildingId || sessionStorage.getItem("buildingId");
this.postList(planId, buildingId);
}, },
methods: { methods: {
timestampToTimes(time){ timestampToTimes(time) {
return timestampToTime(new Date(time),"DT2", true) return timestampToTime(new Date(time), "DT2", true);
}, },
performTasks(){ performTasks() {
this.$router.push({ this.$router.push({
name: "riskInherent", name: "riskInherent",
params: { params: {
id:this.messageList.id id: this.messageList.id
}, }
}) });
}, },
handadd(){ handadd() {
this.$router.push({ this.$router.push({
name: "riskAdd", name: "riskAdd",
params: { params: {
title:'新增' title: "新增"
}, }
}) });
}, },
postList(id) { postList(id, buildingId) {
console.log(buildingId, "123");
this.$toast.loading({ this.$toast.loading({
message: "加载中...", message: "加载中...",
forbidClick: true, forbidClick: true,
loadingType: "spinner", loadingType: "spinner",
duration: 0, duration: 0
}); });
getFun(`/risk/plan/details/${id}`) var url = `/risk/plan/details/${id}`;
.then((res) => { if (buildingId) url += "?buildingId=" + buildingId;
getFun(url)
.then(res => {
this.$toast.clear(); this.$toast.clear();
this.messageList =res.data||res.rows; this.messageList = res.data || res.rows;
this.form= this.messageList.detailsDto this.form = this.messageList.detailsDto;
this.riskLogList= this.messageList.approveListDtos this.riskLogList = this.messageList.approveListDtos;
}) })
.catch(() => { .catch(() => {
this.$toast.clear(); this.$toast.clear();
...@@ -318,8 +351,8 @@ ...@@ -318,8 +351,8 @@
this.$router.push({ this.$router.push({
name: "risk-big-detail", name: "risk-big-detail",
params: { params: {
id: data.businessId||data.id, id: data.businessId || data.id
}, }
}); });
this.showIndex = null; this.showIndex = null;
}, },
...@@ -328,31 +361,30 @@ ...@@ -328,31 +361,30 @@
this.$router.push({ this.$router.push({
name: "risk-affirm", name: "risk-affirm",
params: { params: {
data: data, data: data
}, }
}); });
this.showIndex = null; this.showIndex = null;
},
},
};
</script>
<style lang="less" scoped>
#app {
font-family: "";
color: #2c3e50
} }
.cell-wrap {
position: relative;
} }
p { };
</script>
<style lang="less" scoped>
#app {
font-family: "";
color: #2c3e50;
}
.cell-wrap {
position: relative;
}
p {
font-size: 0.4rem; font-size: 0.4rem;
font-weight: none; font-weight: none;
padding-left: 0.16rem; padding-left: 0.16rem;
margin: 0.186667rem 0; margin: 0.186667rem 0;
color: #7f7f7f; color: #7f7f7f;
} }
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
margin-bottom: 10px; margin-bottom: 10px;
padding: 10px; padding: 10px;
...@@ -362,28 +394,27 @@ ...@@ -362,28 +394,27 @@
margin-bottom: 0.133333rem; margin-bottom: 0.133333rem;
line-height: 0.64rem; line-height: 0.64rem;
} }
} }
.journal-wrap { .journal-wrap {
position: relative; position: relative;
} }
.supervise-wrap { .supervise-wrap {
position: relative; position: relative;
} }
.info-title { .info-title {
color: #2980f7; color: #2980f7;
font-weight: none; font-weight: none;
} }
.field-title { .field-title {
color: black; color: black;
font-weight: none; font-weight: none;
} }
.more { .more {
position: absolute; position: absolute;
bottom: 0.32rem; bottom: 0.32rem;
right: 15px; right: 15px;
color: #2a80f7; color: #2a80f7;
font-weight: none; font-weight: none;
z-index: 99; z-index: 99;
} }
</style> </style>
\ No newline at end of file
...@@ -4,12 +4,24 @@ ...@@ -4,12 +4,24 @@
<van-sticky offset-top="0"> <van-sticky offset-top="0">
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
</van-sticky> </van-sticky>
<van-tabs v-model="active" @change="postList" color="#2980f7" animated :sticky="true"> <van-tabs
<van-tab v-for="(item) in tabs" :key="item.key" :title="item.title"> v-model="active"
@change="postList"
color="#2980f7"
animated
:sticky="true"
>
<van-tab v-for="item in tabs" :key="item.key" :title="item.title">
<!-- 内容列表 --> <!-- 内容列表 -->
<div class="con-list" @touchmove="showIndex = null"> <div class="con-list" @touchmove="showIndex = null">
<van-cell-group inset v-for="(item, index) in messageList" :key="index"> <van-cell-group
<div style="font-size: 0.45rem;padding: 5px 0;">{{ item.title }}</div> inset
v-for="(item, index) in messageList"
:key="index"
>
<div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.title }}
</div>
<van-row gutter=""> <van-row gutter="">
<van-col span="17"> <van-col span="17">
<van-row gutter=""> <van-row gutter="">
...@@ -18,26 +30,45 @@ ...@@ -18,26 +30,45 @@
</van-row> </van-row>
<van-row gutter=""> <van-row gutter="">
<van-col span="9">发起时间:</van-col> <van-col span="9">发起时间:</van-col>
<van-col span="15">{{ timestampToTimes(item.startTime) }}</van-col> <van-col span="15">{{
timestampToTimes(item.startTime)
}}</van-col>
</van-row> </van-row>
</van-col> </van-col>
<van-col span="7"> <van-col span="7">
<van-row :style="{ 'color': (active == 0) ? '#f79648' : (active == 1) ? '#0069e5' : '#03b615' }"> <van-row
:style="{
color:
active == 0
? '#f79648'
: active == 1
? '#0069e5'
: '#03b615'
}"
>
{{ item.state }} {{ item.state }}
</van-row> </van-row>
<van-row> <van-row>
<van-button type="info" size="mini" @click="lookdetail(index, item)">查看详情</van-button> <van-button
type="info"
size="mini"
@click="lookdetail(index, item)"
>执行情况</van-button
>
</van-row> </van-row>
</van-col> </van-col>
</van-row> </van-row>
</van-cell-group> </van-cell-group>
<div style=" <div
style="
width: 100%; width: 100%;
text-align: center; text-align: center;
font-size: 0.48rem; font-size: 0.48rem;
position: fixed; position: fixed;
top: 30%; top: 30%;
" v-if="messageList['length'] == 0"> "
v-if="messageList['length'] == 0"
>
暂无数据 暂无数据
</div> </div>
</div> </div>
...@@ -46,11 +77,95 @@ ...@@ -46,11 +77,95 @@
</van-tab> </van-tab>
</van-tabs> </van-tabs>
<!-- 长按显示遮罩层 --> <!-- 长按显示遮罩层 -->
<van-overlay :show="showIndex"> <van-popup
<div class="wrapper" @click.stop="showIndex = false"> v-model="showIndex"
closeable
round
position="right"
:style="{ width: '90%', height: '100%' }"
>
<van-cell-group title="执行情况">
<!-- 内容列表 -->
<div class="con-list" @touchmove="showIndex = null">
<van-cell-group
inset
v-for="(item, index) in buildingList"
:key="index"
>
<van-row gutter="">
<van-col span="16">{{ item.buildingName }}</van-col>
<van-col
span="8"
:style="{
color:
item.status == 'wait'
? '#F79648'
: item.status == 'finish'
? '#03B615'
: '#FF041D'
}"
>{{
item.status == "wait"
? "待评估"
: item.status == "finish"
? "已完成"
: "已退回"
}}</van-col
>
</van-row>
<van-row>
<van-col span="18">
<van-row gutter="">
<van-col span="8">创 建 人:</van-col>
<van-col span="16">{{ item.createUserName }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="8">处理人员:</van-col>
<van-col span="16">{{ item.workUserNames }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="8">发起时间:</van-col>
<van-col span="16"
>{{ timestampToTimes(item.startTime) }}
</van-col>
</van-row>
</van-col>
<van-col span="6">
<van-row>
<van-button
type="info"
size="mini"
@click="todetail(index, item)"
>查看详情</van-button
>
</van-row></van-col
>
</van-row>
</van-cell-group>
<div
style="
width: 100%;
text-align: center;
font-size: 0.48rem;
position: fixed;
top: 30%;
"
v-if="buildingList['length'] == 0"
>
暂无数据
</div>
</div> </div>
</van-overlay> </van-cell-group>
</van-popup>
<!-- <van-overlay :show="showIndex">
<div class="wrapper" @click.stop="showIndex = false">
111
</div>
</van-overlay> -->
</div> </div>
</template> </template>
...@@ -59,9 +174,9 @@ import LHeader from "@/components/header.vue"; ...@@ -59,9 +174,9 @@ import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
import { timestampToTime, generateId } from "@/utils/format"; import { timestampToTime, generateId } from "@/utils/format";
export default { export default {
name: 'risk-execution', name: "risk-execution",
components: { components: {
LHeader, LHeader
}, },
data() { data() {
return { return {
...@@ -70,9 +185,9 @@ export default { ...@@ -70,9 +185,9 @@ export default {
isHaveNews: false, isHaveNews: false,
messageList: [ messageList: [
{ {
title: 'XX项目评估任务单', title: "XX项目评估任务单",
time: '2022-12-12', time: "2022-12-12",
name: 'Mr.周', name: "Mr.周",
state: 1 state: 1
} }
], ],
...@@ -83,17 +198,18 @@ export default { ...@@ -83,17 +198,18 @@ export default {
tabs: [ tabs: [
{ {
title: "待评估", title: "待评估",
key: 'wait' key: "wait"
}, },
{ {
title: "执行中", title: "执行中",
key: 'running' key: "running"
}, },
{ {
title: "已完成", title: "已完成",
key: 'finish' key: "finish"
}, }
], ],
buildingList: []
}; };
}, },
created() { created() {
...@@ -101,32 +217,33 @@ export default { ...@@ -101,32 +217,33 @@ export default {
}, },
methods: { methods: {
timestampToTimes(time) { timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true) return timestampToTime(new Date(time), "DT2", true);
}, },
handadd() { handadd() {
this.$router.push({ this.$router.push({
name: "riskAdd", name: "riskAdd",
params: { params: {
title: '新增' title: "新增"
}, }
}) });
}, },
postList(name, title) { postList(name, title) {
this.$toast.loading({ this.$toast.loading({
message: "加载中...", message: "加载中...",
forbidClick: true, forbidClick: true,
loadingType: "spinner", loadingType: "spinner",
duration: 0, duration: 0
}); });
let url = `/risk/plan/allocation/list?status=wait` let url = `/risk/plan/allocation/list?status=wait`;
if (name == 0) { if (name == 0) {
url = `/risk/plan/allocation/list?status=wait` url = `/risk/plan/allocation/list?status=wait`;
} else if (name == 1) { } else if (name == 1) {
url = `/risk/plan/allocation/list?status=running` url = `/risk/plan/allocation/list?status=running`;
} else { } else {
url = `/risk/plan/allocation/list?status=finish` url = `/risk/plan/allocation/list?status=finish`;
} }
getFun(url).then(res => { getFun(url)
.then(res => {
this.$toast.clear(); this.$toast.clear();
this.messageList = res.data || res.rows; this.messageList = res.data || res.rows;
// 判断有无数据返回 // 判断有无数据返回
...@@ -143,9 +260,34 @@ export default { ...@@ -143,9 +260,34 @@ export default {
onSearch(val) { onSearch(val) {
this.postList(this.searchValue); this.postList(this.searchValue);
}, },
//查看详情 //执行情况
lookdetail(index, item) { lookdetail(index, item) {
this.showIndex = true this.showIndex = true;
console.log(item);
getFun("/risk/plan/allocation/building/list/" + item.id)
.then(res => {
console.log(res);
this.buildingList = res.data;
})
.catch(() => {
this.$toast.clear();
this.$toast.fail("加载失败,请稍后再试");
});
},
//查看详情
todetail(index, item) {
this.showIndex = true;
console.log(item);
this.$router.push({
name: "riskTaskList",
params: {
id: item.id,
buildingId: item.buildingId
}
});
sessionStorage.setItem("planId", item.id);
sessionStorage.setItem("buildingId", item.buildingId);
this.showIndex = null;
}, },
// 详情 // 详情
...@@ -153,8 +295,8 @@ export default { ...@@ -153,8 +295,8 @@ export default {
this.$router.push({ this.$router.push({
name: "risk-big-detail", name: "risk-big-detail",
params: { params: {
id: data.businessId || data.id, id: data.businessId || data.id
}, }
}); });
this.showIndex = null; this.showIndex = null;
}, },
...@@ -163,12 +305,12 @@ export default { ...@@ -163,12 +305,12 @@ export default {
this.$router.push({ this.$router.push({
name: "risk-affirm", name: "risk-affirm",
params: { params: {
data: data, data: data
}, }
}); });
this.showIndex = null; this.showIndex = null;
}, }
}, }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
...@@ -200,4 +342,3 @@ export default { ...@@ -200,4 +342,3 @@ export default {
} }
} }
</style> </style>
\ No newline at end of file
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