Your Name
2022-08-26 b1bdac435d4aa9fe34bde1a859490842166b47f7
src/views/doublePreventAction/hiddenDanger/inspectionStatistics/index.vue
@@ -3,36 +3,75 @@
        <div class="inspectionStatistics_part">
            <div class="inspectionStatistics_part_person">
                <div class="inspectionStatistics_part_title">{{"巡检人员统计"}}</div>
                <div class="inspectionStatistics_part_time">
                <div class="inspectionStatistics_part_time">
                    <el-select v-model="personListQuery.depId" @change="changeInspectionPerson">
                        <el-option
                            v-for="item in departmentList"
                            :key="item.id"
                            :value="item.id"
                            :label="item.department"
                        >
                        </el-option>
                    </el-select>
                </div>
                <div class="inspectionStatistics_part_time">
                    <el-date-picker
                    v-model="value1"
                    type="daterange"
                    range-separator="至"
                    start-placeholder="开始日期"
                    @change="changeInspectionPerson"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    :default-time="['00:00:00','23:59:59']"
                    @change="changeTimeInspectionPerson"
                    end-placeholder="结束日期">
                    </el-date-picker></div>
                    <el-divider></el-divider>
                <div class="inspectionStatistics_part_body">
                    <inspection-person></inspection-person>
                    <inspection-person ref="inspectionPerson"></inspection-person>
                </div>
            </div>
        </div>
        <div class="inspectionStatistics_part">
            <div class="inspectionStatistics_part_complete">
                <div class="inspectionStatistics_part_title">{{"巡检完成统计"}}</div>
                <div class="inspectionStatistics_part_time">
                <div class="inspectionStatistics_part_time" style="width:150px">
                    <el-select v-model="completeListQuery.depId" @change="changeInspectionComplete">
                        <el-option
                            v-for="item in departmentList"
                            :key="item.id"
                            :value="item.id"
                            :label="item.department"
                        >
                        </el-option>
                    </el-select>
                </div>
                <div class="inspectionStatistics_part_time" style="width:100px">
                    <el-select v-model="completeListQuery.status" @change="changeInspectionComplete">
                        <el-option
                            v-for="item in stateList"
                            :key="item.id"
                            :value="item.id"
                            :label="item.name"
                        >
                        </el-option>
                    </el-select>
                </div>
                <div class="inspectionStatistics_part_time">
                    <el-date-picker
                    v-model="value2"
                    type="daterange"
                    range-separator="至"
                    value-format="yyyy-MM-dd HH:mm:ss"
                    :default-time="['00:00:00','23:59:59']"
                    @change="changeCompleteTimeInspectionPerson"
                    start-placeholder="开始日期"
                    end-placeholder="结束日期">
                    </el-date-picker>
                </div>
                <el-divider></el-divider>
                <div class="inspectionStatistics_part_body">
                    <inspection-complete></inspection-complete>
                    <inspection-complete ref="inspectionComplete"></inspection-complete>
                </div>
            </div>
        </div>
@@ -48,7 +87,7 @@
        <div class="inspectionStatistics_part">
            <div class="inspectionStatistics_part_unusual">
                <div class="inspectionStatistics_part_title">{{"巡检异常统计"}}</div>
                <div class="inspectionStatistics_part_time">
                <div class="inspectionStatistics_part_time">
                    <el-date-picker
                    v-model="value3"
                    type="daterange"
@@ -72,6 +111,7 @@
    import inspectionUnusual from './components/inspectionUnusual/index'
    import todayUnusual from './components/todayUnusual/index'
import { getInspectionCount } from '../../../../api/inspectionTask'
    import {getDepartmentList} from "../../../../api/departmentManage";
    export default {
        name: "index",
        data() {
@@ -79,13 +119,30 @@
                value1:['',''],
                value2:['',''],
                value3:['',''],
                departmentList:[],
                listQuery:{
                "dateList": [
                ],
                "endDate": "",
                "execUid": null,
                "startDate": ""
                }
                },
                personListQuery:{
                    depId:41,
                    startTime:'',
                    endTime:'',
                },
                completeListQuery:{
                    depId:41,
                    startTime:'',
                    endTime:'',
                    status:1,
                },
                stateList:[
                    {id:1,name:'正常'},
                    {id:2,name:'存在隐患'},
                    {id:3,name:'未处理'}
                ]
            }
        },
        components : {
@@ -95,24 +152,54 @@
            todayUnusual
        },
        created() {
            this.getDepartment()
        },
        mounted() {
            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.value1 = [(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' +  '01').toString() + ' '  + '00:00:00',(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59']
                this.personListQuery.startTime = this.value1[0]
                this.personListQuery.endTime = this.value1[1]
                this.$refs.inspectionPerson.updateData(this.personListQuery)
                this.value2 = [(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' +  '01').toString() + ' '  + '00:00:00',(newTime.getFullYear()+ '-' + ((newTime.getMonth() + 1) < 10 ? '0' + (newTime.getMonth() + 1) : (newTime.getMonth() + 1)) + '-' + newTime.getDate()).toString() + ' ' + '23:59:59']
                this.completeListQuery.startTime = this.value1[0]
                this.completeListQuery.endTime = this.value1[1]
                this.$refs.inspectionComplete.updateData(this.completeListQuery)
                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)
                // this.$refs.inspectionPerson.setCount(res.data.result)
            changeTimeInspectionPerson() {
                if(this.value1 !== null){
                    this.personListQuery.startTime = this.value1[0]
                    this.personListQuery.endTime = this.value1[1]
                }
                this.$refs.inspectionPerson.updateData(this.personListQuery)
            },
            async changeInspectionPerson() {
                let res = await getInspectionCount(this.listQuery)
            changeCompleteTimeInspectionPerson() {
                if(this.value2 !== null){
                    this.completeListQuery.startTime = this.value2[0]
                    this.completeListQuery.endTime = this.value2[1]
                }
                this.$refs.inspectionComplete.updateData(this.completeListQuery)
            },
            changeInspectionPerson() {
                this.$refs.inspectionPerson.updateData(this.personListQuery)
            },
            changeInspectionComplete() {
                this.$refs.inspectionComplete.updateData(this.completeListQuery)
            },
            async getDepartment(){
                let res = await getDepartmentList({pageSize:1000,pageIndex:1})
                if(res.data.code === '200'){
                    this.departmentList = res.data.result.result
                }else{
                    this.$message({
                        message:res.data.message,
                        type:'warning'
                    })
                }
            },
        }
    }
@@ -144,7 +231,7 @@
        line-height: 60px;
        padding-left:20px;
        display: inline-block;
        width:50%;
        width:20%;
    }
    .inspectionStatistics_part_body{
        width:100%;
@@ -152,6 +239,5 @@
    }
    .inspectionStatistics_part_time{
        display: inline-block;
    }
</style>