Commit a255e982 authored by 陈晓晋's avatar 陈晓晋

Merge branch 'xjchen' into 'develop'

任务管理列表修改20230724-1

See merge request !3
parents 44d5e8b3 768fc7ab
<template>
<div class="app-container">
<el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="任务名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入任务名称"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.name" placeholder="请输入任务名称" clearable @keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-table
v-loading="loading"
:data="planList"
@selection-change="handleSelectionChange"
>
<el-table v-loading="loading" :data="planList" @selection-change="handleSelectionChange">
<el-table-column label="序号" align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
......@@ -48,59 +24,39 @@
<el-table-column label="创建单位" align="center" prop="createDeptName" />
<el-table-column label="负责人" align="center" prop="leaderUserName" />
<el-table-column label="执行人员" align="center" prop="workUserNames" />
<el-table-column
label="开始时间"
align="center"
prop="startTime"
width="180"
>
<el-table-column label="开始时间" align="center" prop="startTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.startTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column
label="结束时间"
align="center"
prop="endTime"
width="180"
>
<el-table-column label="结束时间" align="center" prop="endTime" width="180">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.endTime, "{y}-{m}-{d}") }}</span>
</template>
</el-table-column>
<el-table-column label="状态" align="center" prop="statusName" />
<el-table-column
label="操作"
align="center"
:show-overflow-tooltip="true"
>
<el-table-column label="操作" align="center" :show-overflow-tooltip="true">
<template slot-scope="scope">
<router-link
:to="'/risk/plan/ledgerdata/index/' + scope.row.id"
class="link-type"
>
<el-button size="mini" type="text" icon="el-icon-view"
>详情</el-button
>
<router-link :to="'/risk/plan/ledgerdata/index/' + scope.row.id" class="link-type">
<el-button size="mini" type="text" icon="el-icon-view">详情</el-button>
</router-link>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
@pagination="getList" />
</div>
</template>
<script>
import { listPlan, addPlan, updatePlan } from "@/api/risk/plan";
import {
listPlan,
addPlan,
updatePlan
} from "@/api/risk/plan";
export default {
export default {
name: "Plan",
data() {
return {
......@@ -202,5 +158,5 @@ export default {
this.multiple = !selection.length;
},
},
};
};
</script>
\ No newline at end of file
<template>
<div class="wrapper">
<el-descriptions
:title="InfoList.detailsDto.name"
class="margin-top"
:column="3"
:size="size"
border
>
<el-descriptions-item label="所属项目">{{
InfoList.detailsDto.projectName
}}</el-descriptions-item>
<el-descriptions-item label="所属楼栋">{{
InfoList.detailsDto.buildingNames
}}</el-descriptions-item>
<el-descriptions-item label="所属单位">{{
InfoList.detailsDto.deptName
}}</el-descriptions-item>
<el-descriptions :title="InfoList.detailsDto.name" class="margin-top" :column="3" :size="size" border>
<el-descriptions-item label="所属项目">{{ InfoList.detailsDto.projectName }}</el-descriptions-item>
<el-descriptions-item label="所属楼栋">{{ InfoList.detailsDto.buildingNames }}</el-descriptions-item>
<el-descriptions-item label="所属单位">{{ InfoList.detailsDto.deptName }}</el-descriptions-item>
<el-descriptions-item label="所属省市">苏州市</el-descriptions-item>
<el-descriptions-item label="项目负责人">{{
InfoList.detailsDto.leaderUserName
}}</el-descriptions-item>
<el-descriptions-item label="评估组成员">{{
InfoList.detailsDto.workUserNames
}}</el-descriptions-item>
<el-descriptions-item label="开始时间">{{
InfoList.startTime
}}</el-descriptions-item>
<el-descriptions-item label="结束时间">{{
InfoList.endTime
}}</el-descriptions-item>
<el-descriptions-item label="项目状态">{{
InfoList.status
}}</el-descriptions-item>
<el-descriptions-item label="创建人">{{
InfoList.createUserName
}}</el-descriptions-item>
<el-descriptions-item label="创建单位">{{
InfoList.detailsDto.createDeptName
}}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{
InfoList.detailsDto.createTime
}}</el-descriptions-item>
<el-descriptions-item label="项目负责人">{{ InfoList.detailsDto.leaderUserName }}</el-descriptions-item>
<el-descriptions-item label="评估组成员">{{ InfoList.detailsDto.workUserNames }}</el-descriptions-item>
<el-descriptions-item label="开始时间">{{ InfoList.startTime }}</el-descriptions-item>
<el-descriptions-item label="结束时间">{{ InfoList.endTime }}</el-descriptions-item>
<el-descriptions-item label="项目状态">{{ InfoList.status }}</el-descriptions-item>
<el-descriptions-item label="创建人">{{ InfoList.createUserName }}</el-descriptions-item>
<el-descriptions-item label="创建单位">{{ InfoList.detailsDto.createDeptName }}</el-descriptions-item>
<el-descriptions-item label="创建时间">{{ InfoList.detailsDto.createTime }}</el-descriptions-item>
</el-descriptions>
<el-tabs v-model="activeName" @tab-click="handleClick">
<el-tabs v-model="activeName" type="border-card" style="margin-top: 10px;" @tab-click="handleClick">
<el-tab-pane label="风险评估清单" name="first">
<!-- <el-form
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="82px"
>
<!-- <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"
label-width="82px">
<el-form-item label="风险源名称" prop="name">
<el-input
v-model="queryParams.name"
placeholder="请输入风险源名称"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.name" placeholder="请输入风险源名称" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="风险等级" prop="level">
<el-input
v-model="queryParams.level"
placeholder="请输入风险等级"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.level" placeholder="请输入风险等级" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="风险类型" prop="factor">
<el-input
v-model="queryParams.factor"
placeholder="请输入风险因素"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.factor" placeholder="请输入风险因素" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item label="存在部位" prop="referenceBasis">
<el-input
v-model="queryParams.referenceBasis"
placeholder="请输入参考依据"
clearable
@keyup.enter.native="handleQuery"
/>
<el-input v-model="queryParams.referenceBasis" placeholder="请输入参考依据" clearable
@keyup.enter.native="handleQuery" />
</el-form-item>
<el-form-item>
<el-button
type="primary"
icon="el-icon-search"
size="mini"
@click="handleQuery"
>搜索</el-button
>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery"
>重置</el-button
>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form> -->
<el-button
style="margin-bottom: 10px"
@click="downList(InfoList.detailsDto.id)"
>导 出</el-button
>
<el-table v-loading="loading" :data="listList">
<!-- <el-table-column type="selection" width="55" align="center" /> -->
<el-table-column type="index" width="50" label="序号" />
<!-- <el-table-column label="id" align="center" prop="id" /> -->
<el-button type="warning" plain icon="el-icon-download" size="mini" @click="downList(InfoList.detailsDto.id)"
style="float: right;margin-bottom: 8px;">导出风险清单</el-button>
<el-table v-loading="loading" :data="listList" @selection-change="handleSelectionChange">
<el-table-column label="序号" align="center">
<template slot-scope="scope">
<span>{{ scope.$index + 1 }}</span>
</template>
</el-table-column>
<el-table-column label="风险名称" align="center" prop="name" />
<el-table-column
label="所属建筑"
align="center"
prop="buildingName"
/>
<el-table-column label="所属建筑" align="center" prop="buildingName" />
<el-table-column label="所属楼层" align="center" prop="floorName" />
<el-table-column label="所属房间" align="center" prop="roomName" />
<el-table-column
label="风险等级(系数)"
align="center"
prop="level"
/>
<el-table-column label="风险等级(系数)" align="center" prop="level" />
<el-table-column label="风险因素" align="center" prop="factor" />
<el-table-column label="准事故类型" align="center" prop="type" />
<el-table-column
label="存在部位"
align="center"
prop="presenceLocation"
/>
<el-table-column label="存在部位" align="center" prop="presenceLocation" />
<el-table-column label="操作" align="center" prop="describe">
<template slot-scope="scope">
<div>
<el-button
size="mini"
type="text"
icon="el-icon-download"
@click="exportList(scope.row.id)"
>下载风险告知卡</el-button
>
<el-button
size="mini"
type="text"
icon="el-icon-view"
@click="showDrawCanvas(scope.row.floorId)"
>查看四色图</el-button
>
<el-button size="mini" type="text" icon="el-icon-download"
@click="exportList(scope.row.id)">下载风险告知卡</el-button>
<el-button size="mini" type="text" icon="el-icon-view"
@click="showDrawCanvas(scope.row.floorId)">查看四色图</el-button>
</div>
</template>
</el-table-column>
</el-table>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getRiskList"
/>
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" @pagination="getRiskList" />
</el-tab-pane>
<el-tab-pane label="评估结果审核" name="second">
<div class="approveResult">
<div class="approveL">
<div class="titles">审批流程</div>
<el-steps direction="vertical" :active="999">
<el-step
v-for="approveDto in InfoList.approveListDtos"
:title="approveDto.taskName"
:key="approveDto.taskId"
icon="el-icon-success"
>
<el-step v-for="approveDto in InfoList.approveListDtos" :title="approveDto.taskName"
:key="approveDto.taskId" icon="el-icon-success">
<template slot="description">
<el-card
class="box-card"
style="line-height: 25px; font-size: 14px; margin: 15px"
>
<span style="display: block"
><b>操作时间: </b>{{ approveDto.startTime }}</span
>
<span style="display: block"
><b> 操作人:</b>{{ approveDto.approvalUserName }}</span
>
<span style="display: block"
><b>任务节点: </b>{{ approveDto.taskName }}</span
>
<span
style="display: block"
v-if="approveDto.taskOpinion != null"
><b>审批意见: </b>{{ "" + approveDto.taskOpinion }}</span
>
<el-card class="box-card" style="line-height: 25px;font-size: 14px;margin: 15px;">
<span style="display: block;"><b>操作时间: </b>{{ approveDto.startTime}}</span>
<span style="display: block;"><b> 操作人:</b>{{ approveDto.approvalUserName}}</span>
<span style="display: block;"><b>任务节点: </b>{{ approveDto.taskName}}</span>
<span style="display: block;" v-if="approveDto.taskOpinion!=null"><b>审批意见:
</b>{{'' + approveDto.taskOpinion}}</span>
</el-card>
</template>
</el-step>
</el-steps>
</div>
</div>
</el-tab-pane>
<el-tab-pane label="风险评估报告" name="third">
......@@ -202,32 +108,30 @@
<el-table-column label="所属建筑" align="center" prop="name" />
<el-table-column label="所属承租户" align="center" prop="type" />
<el-table-column label="操作" align="center" prop="describe">
<template>
<template slot-scope="scope">
<div>
<el-button size="mini" type="text" icon="el-icon-download"
>下载</el-button
>
<el-button size="mini" type="text" icon="el-icon-download">下载</el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</div>
</template>
<script>
import {
import {
getPlan,
riskListInfo,
riskList,
exportRiskList,
} from "@/api/risk/plan";
export default {
exportRiskList
} from "@/api/risk/plan";
export default {
data() {
return {
activeName: "first",
activeName: 'first',
// 遮罩层
loading: true,
// 选中数组
......@@ -273,12 +177,12 @@ export default {
rules: {},
reportList: [],
InfoList: {},
};
}
},
mounted() {
// console.log(this.$route.params, 'lll')
this.getInfo(this.$route.params.id);
this.getRiskList(this.$route.params.id);
this.getInfo(this.$route.params.id)
this.getRiskList(this.$route.params.id)
},
methods: {
downList(planId) {
......@@ -293,22 +197,26 @@ export default {
});
},
getInfo(id) {
riskListInfo(id).then((res) => {
this.InfoList = res.data;
});
riskListInfo(id).then(res => {
this.InfoList = res.data
})
},
getRiskList(id) {
riskList({ planId: id }).then((res) => {
this.loading = false;
this.listList = res.rows;
});
riskList({
planId: id
}).then(res => {
this.loading = false
this.listList = res.rows
})
},
exportList(id) {
console.log(id, "kkkk");
this.download("system/risk/plan/exportWord/riskNotification/" + id, {});
console.log(id, 'kkkk')
this.download('system/risk/plan/exportWord/riskNotification/' + id, {}, `风险告知卡.docx`)
}
},
handleClick() {
},
handleClick() {},
// 表单重置
reset() {
this.form = {
......@@ -333,7 +241,7 @@ export default {
createBy: null,
createTime: null,
updateBy: null,
updateTime: null,
updateTime: null
};
this.resetForm("form");
},
......@@ -347,33 +255,35 @@ export default {
this.resetForm("queryForm");
this.handleQuery();
},
handleSelectionChange() {},
};
handleSelectionChange() {
}
}
</script>
<style lang="scss" scoped>
.wrapper {
.wrapper {
height: 100%;
width: 100%;
padding: 10px;
box-sizing: border-box;
display: flex;
flex-direction: column;
}
}
::v-deep .el-tabs__content {
::v-deep .el-tabs__content {
height: calc(100vh - 334px) !important;
}
}
.titles {
.titles {
position: relative;
font-size: 18px;
font-weight: bold;
margin: 10px 0 10px 20px;
color: #666666;
}
}
.titles::before {
.titles::before {
content: "";
width: 8px;
height: 20px;
......@@ -381,9 +291,9 @@ export default {
position: absolute;
left: -14px;
top: 0;
}
}
.approveResult {
.approveResult {
flex: 1;
width: 100%;
height: calc(100vh - 360px) !important;
......@@ -402,5 +312,6 @@ export default {
padding: 0 0 0 30px;
border-left: 1px solid #d7d7d7d7;
}
}
}
</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