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