Commit dca2b982 authored by kaitly205422@163.com's avatar kaitly205422@163.com

巡察+大屏

parent b01edaf0
File added
...@@ -18,3 +18,12 @@ export function inherentListList(query) { ...@@ -18,3 +18,12 @@ export function inherentListList(query) {
params: query params: query
}) })
} }
// 查询固有风险台账列表
export function existingList(query) {
return request({
url: '/system/risk/plan/existingList',
method: 'get',
params: query
})
}
...@@ -182,16 +182,18 @@ export const dynamicRoutes = [ ...@@ -182,16 +182,18 @@ export const dynamicRoutes = [
], ],
}, },
{ {
path: "/riskLedger/detail", path: "/riskLedger",
component: Layout, component: Layout,
hidden: true, hidden: true,
permissions: ["system:dict:list"], permissions: ["*:*:*"],
children: [ children: [
{ {
path: "riskDetail", path: "detail/:projectId(\\d+)",
component: () => import("@/views/riskLedger/detail"), component: () => import("@/views/riskLedger/detail"),
name: "riskDetail", name: "riskDetail",
meta: { title: "风险台账", activeMenu: "/riskLedger/detail" }, meta: {
title: '风险台账',
}
}, },
], ],
}, },
......
export { default as mapItemContainer } from './map-item-container.vue'; export { default as mapItemContainer } from './map-item-container.vue';
export { default as mapTable } from './map-table.vue'; export { default as mapTable } from './map-table.vue';
export { default as echartMap } from './map-item-pie.vue';
export { default as mapDetailTab } from './map-detail-tab.vue'; export { default as mapDetailTab } from './map-detail-tab.vue';
\ No newline at end of file
This diff is collapsed.
...@@ -143,37 +143,37 @@ export default { ...@@ -143,37 +143,37 @@ export default {
tabs: [ tabs: [
{ {
title: "评估时间(最新)", title: "评估时间(最新)",
icon: "el-icon-basketball", icon: "el-icon-alarm-clock",
name: "tab1", name: "tab1",
value: {} value: {}
}, },
{ {
title: "评估数据", title: "评估数据",
icon: "el-icon-basketball", icon: "el-icon-office-building",
name: "tab2", name: "tab2",
value: {} value: {}
}, },
{ {
title: "风险总数量", title: "风险总数量",
icon: "el-icon-basketball", icon: "el-icon-monitor",
name: "tab3", name: "tab3",
value: {} value: {}
}, },
{ {
title: "", title: "",
icon: "el-icon-basketball", icon: "el-icon-coin",
name: "tab4", name: "tab4",
value: {} value: {}
}, },
{ {
title: "风险等级(固有)", title: "风险等级(固有)",
icon: "el-icon-basketball", icon: "el-icon-pie-chart",
name: "tab5", name: "tab5",
value: {} value: {}
}, },
{ {
title: "风险等级(现状)", title: "风险等级(现状)",
icon: "el-icon-basketball", icon: "el-icon-s-data",
name: "tab6", name: "tab6",
value: {} value: {}
}, },
......
This diff is collapsed.
...@@ -22,8 +22,8 @@ ...@@ -22,8 +22,8 @@
</div> --> </div> -->
</div> </div>
<div class="map-header-right"> <div class="map-header-right">
<span @click="toBack"><i class="el-icon-back"></i>返回</span> <div @click="toBack"><i class="el-icon-back"></i><span>返回</span> </div>
<span><i class="el-icon-s-home"></i>管理端</span> <div><i class="el-icon-s-home"></i><span>管理端</span> </div>
<!-- <span><i class="el-icon-switch-button"></i> 退出</span> --> <!-- <span><i class="el-icon-switch-button"></i> 退出</span> -->
</div> </div>
</div> </div>
...@@ -161,6 +161,7 @@ export default { ...@@ -161,6 +161,7 @@ export default {
background: #000; background: #000;
background: url("../../assets/map/bg.png") no-repeat; background: url("../../assets/map/bg.png") no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
overflow: hidden;
.map-header { .map-header {
height: 83px; height: 83px;
...@@ -175,14 +176,16 @@ export default { ...@@ -175,14 +176,16 @@ export default {
.map-header-search { .map-header-search {
width: 20%; width: 20%;
position: relative; position: relative;
margin-top: 3px; height: 35px;
display: flex;
align-items: center;
.el-input { .el-input {
::v-deep input { ::v-deep input {
height: 30px; height: 26px;
background: transparent; background: transparent;
border-color: #005495; border-color: #005495;
border-radius: 30px; border-radius: 26px;
color: #fff; color: #fff;
&::placeholder { &::placeholder {
...@@ -215,14 +218,19 @@ export default { ...@@ -215,14 +218,19 @@ export default {
.map-header-right { .map-header-right {
width: 20%; width: 20%;
font-size: 12px; font-size: 12px;
vertical-align: middle;
margin-top: 8px;
color: #2391FF; color: #2391FF;
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
align-items: center;
height: 36px;
cursor: pointer;
span { >div {
margin-left: 20px; margin-left: 20px;
span {
margin-top: -5px;
}
} }
i { i {
......
<template>
<div>
<el-table v-loading="loading" :data="list" @selection-change="handleSelectionChange">
<el-table-column label="项目信息" align="center" fixed width="500">
<el-table-column label="区域公司" align="center" prop="deptName" width="100" />
<el-table-column label="项目名称" align="center" prop="projectName" width="100">
<template slot-scope="scope">
<el-popover placement="top-start" title="项目名称" width="200" trigger="hover"
:content="scope.row.projectName">
<span slot="reference">{{
scope.row.projectName.length > 10
? scope.row.projectName.substring(0, 10) + "..."
: scope.row.projectName
}}</span>
</el-popover>
</template>
</el-table-column>
<el-table-column label="所属城市" align="center" prop="city" width="100" />
<el-table-column label="项目业态" align="center" prop="businessFormat" width="100" />
<el-table-column label="项目类型" align="center" prop="type" width="100" />
</el-table-column>
<el-table-column label="项目风险清单" align="center">
<el-table-column label="固有风险" align="center">
<el-table-column label="危险源名称" align="center" prop="inherentName" width="100" />
<el-table-column label="风险等级" align="center" prop="inherentLevel" width="100" />
</el-table-column>
<el-table-column label="现有风险" align="center">
<el-table-column label="危险源名称" align="center" prop="existingName" width="100" />
<el-table-column label="风险等级" align="center" prop="existingLevel" width="100" />
</el-table-column>
<el-table-column label="风险点位置" align="center" prop="presenceLocation" width="100" />
<el-table-column label="可能导致的事故后果" align="center" prop="listType" width="100">
<template slot-scope="scope">
<el-popover placement="top-start" title="项目名称" width="200" trigger="hover"
:content="scope.row.listType">
<span slot="reference">{{
scope.row.listType.length > 10
? scope.row.listType.substring(0, 10) + "..."
: scope.row.listType
}}</span>
</el-popover>
</template>
</el-table-column>
</el-table-column>
<el-table-column label="项目整体风险等级" align="center">
<el-table-column label="固有风险" align="center" prop="inherentProjectLevel" width="100" />
<el-table-column label="现状风险" align="center" prop="existingProjectLevel" width="100" />
</el-table-column>
<el-table-column label="风险管控" align="center">
<el-table-column label="应采取的管控措施" align="center" prop="inherentMeasuresAdministration" width="100">
<template slot-scope="scope">
<el-popover placement="top-start" title="应采取的管控措施" width="200" trigger="hover"
:content="scope.row.inherentMeasuresAdministration">
<span slot="reference">{{
scope.row.inherentMeasuresAdministration &&
scope.row.inherentMeasuresAdministration.length > 10
? scope.row.inherentMeasuresAdministration.substring(0, 10) +
"..."
: scope.row.inherentMeasuresAdministration
}}</span>
</el-popover>
</template>
</el-table-column>
<el-table-column label="已采取的管控措施" align="center" prop="existingMeasuresAdministration" width="100">
<template slot-scope="scope">
<el-popover placement="top-start" title="已采取的管控措施" width="200" trigger="hover"
:content="scope.row.existingMeasuresAdministration">
<span slot="reference">{{
scope.row.existingMeasuresAdministration &&
scope.row.existingMeasuresAdministration.length > 10
? scope.row.existingMeasuresAdministration.substring(0, 10) +
"..."
: scope.row.existingMeasuresAdministration
}}</span>
</el-popover>
</template>
</el-table-column>
<el-table-column label="分级管控" align="center">
<el-table-column label="管控责任单位" align="center" prop="measuresDeptName" width="100" />
<el-table-column label="管控责任人" align="center" prop="measuresUserName" width="100" />
<el-table-column label="人员联系方式" align="center" prop="measuresUserPhone" width="100" />
</el-table-column>
</el-table-column>
<el-table-column label="重大危险源管理" align="center">
<el-table-column label="是否存在重大危险源" align="center" prop="majorHazardSource" width="100" />
<el-table-column label="重大危险源名称" align="center" prop="hazardSourceName" width="100" />
<el-table-column label="重大危险源描述" align="center" prop="majorHazardDescription" width="100" />
</el-table-column>
<el-table-column label="判定依据" align="center" prop="referenceBasis" width="100" />
<el-table-column label="操作" align="center" prop="describe">
<template slot-scope="scope">
<div>
<router-link :to="'/risk/plan/inherentdata/index/' + scope.row.id" class="link-type">
<el-button size="mini" type="text" icon="el-icon-view">详情</el-button>
</router-link>
</div>
</template>
</el-table-column>
</el-table>
<el-pagination v-show="page.total > 0" :total="page.total" :current-page="page.pageNum" :page-size="page.pageSize"
@current-change="changePage" />
</div>
</template>
<script>
export default {
props: {
list: {
type: Array,
default: () => []
},
loading: {
type: Boolean,
default: false
},
page: {
type: Object,
default: () => {
return {
total: 0,
pageNum: 1,
pageSize: 10
}
}
},
},
data() {
return {
// 选中数组
ids: [],
}
},
methods: {
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map((item) => item.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
changePage(page) {
this.$emit('changePage', page)
}
}
}
</script>
<style lang="scss" scoped></style>
\ No newline at end of file
This diff is collapsed.
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
:model="queryParams"
ref="queryForm"
size="small"
:inline="true"
v-show="showSearch"
label-width="68px"
>
<el-form-item label="项目名称" prop="name"> <el-form-item label="项目名称" prop="name">
<el-input <el-input v-model="queryParams.name" placeholder="请输入项目名称" clearable @keyup.enter.native="handleQuery" />
v-model="queryParams.name"
placeholder="请输入项目名称"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="经营状态" prop="businessStatus"> <el-form-item label="经营状态" prop="businessStatus">
<el-input <el-input v-model="queryParams.businessStatus" placeholder="请输入经营状态" clearable
v-model="queryParams.businessStatus" @keyup.enter.native="handleQuery" />
placeholder="请输入经营状态"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="项目业态" prop="business"> <el-form-item label="项目业态" prop="business">
<el-select <el-select v-model="queryParams.business" placeholder="请选择项目业态" clearable>
v-model="queryParams.business" <el-option v-for="dict in dict.type.risk_project_business" :key="dict.value" :label="dict.label"
placeholder="请选择项目业态" :value="dict.value" />
clearable
>
<el-option
v-for="dict in dict.type.risk_project_business"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="所属区域" prop="deptId"> <el-form-item label="所属区域" prop="deptId">
<treeselect <treeselect v-model="queryParams.deptId" :options="deptOptions" :show-count="true" placeholder="请选择所属区域"
v-model="queryParams.deptId" style="width: 250px" />
:options="deptOptions"
:show-count="true"
placeholder="请选择所属区域"
style="width: 250px"
/>
</el-form-item> </el-form-item>
<el-form-item label="所在城市" prop="city"> <el-form-item label="所在城市" prop="city">
<el-input <el-input v-model="queryParams.city" placeholder="请输入所在城市" clearable @keyup.enter.native="handleQuery" />
v-model="queryParams.city"
placeholder="请输入所在城市"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="详细地址" prop="address"> <el-form-item label="详细地址" prop="address">
<el-input <el-input v-model="queryParams.address" placeholder="请输入详细地址" clearable @keyup.enter.native="handleQuery" />
v-model="queryParams.address"
placeholder="请输入详细地址"
clearable
@keyup.enter.native="handleQuery"
/>
</el-form-item> </el-form-item>
<el-form-item label="物业" prop="propertyManagement"> <el-form-item label="物业" prop="propertyManagement">
<el-select <el-select v-model="queryParams.propertyManagement" placeholder="请选择是否为物业" clearable>
v-model="queryParams.propertyManagement"
placeholder="请选择是否为物业"
clearable
>
<el-option key="1" label="是" value="true" /> <el-option key="1" label="是" value="true" />
<el-option key="0" label="否" value="false" /> <el-option key="0" label="否" value="false" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="状态" prop="status"> <el-form-item label="状态" prop="status">
<el-select <el-select v-model="queryParams.status" placeholder="请选择状态" clearable>
v-model="queryParams.status" <el-option v-for="dict in dict.type.sys_normal_disable" :key="dict.value" :label="dict.label"
placeholder="请选择状态" :value="dict.value" />
clearable
>
<el-option
v-for="dict in dict.type.sys_normal_disable"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
type="primary" <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
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-item>
</el-form> </el-form>
<el-row> <el-row>
<right-toolbar <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
:showSearch.sync="showSearch"
@queryTable="getList"
></right-toolbar>
</el-row> </el-row>
<el-table <el-table v-loading="loading" :data="projectList" @selection-change="handleSelectionChange">
v-loading="loading"
:data="projectList"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center" /> <el-table-column type="selection" width="55" align="center" />
<el-table-column label="序号" align="center"> <el-table-column label="序号" align="center">
<template slot-scope="scope"> <template slot-scope="scope">
...@@ -129,36 +63,18 @@ ...@@ -129,36 +63,18 @@
<el-table-column label="详细地址" align="center" prop="address" /> <el-table-column label="详细地址" align="center" prop="address" />
<el-table-column label="状态" align="center" prop="status"> <el-table-column label="状态" align="center" prop="status">
<template slot-scope="scope"> <template slot-scope="scope">
<dict-tag <dict-tag :options="dict.type.sys_normal_disable" :value="scope.row.status" />
:options="dict.type.sys_normal_disable"
:value="scope.row.status"
/>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
label="操作"
align="center"
class-name="small-padding fixed-width"
>
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button size="mini" type="text" icon="el-icon-edit" @click="showDetail(scope.row)">查看风险台账</el-button>
size="mini"
type="text"
icon="el-icon-edit"
@click="showDetail(scope.row)"
>查看风险台账</el-button
>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination v-show="total > 0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
v-show="total > 0" @pagination="getList" />
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
</div> </div>
</template> </template>
...@@ -280,7 +196,7 @@ export default { ...@@ -280,7 +196,7 @@ export default {
}, },
showDetail(obj) { showDetail(obj) {
this.$router.push({ this.$router.push({
name: "/riskLe", name: "riskDetail",
params: { params: {
projectId: obj.id, projectId: obj.id,
}, },
......
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