Commit ce5d2251 authored by 胡占生's avatar 胡占生 🇨🇳

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

parents fddcc558 4a105568
<template> <template>
<div style="width:100%"> <div style="width:100%">
<LHeader :text="text"></LHeader>
<!-- 搜索 --> <!-- 搜索 -->
<div class="content-wrap"> <div class="content-wrap">
<!-- <div class="search-wrap"> <!-- <div class="search-wrap">
...@@ -70,7 +69,6 @@ ...@@ -70,7 +69,6 @@
</template> </template>
<script> <script>
import LHeader from "@/components/header.vue";
import { getFun, postFun } from "@/service/table"; import { getFun, postFun } from "@/service/table";
import { getUserInfo } from "@/utils/userInfo"; import { getUserInfo } from "@/utils/userInfo";
import { debounce } from "@/utils/common.js"; import { debounce } from "@/utils/common.js";
...@@ -78,9 +76,6 @@ import { Toast } from "vant"; ...@@ -78,9 +76,6 @@ import { Toast } from "vant";
export default { export default {
name: "select-people", name: "select-people",
components: {
LHeader
},
created() { created() {
this.getInsideUser(getUserInfo().secondaryUnit); this.getInsideUser(getUserInfo().secondaryUnit);
}, },
...@@ -106,7 +101,7 @@ export default { ...@@ -106,7 +101,7 @@ export default {
this.resultName = this.allDeptList.find( this.resultName = this.allDeptList.find(
item => item.deptId == this.result item => item.deptId == this.result
).deptName; ).deptName;
this.$emit("changeDept", this.result); this.$emit("changeDept", this.result, this.resultName);
}, },
// 查询内部人员 // 查询内部人员
getInsideUser(id, val) { getInsideUser(id, val) {
......
...@@ -86,8 +86,8 @@ ...@@ -86,8 +86,8 @@
<van-field <van-field
required required
clickable clickable
name="deptId" name="deptName"
:value="form.deptId" :value="form.deptName"
label="评估小组选择" label="评估小组选择"
placeholder="请选择" placeholder="请选择"
@click="selectDept()" @click="selectDept()"
...@@ -430,9 +430,10 @@ export default { ...@@ -430,9 +430,10 @@ export default {
selectDept() { selectDept() {
this.projectDept = true; this.projectDept = true;
}, },
changeDept(id) { changeDept(id, name) {
console.log(id); console.log(id);
this.form.deptId = id; this.form.deptId = id;
this.form.deptName = name;
}, },
closeDept() { closeDept() {
console.log(this.form.deptId); console.log(this.form.deptId);
......
...@@ -33,46 +33,127 @@ ...@@ -33,46 +33,127 @@
</div> </div>
</van-grid-item> </van-grid-item>
</van-grid> </van-grid>
<van-steps :active="phase" active-icon="success" active-color="#38f" style="margin: 0.26rem 0;"> <van-steps
<van-step name="1">任务发起</van-step> :active="status"
<van-step name="2">风险评估</van-step> active-icon="success"
<van-step name="3">评估审核</van-step> active-color="#38f"
<van-step name="4">项目完成</van-step> style="margin: 0.26rem 0;"
>
<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" animated :sticky="true" offset-top="2.93rem"> <van-tabs
v-model="active"
color="#2980f7"
animated
:sticky="true"
offset-top="2.93rem"
>
<van-tab title="任务详情"> <van-tab title="任务详情">
<van-form :scroll-to-error="true" :show-error="false" validate-trigger="onSubmit"> <van-form
<van-field readonly name="createUserName" :value="form.createUserName" label="创建人员" input-align="right" :scroll-to-error="true"
:rules="[{ required: true, message: '创建人员不能为空' }]" /> :show-error="false"
<van-field readonly name="createDeptName" :value="form.createDeptName" label="创建单位" input-align="right" validate-trigger="onSubmit"
:rules="[{ required: true, message: '创建单位不能为空' }]" /> >
<van-field readonly name="projectName" :value="form.projectName" label="任务名称" input-align="right" <van-field
:rules="[{ required: true, message: '任务名称不能为空' }]" /> readonly
name="createUserName"
:value="form.createUserName"
label="创建人员"
input-align="right"
:rules="[{ required: true, message: '创建人员不能为空' }]"
/>
<van-field
readonly
name="createDeptName"
:value="form.createDeptName"
label="创建单位"
input-align="right"
:rules="[{ required: true, message: '创建单位不能为空' }]"
/>
<van-field
readonly
name="projectName"
:value="form.projectName"
label="任务名称"
input-align="right"
:rules="[{ required: true, message: '任务名称不能为空' }]"
/>
<van-field readonly name="projectName" :value="form.projectName" label="关联项目" input-align="right" <van-field
:rules="[{ required: true, message: '关联项目不能为空' }]" /> readonly
name="projectName"
:value="form.projectName"
label="关联项目"
input-align="right"
:rules="[{ required: true, message: '关联项目不能为空' }]"
/>
<van-field readonly name="buildingNames" :value="form.buildingNames" label="评估楼栋" input-align="right" <van-field
:rules="[{ required: true, message: '评估楼栋不能为空' }]" /> readonly
name="buildingNames"
:value="form.buildingNames"
label="评估楼栋"
input-align="right"
:rules="[{ required: true, message: '评估楼栋不能为空' }]"
/>
<van-field readonly name="deptName" :value="form.deptName" label="评估小组选择" input-align="right" <van-field
:rules="[{ required: true, message: '评估小组不能为空' }]" /> readonly
name="deptName"
:value="form.deptName"
label="评估小组选择"
input-align="right"
:rules="[{ required: true, message: '评估小组不能为空' }]"
/>
<van-field readonly name="leaderUserName" :value="form.leaderUserName" label="评估小组组长" input-align="right" <van-field
:rules="[{ required: true, message: '评估小组组长不能为空' }]" /> readonly
name="leaderUserName"
:value="form.leaderUserName"
label="评估小组组长"
input-align="right"
:rules="[{ required: true, message: '评估小组组长不能为空' }]"
/>
<van-field clickable name="workUserNames" :value="form.workUserNames" label="评估成员" input-align="right" <van-field
:rules="[{ required: true, message: '评估成员不能为空' }]" /> clickable
name="workUserNames"
:value="form.workUserNames"
label="评估成员"
input-align="right"
:rules="[{ required: true, message: '评估成员不能为空' }]"
/>
<van-field v-model="form.startTime" readonly name="location" label="任务开始时间" input-align="right" :formatter="() => { <van-field
v-model="form.startTime"
readonly
name="location"
label="任务开始时间"
input-align="right"
:formatter="
() => {
return timestampToTimes(form.startTime); return timestampToTimes(form.startTime);
} }
" :rules="[{ required: true, message: '任务开始时间不能为空' }]" /> "
:rules="[{ required: true, message: '任务开始时间不能为空' }]"
/>
<van-field v-model="form.endTime" readonly name="location" label="任务结束时间" :formatter="() => { <van-field
v-model="form.endTime"
readonly
name="location"
label="任务结束时间"
:formatter="
() => {
return timestampToTimes(form.endTime); return timestampToTimes(form.endTime);
} }
" input-align="right" :rules="[{ required: true, message: '任务结束时间不能为空' }]" /> "
input-align="right"
:rules="[{ required: true, message: '任务结束时间不能为空' }]"
/>
</van-form> </van-form>
</van-tab> </van-tab>
<van-tab title="风险清单"> <van-tab title="风险清单">
...@@ -84,11 +165,24 @@ ...@@ -84,11 +165,24 @@
</van-dropdown-menu> </van-dropdown-menu>
</van-sticky> </van-sticky>
<div style="overflow-y: auto;"> <div style="overflow-y: auto;">
<van-cell-group inset v-for="(item, index) in riskList" :key="index"> <van-cell-group
<van-row type="flex" justify="space-between" style="margin-top:10px;"> inset
v-for="(item, index) in riskList"
:key="index"
>
<van-row
type="flex"
justify="space-between"
style="margin-top:10px;"
>
<van-col span="22" @click="toRiskDetail(item)"> <van-col span="22" @click="toRiskDetail(item)">
<van-col span="5"> <van-col span="5">
<van-image width="46" height="46" src="https://img01.yzcdn.cn/vant/cat.jpeg" /> <van-image
width="46"
height="46"
src="https://img01.yzcdn.cn/vant/cat.jpeg"
/>
<van-image width="46" height="46" :src="item.avatar" />
</van-col> </van-col>
<van-col span="17"> <van-col span="17">
<van-row gutter=""> <van-row gutter="">
...@@ -98,21 +192,26 @@ ...@@ -98,21 +192,26 @@
</van-col> </van-col>
</van-col> </van-col>
<van-col span="2"> <van-col span="2">
<van-row :style="{ <van-row
:style="{
color: '#03b615' color: '#03b615'
}"> }"
>
<van-icon name="arrow" size="26px" @click="goColorDetail" /> <van-icon name="arrow" size="26px" @click="goColorDetail" />
</van-row> </van-row>
</van-col> </van-col>
</van-row> </van-row>
</van-cell-group> </van-cell-group>
</div> </div>
</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>
...@@ -123,15 +222,21 @@ ...@@ -123,15 +222,21 @@
</van-col> </van-col>
</van-row> </van-row>
<van-row> <van-row>
<van-col span="7"><span class="field-title">操作人:</span></van-col> <van-col span="7"
><span class="field-title">操作人:</span></van-col
>
<van-col span="17">{{ item.approvalUserName }}</van-col> <van-col span="17">{{ item.approvalUserName }}</van-col>
</van-row> </van-row>
<van-row> <van-row>
<van-col span="7"><span class="field-title">审批结果:</span></van-col> <van-col span="7"
><span class="field-title">审批结果:</span></van-col
>
<van-col span="17">{{ item.taskName }}</van-col> <van-col span="17">{{ item.taskName }}</van-col>
</van-row> </van-row>
<van-row> <van-row>
<van-col span="7"><span class="field-title">岗位:</span></van-col> <van-col span="7"
><span class="field-title">岗位:</span></van-col
>
<van-col span="17">{{ item.taskResult }}</van-col> <van-col span="17">{{ item.taskResult }}</van-col>
</van-row> </van-row>
<!-- <van-row> <!-- <van-row>
...@@ -150,13 +255,15 @@ ...@@ -150,13 +255,15 @@
</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>
...@@ -166,13 +273,15 @@ ...@@ -166,13 +273,15 @@
<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>
...@@ -185,7 +294,9 @@ ...@@ -185,7 +294,9 @@
</van-tab> </van-tab>
</van-tabs> </van-tabs>
</div> </div>
<div style="display: flex; <div
v-show="pathAuth == 'riskAssess' && (status == 0 || status == 1)"
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;
...@@ -193,8 +304,12 @@ ...@@ -193,8 +304,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>
...@@ -203,6 +318,64 @@ ...@@ -203,6 +318,64 @@
<div>任务完成</div> <div>任务完成</div>
</div> --> </div> -->
</div> </div>
<div
v-show="pathAuth == 'riskManage' && status == 0"
style="display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
height: 1.5rem;
width: 100%;
text-align: center;
position: fixed;
bottom: 0;"
>
<div
@click="editTask"
style="color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;">
<van-icon name="edit" />
</div>
<div>修改任务</div>
</div>
<div
@click="delTask"
style="color: #ec808d;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="cross" /></div>
<div>删除任务</div>
</div>
</div>
<div
v-show="pathAuth == 'riskApprove' && status == 2"
style="display: flex;
justify-content: space-around;
background-color: #fff;
border-top: 1px solid #e3e3e3;
height: 1.5rem;
width: 100%;
text-align: center;
position: fixed;
bottom: 0;"
>
<div
@click="approveTask"
style="color: #4bced0;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;">
<van-icon name="success" />
</div>
<div>审批通过</div>
</div>
<div
@click="unApproveTask"
style="color: #ec808d;font-size: 14px;font-weight: 600;"
>
<div style="font-size: 22px;"><van-icon name="cross" /></div>
<div>审批否决</div>
</div>
</div>
</div> </div>
</template> </template>
...@@ -225,42 +398,51 @@ export default { ...@@ -225,42 +398,51 @@ export default {
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层, showIndex: null, // 是否显示遮罩层,
active: 0, active: 0,
phase: 1, status: 0,
pathAuth: "",
form: {}, form: {},
tabs: [], tabs: [],
riskList: [], riskList: [],
value1: 0, value1: 0,
value2: 'a', value2: "a",
value3: '1', value3: "1",
option1: [ option1: [
{ text: '楼栋', value: 0 }, { text: "楼栋", value: 0 },
{ text: '全部', value: 1 }, { text: "全部", value: 1 }
], ],
option2: [ option2: [
{ text: '楼层', value: 'a' }, { text: "楼层", value: "a" },
{ text: '全部', value: 'b' }, { text: "全部", value: "b" }
], ],
option3: [ option3: [
{ text: '房间', value: '1' }, { text: "房间", value: "1" },
{ text: '全部', value: '2' }, { text: "全部", value: "2" }
], ]
}; };
}, },
created() { created() {
var planId = this.$route.params.id || sessionStorage.getItem("planId"); var planId = this.$route.params.id || sessionStorage.getItem("planId");
var buildingId = var buildingId =
this.$route.params.buildingId || sessionStorage.getItem("buildingId"); this.$route.params.buildingId || sessionStorage.getItem("buildingId");
this.pathAuth = sessionStorage.getItem("pathAuth");
this.postList(planId, buildingId); this.postList(planId, buildingId);
this.getRiskTaskList(planId, buildingId) this.getRiskTaskList(planId, buildingId);
}, },
methods: { methods: {
timestampToTimes(time) { timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true); return timestampToTime(new Date(time), "DT2", true);
}, },
//执行任务
performTasks() { performTasks() {
sessionStorage.setItem('buildingId', this.messageList.riskBuildingListDtos[0].buildingId) sessionStorage.setItem(
sessionStorage.setItem('planId', this.messageList.id) "buildingId",
sessionStorage.setItem('buildingName', this.messageList.riskBuildingListDtos[0].buildingName) this.messageList.riskBuildingListDtos[0].buildingId
);
sessionStorage.setItem("planId", this.messageList.id);
sessionStorage.setItem(
"buildingName",
this.messageList.riskBuildingListDtos[0].buildingName
);
this.$router.push({ this.$router.push({
name: "riskInherent", name: "riskInherent",
params: { params: {
...@@ -270,6 +452,26 @@ export default { ...@@ -270,6 +452,26 @@ export default {
} }
}); });
}, },
//修改任务
editTask() {
//TODO 修改任务
console.log("修改任务");
},
//删除任务
delTask() {
//TODO 删除任务
console.log("删除任务");
},
//审批通过
approveTask() {
//TODO 审批通过
console.log("审批通过");
},
//审批否决
unApproveTask() {
//TODO 审批否决
console.log("审批否决");
},
handadd() { handadd() {
this.$router.push({ this.$router.push({
name: "riskAdd", name: "riskAdd",
...@@ -280,10 +482,12 @@ export default { ...@@ -280,10 +482,12 @@ export default {
}, },
//风险清单列表 //风险清单列表
getRiskTaskList(planId, buildingId) { getRiskTaskList(planId, buildingId) {
if (buildingId) {
getFun(`/risk/plan/inherent/list/${planId}/${buildingId}`).then(res => { getFun(`/risk/plan/inherent/list/${planId}/${buildingId}`).then(res => {
console.log(res.data, 'lll') console.log(res.data, "lll");
this.riskList = res.data this.riskList = res.data;
}) });
}
}, },
postList(id, buildingId) { postList(id, buildingId) {
console.log(buildingId, "123"); console.log(buildingId, "123");
...@@ -302,6 +506,30 @@ export default { ...@@ -302,6 +506,30 @@ export default {
console.log(this.messageList); console.log(this.messageList);
this.form = this.messageList.detailsDto; this.form = this.messageList.detailsDto;
this.riskLogList = this.messageList.approveListDtos; this.riskLogList = this.messageList.approveListDtos;
console.log(this.messageList.statusKey, 111);
switch (this.messageList.statusKey) {
case "CREATE_TASK":
case "WAIT_START":
case "WAIT_RETURN":
this.status = 0;
break;
case "CREATE_TASK":
case "WAIT_LEADER_RETURN":
case "PROJECT_REPORT":
this.status = 1;
break;
case "WAIT_APPROVE":
case "FINISH":
this.status = 2;
break;
case "REVOKE":
case "FINISH":
this.status = 3;
break;
default:
this.status = 0;
break;
}
}) })
.catch(() => { .catch(() => {
this.$toast.clear(); this.$toast.clear();
...@@ -324,7 +552,7 @@ export default { ...@@ -324,7 +552,7 @@ 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;
...@@ -349,17 +577,17 @@ export default { ...@@ -349,17 +577,17 @@ export default {
floorId: 18, floorId: 18,
isView: true isView: true
} }
}) });
}, },
//风险清单列表点击 //风险清单列表点击
toRiskDetail(item) { toRiskDetail(item) {
console.log(item,'LLLL') console.log(item, "LLLL");
this.$router.push({ this.$router.push({
name:"taskDetail", name: "taskDetail",
params:{ params: {
id:item.id id: item.id
} }
}) });
} }
} }
}; };
......
...@@ -175,6 +175,7 @@ export default { ...@@ -175,6 +175,7 @@ export default {
// buildingId: item.buildingId // buildingId: item.buildingId
} }
}); });
sessionStorage.setItem("pathAuth", "riskApprove");
sessionStorage.setItem("planId", item.id); sessionStorage.setItem("planId", item.id);
sessionStorage.setItem("buildingId", ""); sessionStorage.setItem("buildingId", "");
} }
......
...@@ -278,20 +278,10 @@ export default { ...@@ -278,20 +278,10 @@ export default {
} }
}); });
sessionStorage.setItem("planId", item.id); sessionStorage.setItem("planId", item.id);
sessionStorage.setItem("pathAuth", "riskAssess");
sessionStorage.setItem("buildingId", item.buildingId); sessionStorage.setItem("buildingId", item.buildingId);
this.showIndex = false; this.showIndex = false;
}, },
// 详情
goDetail(data) {
this.$router.push({
name: "riskBigDetail",
params: {
id: data.businessId || data.id
}
});
this.showIndex = false;
},
// 确认 // 确认
goConfirm(data) { goConfirm(data) {
this.$router.push({ this.$router.push({
......
...@@ -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,34 +147,41 @@ ...@@ -130,34 +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"><div class="info-title">{{timestampToTimes(item.startTime)}}</div></van-col> <van-col span="24"
><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"
...@@ -168,47 +192,54 @@ ...@@ -168,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;
...@@ -216,8 +247,12 @@ ...@@ -216,8 +247,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>
...@@ -227,16 +262,16 @@ ...@@ -227,16 +262,16 @@
</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:'riskBigDetail', name: "riskBigDetail",
components: { components: {
LHeader, LHeader
}, },
data() { data() {
return { return {
...@@ -244,54 +279,51 @@ ...@@ -244,54 +279,51 @@
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); this.postList(planId);
}, },
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) {
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}`) getFun(`/risk/plan/details/${id}`)
.then((res) => { .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();
...@@ -309,48 +341,36 @@ ...@@ -309,48 +341,36 @@
} }
this.showIndex = index; this.showIndex = index;
}, },
// 详情
goDetail(data) {
this.$router.push({
name: "riskBigDetail",
params: {
id: data.businessId||data.id,
},
});
sessionStorage.setItem('planId',data.id)
this.showIndex = null;
},
// 确认 // 确认
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 = null;
},
},
};
</script>
<style lang="less" scoped>
#app {
font-family: "";
color: #2c3e50
} }
}
};
</script>
<style lang="less" scoped>
#app {
font-family: "";
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;
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;
...@@ -360,28 +380,27 @@ ...@@ -360,28 +380,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
...@@ -40,20 +40,24 @@ ...@@ -40,20 +40,24 @@
:key="index" :key="index"
@click="touchstart(index, item)" @click="touchstart(index, item)"
> >
<div style="font-size: 0.45rem;padding: 5px 0;">{{item.name}}</div> <div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.name }}
</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">{{timestampToTimes(item.startTime)||item.startTime }}</van-col> <van-col span="15">{{
timestampToTimes(item.startTime) || item.startTime
}}</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.leaderUserName }}</van-col> <van-col span="15">{{ item.leaderUserName }}</van-col>
</van-row> </van-row>
</van-col> </van-col>
<van-col span="7" :style="{'color':'#03b615'}"> <van-col span="7" :style="{ color: '#03b615' }">
{{ item.state }} {{ item.state }}
</van-col> </van-col>
</van-row> </van-row>
...@@ -67,7 +71,6 @@ ...@@ -67,7 +71,6 @@
<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"
...@@ -84,86 +87,87 @@ ...@@ -84,86 +87,87 @@
position: fixed; position: fixed;
top: 30%; top: 30%;
" "
v-if="messageList['length']==0" v-if="messageList['length'] == 0"
> >
暂无数据 暂无数据
</div> </div>
</div> </div>
<!-- 暂无数据 --> <!-- 暂无数据 -->
<!-- {{messageList}} --> <!-- {{messageList}} -->
</van-tab> </van-tab>
</van-tabs> </van-tabs>
<div style="width: 60px;position: fixed;right: 5%;top: 80%;" @click="handadd"> <div
<img src="@/assets/accidentIcon/add.svg" alt="" width="100%" > style="width: 60px;position: fixed;right: 5%;top: 80%;"
@click="handadd"
>
<img src="@/assets/accidentIcon/add.svg" alt="" width="100%" />
</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";
// import { postriskConList } from "@/service/risk"; // import { postriskConList } from "@/service/risk";
export default { export default {
name:'risk-confirme', name: "risk-confirme",
components: { components: {
LHeader, LHeader
}, },
data() { data() {
return { return {
text: "任务管理", text: "任务管理",
searchValue: "", searchValue: "",
isHaveNews: false, isHaveNews: false,
messageList: [ messageList: [],
],
Loop: "", // 定时器 Loop: "", // 定时器
showIndex: null, // 是否显示遮罩层, showIndex: null, // 是否显示遮罩层,
active: 0, active: 0,
tabs: [ tabs: [
{ {
title: "待执行", title: "待执行",
api: "/risk/plan/create/list?status=wait", api: "/risk/plan/create/list?status=wait"
}, },
{ {
title: "执行中", title: "执行中",
api: "/risk/plan/create/list?status=running", api: "/risk/plan/create/list?status=running"
}, },
{ {
title: "已执行", title: "已执行",
api: "/risk/plan/create/list?status=finish", api: "/risk/plan/create/list?status=finish"
}, }
], ]
}; };
}, },
created() { created() {
this.postList(); this.postList();
}, },
methods: { methods: {
timestampToTimes(time){ timestampToTimes(time) {
return timestampToTime(new Date(time),"DT1", true) return timestampToTime(new Date(time), "DT1", true);
}, },
handadd(){ handadd() {
this.$router.push({ this.$router.push({
name: "riskAdd", name: "riskAdd",
params: { params: {
title:'新增' title: "新增"
}, }
}) });
}, },
postList(select = "") { postList(select = "") {
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 formdata = new FormData();
// formdata.append("select", select); // formdata.append("select", select);
getFun(this.tabs[this.active]['api']) getFun(this.tabs[this.active]["api"])
.then((res) => { .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;
...@@ -191,10 +195,11 @@ ...@@ -191,10 +195,11 @@
this.$router.push({ this.$router.push({
name: "riskTaskList", name: "riskTaskList",
params: { params: {
id: data.businessId ||data.id, id: data.businessId || data.id
}, }
}); });
sessionStorage.setItem('planId',data.id) sessionStorage.setItem("pathAuth", "riskManage");
sessionStorage.setItem("planId", data.id);
this.showIndex = null; this.showIndex = null;
}, },
// 确认 // 确认
...@@ -202,22 +207,21 @@ ...@@ -202,22 +207,21 @@
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>
#app { <style lang="less" scoped>
#app {
font-family: ""; font-family: "";
color: #2c3e50; color: #2c3e50;
} }
.con-list { .con-list {
padding: 0; padding: 0;
background-color: #f0f1f5; background-color: #f0f1f5;
.van-cell-group--inset { .van-cell-group--inset {
...@@ -245,9 +249,8 @@ ...@@ -245,9 +249,8 @@
} }
} }
} }
} }
/deep/.van-tab__pane{ /deep/.van-tab__pane {
min-height: 8rem; min-height: 8rem;
} }
</style> </style>
\ No newline at end of file
...@@ -4,29 +4,32 @@ ...@@ -4,29 +4,32 @@
<LHeader :text="text"></LHeader> <LHeader :text="text"></LHeader>
</van-sticky> </van-sticky>
<div class="section"> <div class="section">
<van-tabs v-model="activeName" color="#2980f7" animated > <van-tabs v-model="activeName" color="#2980f7" animated>
<van-tab title="固有风险信息" name="a"> <van-tab title="固有风险信息" name="a">
</van-tab> </van-tab>
<van-tab title="现状风险" name="b"> <van-tab title="现状风险" name="b">
<van-cell-group <div class="quolist">
inset <van-cell-group style="padding: 10px;box-sizing: border-box;background-color: #fff;margin: 8px;border-radius: 10px;" v-for="(item, index) in quoRiskList" :key="index">
v-for="(item, index) in quoRiskList"
:key="index"
>
<div style="font-size: 0.45rem;padding: 5px 0;"> <div style="font-size: 0.45rem;padding: 5px 0;">
{{ item.name }} {{ item.name }}
</div> </div>
<van-row gutter=""> <van-row gutter="4">
<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.leaderUserName }}</van-col> <van-col span="15">{{ item.coefficient }}</van-col>
</van-row>
<van-row gutter="">
<van-col span="9">创建时间:</van-col>
<van-col span="15">{{
timestampToTimes(item.createTime)
}}</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">{{ <van-col span="15">{{
timestampToTimes(item.startTime) item.describe
}}</van-col> }}</van-col>
</van-row> </van-row>
</van-col> </van-col>
...@@ -34,20 +37,21 @@ ...@@ -34,20 +37,21 @@
<van-row> <van-row>
{{ item.state }} {{ item.state }}
</van-row> </van-row>
<van-row> <van-row type="flex" style="flex-direction: column;align-items: center;">
<van-button <van-col>
type="info" <van-image round width="34" height="34" src="https://img01.yzcdn.cn/vant/cat.jpeg" />
size="mini" </van-col>
@click="todetail(index, item)" <van-col>
>{{ active == 2 ? "去处理" : "去审批" }}</van-button {{ item.userName }}
> </van-col>
</van-row> </van-row>
</van-col> </van-col>
</van-row> </van-row>
</van-cell-group> </van-cell-group>
</div>
</van-tab> </van-tab>
<van-tab title="四色图" name="c"> <van-tab title="四色图" name="c">
<drawCanvas/> <drawCanvas />
</van-tab> </van-tab>
</van-tabs> </van-tabs>
</div> </div>
...@@ -58,33 +62,43 @@ ...@@ -58,33 +62,43 @@
import LHeader from "@/components/header.vue"; import LHeader from "@/components/header.vue";
import drawCanvas from '@/views/drawCanvas/riskView.vue' import drawCanvas from '@/views/drawCanvas/riskView.vue'
import { getFun, postFun } from "@/service/table.js"; import { getFun, postFun } from "@/service/table.js";
import { timestampToTime } from "@/utils/format";
export default { export default {
name: 'taskDetail', name: 'taskDetail',
data() { data() {
return { return {
text: "固有风险列表", text: "固有风险列表",
activeName: 'a', activeName: 'a',
quoRiskList:[],//现状风险列表 quoRiskList: [],//现状风险列表
InherentRisk:[],//固有风险 InherentRisk: [],//固有风险
inherentId:'' inherentId: ''
} }
}, },
components: { components: {
LHeader, LHeader,
drawCanvas drawCanvas
}, },
created(){ created() {
this.inherentId = this.$route.params.id this.inherentId = this.$route.params.id
}, },
mounted() { mounted() {
this.getInherentRiskList(this.$route.params.id)
this.getQuoRiskList(this.$route.params.id) this.getQuoRiskList(this.$route.params.id)
}, },
methods: { methods: {
getQuoRiskList(inherentId){ getInherentRiskList(inherentId){
getFun(`/risk/plan/existing/list/${inherentId}`).then(res=>{ getFun(`/risk/plan/inherent/details/${inherentId}`).then(res=>{
console.log(res.data,'lllll')
})
},
getQuoRiskList(inherentId) {
getFun(`/risk/plan/existing/list/${inherentId}`).then(res => {
this.quoRiskList = res.data this.quoRiskList = res.data
}) })
} },
timestampToTimes(time) {
return timestampToTime(new Date(time), "DT2", true);
},
}, },
} }
</script> </script>
...@@ -100,4 +114,8 @@ export default { ...@@ -100,4 +114,8 @@ export default {
height: 100%; height: 100%;
overflow-y: auto; overflow-y: auto;
} }
.quolist{
padding: 10px;
box-sizing: border-box;
}
</style> </style>
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