Commit 2538d488 authored by wei's avatar wei

commit

parent d7927ee9
...@@ -8,26 +8,11 @@ ...@@ -8,26 +8,11 @@
<van-tabs v-model="active" @change="tabList" color="#2980f7" animated> <van-tabs v-model="active" @change="tabList" color="#2980f7" animated>
<van-tab :title="buildingName"> <van-tab :title="buildingName">
<van-dropdown-menu z-index="1000"> <van-dropdown-menu z-index="1000">
<van-dropdown-item <van-dropdown-item v-model="value1" @change="changeFloor" :options="option1" get-container="body" />
v-model="value1" <van-dropdown-item v-model="value2" @change="changeRoom" :options="option2" get-container="body" />
@change="changeFloor"
:options="option1"
get-container="body"
/>
<van-dropdown-item
v-model="value2"
@change="changeRoom"
:options="option2"
get-container="body"
/>
</van-dropdown-menu> </van-dropdown-menu>
<div class="con-list"> <div class="con-list">
<van-cell-group <van-cell-group inset v-for="(item, index) in messageList" :key="index" @click="touchstart(index, item)">
inset
v-for="(item, index) in messageList"
:key="index"
@click="touchstart(index, item)"
>
<div style="font-size: 0.45rem;padding: 5px 0;"> <div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.title }} {{ item.title }}
</div> </div>
...@@ -49,42 +34,33 @@ ...@@ -49,42 +34,33 @@
<van-col span="15">{{ item.roomName }}</van-col> <van-col span="15">{{ item.roomName }}</van-col>
</van-row> </van-row>
</van-col> </van-col>
<van-col <van-col span="7" :style="{ color: item.state == 1 ? '#0069e5' : '#03b615' }">
span="7"
:style="{ color: item.state == 1 ? '#0069e5' : '#03b615' }"
>
{{ "●待审批" }} {{ "●待审批" }}
</van-col> </van-col>
</van-row> </van-row>
<van-overlay :show="showIndex == index"> <van-overlay :show="showIndex == index">
<div class="wrapper" @click.stop="showIndex = null"> <div class="wrapper" @click.stop="showIndex = null">
<van-button round type="primary" @click="goDetail(item)" <van-button round type="primary" @click="goDetail(item)">编辑</van-button>
>编辑</van-button
>
<!-- <van-button round type="info" @click="goConfirm(item)" v-show="active==0" <!-- <van-button round type="info" @click="goConfirm(item)" v-show="active==0"
>确认</van-button >确认</van-button
> --> > -->
</div> </div>
</van-overlay> </van-overlay>
</van-cell-group> </van-cell-group>
<div <div style="
style="
width: 100%; width: 100%;
text-align: center; text-align: center;
font-size: 0.48rem; font-size: 0.48rem;
position: fixed; position: fixed;
top: 30%; top: 30%;
" " v-if="messageList['length'] == 0">
v-if="messageList['length'] == 0"
>
暂无数据 暂无数据
</div> </div>
</div> </div>
</van-tab> </van-tab>
</van-tabs> </van-tabs>
</div> </div>
<div <div style="display: flex;
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;
...@@ -92,19 +68,12 @@ ...@@ -92,19 +68,12 @@
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 <div @click="endTasks" style="color: #D9001B;font-size: 14px;font-weight: 600;">
@click="endTasks"
style="color: #D9001B;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="cross" /></div> <div style="font-size: 22px;"><van-icon name="cross" /></div>
<div>任务执行结束</div> <div>任务执行结束</div>
</div> </div>
...@@ -113,13 +82,14 @@ ...@@ -113,13 +82,14 @@
</template> </template>
<script> <script>
import { Dialog } from 'vant';
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
import { timestampToTime, generateId } from "@/utils/format"; import { timestampToTime, generateId } from "@/utils/format";
export default { export default {
name: "risk-confirme", name: "risk-confirme",
components: { components: {
LHeader LHeader,
}, },
data() { data() {
return { return {
...@@ -177,6 +147,19 @@ export default { ...@@ -177,6 +147,19 @@ export default {
//任务执行结束 //任务执行结束
endTasks() { endTasks() {
//toDo //toDo
postFun(
`/risk/plan/submit/${this.planId}/${this.buildingId}`
).then(res => {
console.log(res.msg,'lllll')
Dialog.alert({
title: '任务执行结束',
message: res.msg,
}).then(() => {
this.$router.push({
name:'riskAssess'
})
});
})
}, },
handadd() { handadd() {
this.$router.push({ this.$router.push({
...@@ -300,9 +283,11 @@ export default { ...@@ -300,9 +283,11 @@ export default {
font-family: ""; font-family: "";
color: #2c3e50; color: #2c3e50;
} }
.cell-wrap { .cell-wrap {
position: relative; position: relative;
} }
p { p {
font-size: 0.4rem; font-size: 0.4rem;
font-weight: none; font-weight: none;
...@@ -310,31 +295,38 @@ p { ...@@ -310,31 +295,38 @@ p {
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;
font-size: 13px; font-size: 13px;
position: relative; position: relative;
.van-row { .van-row {
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;
...@@ -343,10 +335,12 @@ p { ...@@ -343,10 +335,12 @@ p {
font-weight: none; font-weight: none;
z-index: 99; z-index: 99;
} }
.con-list { .con-list {
padding: 0; padding: 0;
min-height: 10rem; min-height: 10rem;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
margin-bottom: 0.26667rem; margin-bottom: 0.26667rem;
...@@ -357,13 +351,16 @@ p { ...@@ -357,13 +351,16 @@ p {
box-shadow: 0px 0px 10px 2px #f3f3f3; box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%; width: 90%;
margin: 0.4rem auto; margin: 0.4rem auto;
.van-row { .van-row {
font-size: 0.4rem; font-size: 0.4rem;
line-height: 0.8rem; line-height: 0.8rem;
margin-bottom: 0; margin-bottom: 0;
} }
.van-overlay { .van-overlay {
position: absolute; position: absolute;
.wrapper { .wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
......
...@@ -4,76 +4,146 @@ ...@@ -4,76 +4,146 @@
<van-sticky offset-top="0"> <van-sticky offset-top="0">
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
</van-sticky> </van-sticky>
<van-sticky offset-top="1.5rem"> <van-tabs
<van-search
v-model="searchValue"
show-action
placeholder="请输入搜索内容"
@search="onSearch"
>
<template #action>
<div @click="onSearch">搜索</div>
</template>
</van-search>
</van-sticky>
<!-- <van-tabs
v-model="active" v-model="active"
@change=" @change="postList"
postList(searchValue);
showIndex = null;
"
color="#2980f7" color="#2980f7"
animated animated
:sticky="true" :sticky="true"
offset-top="2.93rem"
> >
<van-tab v-for="(item, key) in tabs" :key="key" :title="item.title"> --> <van-tab v-for="item in tabs" :key="item.key" :title="item.title">
<!-- 内容列表 --> <!-- 内容列表 -->
<div <div class="con-list">
class="con-list"
@touchmove="showIndex = null"
>
<van-cell-group <van-cell-group
inset inset
v-for="(item, index) in messageList" v-for="(item, index) in messageList"
:key="index" :key="index"
@click="touchstart(index, item)"
> >
<div style="font-size: 0.45rem;padding: 5px 0;">{{item.title}}</div> <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="">
<van-col span="9">发起时间</van-col> <van-col span="9">创建人</van-col>
<van-col span="15">{{ item.time}}</van-col> <van-col span="15">{{ item.leaderUserName }}</van-col>
</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">{{ item.name }}</van-col> <van-col span="15">{{
timestampToTimes(item.startTime)
}}</van-col>
</van-row> </van-row>
</van-col> </van-col>
<van-col span="7" :style="{'color':item.state == 1 ? '#0069e5':'#03b615'}"> <van-col span="7">
{{ '●待审批'}} <van-row
:style="{
color:
active == 0
? '#f79648'
: active == 1
? '#0069e5'
: '#03b615'
}"
>
{{ item.state }}
</van-row>
<van-row>
<van-button
type="info"
size="mini"
@click="lookdetail(index, item)"
>执行情况</van-button
>
</van-row>
</van-col> </van-col>
</van-row> </van-row>
</van-cell-group>
<div
style="
width: 100%;
text-align: center;
font-size: 0.48rem;
position: fixed;
top: 30%;
"
v-if="messageList['length'] == 0"
>
暂无数据
</div>
</div>
<!-- 暂无数据 -->
<!-- {{messageList}} -->
</van-tab>
</van-tabs>
<!-- 长按显示遮罩层 -->
<van-popup
v-model="showIndex"
closeable
round
position="right"
:style="{ width: '90%', height: '100%' }"
>
<van-cell-group title="执行情况">
<!-- 内容列表 -->
<div class="con-list">
<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 gutter=""> <van-row>
<van-col span="7">风险源:</van-col> <van-col span="18">
<van-col span="17">{{ item.riskSource }}</van-col> <van-row gutter="">
</van-row> --> <van-col span="8">创 建 人:</van-col>
<van-col span="16">{{ item.createUserName }}</van-col>
</van-row>
<!-- 长按显示遮罩层 --> <van-row gutter="">
<van-overlay :show="showIndex == index"> <van-col span="8">处理人员:</van-col>
<div class="wrapper" @click.stop="showIndex = null"> <van-col span="16">{{ item.workUserNames }}</van-col>
<van-button round type="primary" @click="goDetail(item)" </van-row>
>详情</van-button <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-button round type="info" @click="goConfirm(item)" v-show="active==0" </van-row></van-col
>确认</van-button
> >
</div> </van-row>
</van-overlay>
</van-cell-group> </van-cell-group>
<div <div
style=" style="
...@@ -83,28 +153,24 @@ ...@@ -83,28 +153,24 @@
position: fixed; position: fixed;
top: 30%; top: 30%;
" "
v-if="messageList['length']==0" v-if="buildingList['length'] == 0"
> >
暂无数据 暂无数据
</div> </div>
</div> </div>
<!-- 暂无数据 --> </van-cell-group>
<!-- {{messageList}} --> </van-popup>
<!-- </van-tab>
</van-tabs> -->
</div> </div>
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
// import { postriskConList } from "@/service/risk"; import { timestampToTime, generateId } from "@/utils/format";
export default { export default {
name:'risk-confirme', name: "risk-approve",
components: { components: {
LHeader, LHeader
}, },
data() { data() {
return { return {
...@@ -113,52 +179,67 @@ ...@@ -113,52 +179,67 @@
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
} }
], ],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层, showIndex: false, // 是否显示遮罩层,
active: 0, active: 0,
// 状态 wait 待评估,running 执行中,finish 已完成
tabs: [ tabs: [
{ {
title: "未执行", title: "待审批",
api: "/riskConfirm/list", key: "running"
}, },
{ {
title: "已执行", title: "已审批",
api: "/riskConfirm/finishList", key: "completed"
}, },
{
title: "已退回",
key: "return"
}
], ],
buildingList: []
}; };
}, },
created() { created() {
// this.postList();s this.postList(0);
}, },
methods: { methods: {
handadd(){ timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true);
},
handadd() {
this.$router.push({ this.$router.push({
name: "riskAdd", name: "riskAdd",
params: { params: {
title:'新增' title: "新增"
}, }
}) });
}, },
postList(select = "") { postList(name, title) {
this.$toast.loading({ this.$toast.loading({
message: "加载中...", message: "加载中...",
forbidClick: true, forbidClick: true,
loadingType: "spinner", loadingType: "spinner",
duration: 0, duration: 0
}); });
let formdata = new FormData(); let url = `/risk/plan/approve/list?status=running`;
formdata.append("select", select); if (name == 0) {
postFun(this.tabs[this.active]['api'], formdata) url = `/risk/plan/approve/list?status=running`;
.then((res) => { } else if (name == 1) {
url = `/risk/plan/approve/list?status=completed`;
} else {
url = `/risk/plan/approve/list?status=return`;
}
getFun(url)
.then(res => {
this.$toast.clear(); this.$toast.clear();
this.messageList =res.data||res.rows; this.messageList = res.data || res.rows;
// 判断有无数据返回 // 判断有无数据返回
if (this.messageList.length == 0) { if (this.messageList.length == 0) {
this.isHaveNews = true; this.isHaveNews = true;
...@@ -173,12 +254,32 @@ ...@@ -173,12 +254,32 @@
onSearch(val) { onSearch(val) {
this.postList(this.searchValue); this.postList(this.searchValue);
}, },
touchstart(index, item) { //执行情况
if (this.showIndex != null) { lookdetail(index, item) {
this.showIndex = null; this.showIndex = true;
return; 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.$router.push({
name: "riskTaskList",
params: {
id: item.id,
buildingId: item.buildingId
} }
this.showIndex = index; });
sessionStorage.setItem("planId", item.id);
sessionStorage.setItem("buildingId", item.buildingId);
this.showIndex = false;;
}, },
// 详情 // 详情
...@@ -186,61 +287,57 @@ ...@@ -186,61 +287,57 @@
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 = false;
}, },
// 确认 // 确认
goConfirm(data) { goConfirm(data) {
this.$router.push({ this.$router.push({
name: "risk-affirm", name: "risk-affirm",
params: { params: {
data: data, data: data
}, }
}); });
this.showIndex = null; this.showIndex = false;
}, }
}, }
}; };
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
#app {
#app {
font-family: ""; font-family: "";
color: #2c3e50; color: #2c3e50;
} }
.con-list {
.con-list {
padding: 0; padding: 0;
background-color: #f0f1f5; background-color: #f0f1f5;
position: relative;
.van-cell-group--inset { .van-cell-group--inset {
margin: 0; margin: 0;
margin-bottom: 0.26667rem; margin-bottom: 0.26667rem;
padding: 0.25rem; padding: 0.25rem;
font-size: 0.4rem; font-size: 0.4rem;
position: relative;
border-radius: 4%; border-radius: 4%;
box-shadow: 0px 0px 10px 2px #f3f3f3; box-shadow: 0px 0px 10px 2px #f3f3f3;
width: 90%; width: 90%;
margin: 0.4rem auto; margin: 0.4rem auto;
.van-row { .van-row {
font-size: 0.4rem; font-size: 0.4rem;
line-height: 0.8rem; line-height: 0.8rem;
margin-bottom: 0; margin-bottom: 0;
} }
.van-overlay { }
position: absolute; }
.wrapper {
.wrapper {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-evenly; justify-content: center;
height: 100%; height: 100%;
} }
} </style>
}
}
/deep/.van-tab__pane{
min-height: 8rem;
}
</style>
\ No newline at end of file
...@@ -170,7 +170,7 @@ import { timestampToTime, generateId } from "@/utils/format"; ...@@ -170,7 +170,7 @@ import { timestampToTime, generateId } from "@/utils/format";
export default { export default {
name: "risk-execution", name: "risk-execution",
components: { components: {
LHeader LHeader,
}, },
data() { data() {
return { return {
......
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