From dfc35ece9ae09ad910538f0b181275e0e6c8a00c Mon Sep 17 00:00:00 2001
From: lct123456 <lucht>
Date: 星期四, 21 四月 2022 21:59:41 +0800
Subject: [PATCH] 巡检记录和巡检数据
---
src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue | 58 ++++-----
src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue | 11 -
src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue | 159 +++++++++++++++++++++----
src/api/inspectionTask.js | 11 +
src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue | 2
src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue | 73 ++++++++++++
6 files changed, 246 insertions(+), 68 deletions(-)
diff --git a/src/api/inspectionTask.js b/src/api/inspectionTask.js
index cf1cef0..70e58b4 100644
--- a/src/api/inspectionTask.js
+++ b/src/api/inspectionTask.js
@@ -89,4 +89,15 @@
url: process.env.BASE_API+'/safecheck/work/get/id?workId=' + id,
method: 'post',
});
+}
+
+export function getInspectionCount(data) {
+ return request({
+ headers:{
+ 'Authorization': getToken()
+ },
+ url: process.env.BASE_API+'/safecheck/task/count',
+ method: 'post',
+ data
+ });
}
\ No newline at end of file
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
index 6b5d2b6..4c61f8c 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionRecord/index.vue
@@ -1,6 +1,69 @@
<template>
<div class="app-container">
<div class="filter-container">
+ <div class="basic_search">
+ <span>开始时间:</span>
+ <el-date-picker v-model="listQuery.startTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="巡检开始时间"></el-date-picker>
+ </div>
+ <div class="basic_search">
+ <span>结束时间:</span>
+ <el-date-picker v-model="listQuery.startTime" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="巡检结束时间"></el-date-picker>
+ </div>
+ <div class="basic_search">
+ <span>任务类型:</span>
+ <el-select v-model="listQuery.type">
+ <el-option
+ v-for="item in typeList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.name"
+ ></el-option>
+ </el-select>
+ </div>
+ <div class="basic_search">
+ <span>任务单元状态列表:</span>
+ <el-select v-model="listQuery.statusList">
+ <el-option
+ v-for="item in statusListList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.name"
+ ></el-option>
+ </el-select>
+ </div>
+ <div class="basic_search">
+ <span>巡检任务创建人员:</span>
+ <el-select v-model="listQuery.createUid" filterable clearable>
+ <el-option
+ v-for="item in userList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.realname"
+ ></el-option>
+ </el-select>
+ </div>
+ <div class="basic_search">
+ <span>异常通知人员:</span>
+ <el-select v-model="listQuery.noticeUid" filterable clearable>
+ <el-option
+ v-for="item in userList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.realname"
+ ></el-option>
+ </el-select>
+ </div>
+ <div class="basic_search">
+ <span>执行巡检人员:</span>
+ <el-select v-model="listQuery.execUid" filterable clearable>
+ <el-option
+ v-for="item in userList"
+ :key="item.id"
+ :value="item.id"
+ :label="item.realname"
+ ></el-option>
+ </el-select>
+ </div>
<el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
</div>
<div class="table_content">
@@ -13,21 +76,50 @@
highlight-current-row
style="width: 100%;"
>
+ <el-table-column type="expand">
+ <template slot-scope="scope">
+ <el-table
+ v-loading="listLoading"
+ :key="tableKey"
+ :data="scope.row.unitList"
+ border
+ fit
+ highlight-current-row
+ style="width: 100%;"
+ >
+ <el-table-column label="序号" type="index" width="150" align="center">
+ </el-table-column>
+ <el-table-column label="隐患排查内容" prop="content" align="center">
+ </el-table-column>
+ <el-table-column label="巡检内容" prop="info" align="center">
+ </el-table-column>
+ <el-table-column label="巡检照片" prop="img" align="center">
+ </el-table-column>
+ <el-table-column label="状态" prop="status" align="center">
+ </el-table-column>
+ <el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
+ <template slot-scope="scope">
+ <el-button type="text" @click="showMeasureDetail(scope.row)">详情</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </template>
+ </el-table-column>
<el-table-column label="任务名称" prop="title" align="center">
</el-table-column>
<el-table-column label="检查类型" prop="type" align="center">
- </el-table-column>
- <el-table-column label="检查频次" prop="intervalSeconds" align="center">
- </el-table-column>
- <el-table-column label="任务开始时间" prop="startTime" align="center">
- </el-table-column>
- <el-table-column label="任务结束时间" prop="endTime" align="center">
+ <template slot-scope="scope">
+ {{ scope.row.type | parseType}}
+ </template>
</el-table-column>
<el-table-column label="异常通知人" prop="noticeUname" align="center">
</el-table-column>
<el-table-column label="巡检人" prop="execUname" align="center">
</el-table-column>
- <el-table-column label="检查日期时间" prop="updateTime" align="center">
+ <el-table-column label="任务状态" prop="status" align="center">
+ <template slot-scope="scope">
+ {{ scope.row.status | parseStatus}}
+ </template>
</el-table-column>
<el-table-column label="操作" align="center" width="280" class-name="small-padding fixed-width">
<template slot-scope="scope">
@@ -38,9 +130,9 @@
<br>
<el-pagination
v-show="recordTotal>0"
- :current-page="currentPage"
+ :current-page="listQuery.page"
:page-sizes="[10, 20, 30, 50]"
- :page-size="pageSize"
+ :page-size="listQuery.pageSize"
:total="recordTotal"
layout="total, sizes, prev, pager, next, jumper"
background
@@ -87,11 +179,18 @@
export default {
name: 'index',
filters: {
- parseMain(type){
+ parseType(type){
if(type === 1){
- return "是"
- }else if(type === 0){
- return "否"
+ return "日常检查"
+ }else{
+ return "周期检查"
+ }
+ },
+ parseStatus(status){
+ if(status === 1){
+ return "任务开启"
+ }else{
+ return "任务关闭"
}
},
},
@@ -105,6 +204,9 @@
tableKey: 0,
inspectionRecordData: [],
departmentList:[],
+ userList:[],
+ typeList:[{id:1,name:'日常检查'},{id:2,name:'周期检查'}],
+ statusListList:[{id:1,name:'待巡检'},{id:2,name:'巡检中'},{id:3,name:'已完成'},{id:4,name:'超时未巡检'},{id:5,name:'已取消'}],
listLoading: false,
pageSize: 10,
recordTotal: 0,
@@ -118,16 +220,17 @@
},
listQuery:{
- createUid: null,
- endTime: null,
- execUid: null,
- noticeUid: null,
- page: 1,
- pageSize:10,
- startTime: null,
- result:null,
- statusList: null,
- type: null
+ createUid: null,
+ endTime: null,
+ execUid: null,
+ execUname: null,
+ noticeUid: null,
+ page: 1,
+ pageSize: 10,
+ result: null,
+ startTime: null,
+ statusList: null,
+ type: null
},
}
},
@@ -140,11 +243,8 @@
this.listLoading = true
let res = await getInspectionRecord(this.listQuery)
if(res.data.code === '200'){
- this.recordTotal = res.data.result.total
- this.pageSize = res.data.result.size
- this.pageTotal = computePageCount(res.data.result.total, res.data.result.size)
- this.currentPage = res.data.result.current
- this.analyseUnitData = res.data.result.records
+ this.recordTotal = JSON.parse(res.data.message).total
+ this.inspectionRecordData = res.data.result
}else{
this.$message({
message:res.data.message,
@@ -197,8 +297,9 @@
.basic_search{
display:inline-block;
padding-bottom: 10px;
+ padding-left: 10px;
}
.analyseUnit_input{
- width:320px;
+ width:200px;
}
</style>
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue
index 8e7db67..ba480e3 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue
@@ -3,7 +3,16 @@
<div class="inspectionStatistics_part">
<div class="inspectionStatistics_part_person">
<div class="inspectionStatistics_part_title">{{"巡检人员统计"}}</div>
- <el-divider></el-divider>
+ <div class="inspectionStatistics_part_time">
+ <el-date-picker
+ v-model="value1"
+ type="daterange"
+ range-separator="至"
+ start-placeholder="开始日期"
+ @change="changeInspectionPerson"
+ end-placeholder="结束日期">
+ </el-date-picker></div>
+ <el-divider></el-divider>
<div class="inspectionStatistics_part_body">
<inspection-person></inspection-person>
</div>
@@ -12,6 +21,15 @@
<div class="inspectionStatistics_part">
<div class="inspectionStatistics_part_complete">
<div class="inspectionStatistics_part_title">{{"巡检完成统计"}}</div>
+ <div class="inspectionStatistics_part_time">
+ <el-date-picker
+ v-model="value2"
+ type="daterange"
+ range-separator="至"
+ start-placeholder="开始日期"
+ end-placeholder="结束日期">
+ </el-date-picker>
+ </div>
<el-divider></el-divider>
<div class="inspectionStatistics_part_body">
<inspection-complete></inspection-complete>
@@ -30,6 +48,15 @@
<div class="inspectionStatistics_part">
<div class="inspectionStatistics_part_unusual">
<div class="inspectionStatistics_part_title">{{"巡检异常统计"}}</div>
+ <div class="inspectionStatistics_part_time">
+ <el-date-picker
+ v-model="value3"
+ type="daterange"
+ range-separator="至"
+ start-placeholder="开始日期"
+ end-placeholder="结束日期">
+ </el-date-picker>
+ </div>
<el-divider></el-divider>
<div class="inspectionStatistics_part_body">
<inspection-unusual></inspection-unusual>
@@ -44,13 +71,51 @@
import inspectionComplete from './components/inspectionComplete/index'
import inspectionUnusual from './components/inspectionUnusual/index'
import todayUnusual from './components/todayUnusual/index'
+import { getInspectionCount } from '../../../../api/inspectionTask'
export default {
name: "index",
+ data() {
+ return {
+ value1:['',''],
+ value2:['',''],
+ value3:['',''],
+ listQuery:{
+ "dateList": [
+ "",
+ ""
+ ],
+ "endDate": "",
+ "execUid": null,
+ "startDate": ""
+ }
+ }
+ },
components : {
inspectionPerson,
inspectionComplete,
inspectionUnusual,
todayUnusual
+ },
+ created() {
+ this.setTimeValue()
+ this.getInspectionCount()
+ },
+ methods: {
+ setTimeValue() {
+ let newTime = new Date()
+ this.value1 = [(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' + 1).toString() + ' ' + '00:00:00',(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59']
+ this.value2 = [(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' + 1).toString() + ' ' + '00:00:00',(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59']
+ this.value3 = [(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' + 1).toString() + ' ' + '00:00:00',(newTime.getFullYear()+ '-' + (newTime.getMonth() + 1) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59']
+ },
+ async getInspectionCount() {
+ this.listQuery.startDate = this.value1[0]
+ this.listQuery.endDate = this.value1[1]
+ let res = await getInspectionCount(this.listQuery)
+ debugger
+ },
+ async changeInspectionPerson() {
+ let res = await getInspectionCount(this.listQuery)
+ },
}
}
</script>
@@ -80,9 +145,15 @@
height:60px;
line-height: 60px;
padding-left:20px;
+ display: inline-block;
+ width:50%;
}
.inspectionStatistics_part_body{
width:100%;
height:410px;
}
+ .inspectionStatistics_part_time{
+ display: inline-block;
+
+ }
</style>
diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
index 6b19ccb..c72d513 100644
--- a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
+++ b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue
@@ -12,11 +12,11 @@
<div class="basic_search">
<span>巡检任务类型:</span>
<el-select v-model="listQuery.type">
- <el-option
- v-for="item in departmentList"
+ <el-option
+ v-for="item in typeList"
:key="item.id"
- :value="item.department"
- :label="item.department"
+ :value="item.id"
+ :label="item.name"
></el-option>
</el-select>
</div>
@@ -24,43 +24,43 @@
<span>巡检任务状态:</span>
<el-select v-model="listQuery.status">
<el-option
- v-for="item in departmentList"
+ v-for="item in statusList"
:key="item.id"
- :value="item.department"
- :label="item.department"
+ :value="item.id"
+ :label="item.name"
></el-option>
</el-select>
</div>
<div class="basic_search">
<span>巡检任务创建人员:</span>
- <el-select v-model="listQuery.createUid">
+ <el-select v-model="listQuery.createUid" filterable clearable>
<el-option
- v-for="item in departmentList"
+ v-for="item in userList"
:key="item.id"
- :value="item.department"
- :label="item.department"
+ :value="item.id"
+ :label="item.realname"
></el-option>
</el-select>
</div>
<div class="basic_search">
<span>异常通知人员:</span>
- <el-select v-model="listQuery.noticeUid">
- <el-option
- v-for="item in departmentList"
+ <el-select v-model="listQuery.noticeUid" filterable clearable>
+ <el-option
+ v-for="item in userList"
:key="item.id"
- :value="item.department"
- :label="item.department"
+ :value="item.id"
+ :label="item.realname"
></el-option>
</el-select>
</div>
<div class="basic_search">
<span>执行巡检人员:</span>
- <el-select v-model="listQuery.execUid">
+ <el-select v-model="listQuery.execUid" filterable clearable>
<el-option
- v-for="item in departmentList"
+ v-for="item in userList"
:key="item.id"
- :value="item.department"
- :label="item.department"
+ :value="item.id"
+ :label="item.realname"
></el-option>
</el-select>
</div>
@@ -114,16 +114,16 @@
<br>
<el-pagination
v-show="recordTotal>0"
- :current-page="currentPage"
+ :current-page="listQuery.page"
:page-sizes="[10, 20, 30, 50]"
- :page-size="pageSize"
+ :page-size="listQuery.pageSize"
:total="recordTotal"
layout="total, sizes, prev, pager, next, jumper"
background
style="float:right;"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
- />
+ />
<br>
</div>
@@ -326,6 +326,7 @@
userList:[],
noticeUidList:[],
execUidList:[],
+ statusList:[{name:'任务开启',id:1},{id:2,name:'任务关闭'}],
intervalSecondsList:[{id:7200,name:'2小时'},{id:21600,name:'6小时'},{id:43200,name:'12小时'},{id:86400,name:'1天'},{id:17280,name:'2天'}],
noticeSecondsList:[{id:600,name:'10分'},{id:3600,name:'1小时'},{id:7200,name:'2小时'},{id:21600,name:'6小时'},{id:43200,name:'12小时'},{id:86400,name:'1天'}],
effectSecondsList:[{id:1800,name:'30分'},{id:3600,name:'1小时'},{id:7200,name:'2小时'},{id:21600,name:'6小时'},{id:43200,name:'12小时'},{id:86400,name:'1天'}],
@@ -368,8 +369,8 @@
startTime: "",
status:"",
type: "",
- page: 10,
- pageSize: 1,
+ page: 1,
+ pageSize: 10,
},
}
@@ -384,10 +385,7 @@
this.listLoading = true
let res = await getInspectionTask(this.listQuery)
if(res.data.code === '200'){
- this.recordTotal = res.data.result.total
- this.pageSize = res.data.result.size
- this.pageTotal = computePageCount(res.data.result.total, res.data.result.size)
- this.currentPage = res.data.result.current
+ this.recordTotal = JSON.parse(res.data.message).total
this.inspectionTaskData = res.data.result
}else if(res.data.code === '300'){
this.inspectionTaskData = []
@@ -591,7 +589,7 @@
this.getInspectionTaskData()
},
handleCurrentChange(val){
- this.listQuery.pageIndex = val
+ this.listQuery.page = val
this.getInspectionTaskData()
},
}
diff --git a/src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue b/src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue
index 3d87881..5ec579a 100644
--- a/src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/fourColorMap/index.vue
@@ -66,7 +66,7 @@
this.loaded = true;
map.addModel({
- link: 'http://model.szwutu.cn:8100/data1/namiso-ub3dm/tileset.json',
+ link: 'http://222.92.213.21:8006/zhongtaiweb/tileset.json',
name: '商业园区',
callback: tileset => {
var boundingSphere = tileset.boundingSphere;
diff --git a/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue b/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue
index dd65b2e..e8a3ff3 100644
--- a/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue
+++ b/src/views/doublePreventAction/riskLevelManage/riskSourceManage/index.vue
@@ -122,16 +122,16 @@
<br>
<el-pagination
v-show="recordTotal>0"
- :current-page="currentPage"
+ :current-page="listQuery.pageIndex"
:page-sizes="[10, 20, 30, 50]"
- :page-size="pageSize"
+ :page-size="listQuery.pageSize"
:total="recordTotal"
layout="total, sizes, prev, pager, next, jumper"
background
style="float:right;"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
- />
+ />
<br>
</div>
<el-dialog :title="title" :visible.sync="riskSourceVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="600px">
@@ -279,10 +279,7 @@
this.listLoading = true
let res = await getRiskSourceList(this.listQuery)
if(res.data.code === '200'){
- this.recordTotal =JSON.parse(res.data.message).totalCount
- this.pageSize = JSON.parse(res.data.message).pageSize
- this.pageTotal = computePageCount(this.recordTotal, this.pageSize)
- this.currentPage = JSON.parse(res.data.message).pageIndex
+ this.recordTotal = JSON.parse(res.data.message).totalCount
this.riskSourceData = res.data.result
}else{
this.$message({
--
Gitblit v1.9.2