From d813339081185b17cfbb6f60e0b3c09e75441e49 Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: 星期三, 11 五月 2022 17:26:33 +0800
Subject: [PATCH] Merge branch 'master' of https://sinanoaq.cn:8888/r/ztqt

---
 src/views/specialWorkManage/specialWork/taskStatistics/index.vue |  206 +++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 206 insertions(+), 0 deletions(-)

diff --git a/src/views/specialWorkManage/specialWork/taskStatistics/index.vue b/src/views/specialWorkManage/specialWork/taskStatistics/index.vue
new file mode 100644
index 0000000..538e3c0
--- /dev/null
+++ b/src/views/specialWorkManage/specialWork/taskStatistics/index.vue
@@ -0,0 +1,206 @@
+<template>
+    <div class="app-container">
+        <div class="filter-container">
+            <div class="basic_search">
+                <span>单位名称:</span>
+                <el-input v-model="company" style="width:150px" @change="getTroubleData">
+                </el-input>
+            </div>
+            <div class="basic_search">
+                <span>作业状态:</span>
+                <el-select v-model="status" style="width:150px" clearable @change="getTroubleData">
+                    <el-option
+                    v-for="item in statusList"
+                    :key="item.id"
+                    :label="item.name"
+                    :value="item.id"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="basic_search">
+                <span>审批状态:</span>
+                <el-select v-model="flag" style="width:150px" clearable @change="getTroubleData">
+                    <el-option
+                        v-for="item in flagList"
+                        :key="item.id"
+                        :label="item.name"
+                        :value="item.id"
+                    >
+                    </el-option>
+                </el-select>
+            </div>
+            <div class="basic_search">
+                <span>开始时间:</span>
+                <el-date-picker
+                    @change="getTroubleData"
+                    v-model="starttime"
+                    align="right"
+                    value-format="yyyy-MM-dd"
+                    placeholder="开始时间">
+                </el-date-picker>
+            </div>
+            <div class="basic_search">
+                <span>结束时间:</span>
+                <el-date-picker
+                    @change="getTroubleData"
+                    v-model="endtime"
+                    align="right"
+                    value-format="yyyy-MM-dd"
+                    placeholder="开始时间">
+                </el-date-picker>
+            </div>
+            <el-button style="margin-left: 10px;" type="primary" icon="el-icon-refresh" @click="refreshHandle">搜索</el-button>
+        </div>
+        <div class="table_content">
+            <el-table
+                v-loading="listLoading"
+                :key="tableKey"
+                :data="troubleData"
+                border
+                fit
+                highlight-current-row
+                style="width: 100%;"
+            >
+                <el-table-column label="单位名称" prop="constructionunit" align="center">
+                </el-table-column>
+                <el-table-column label="作业类型" prop="type" align="center">
+                </el-table-column>
+                <el-table-column label="作业数量" prop="countNum" 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="showTroubleDetail(scope.row)">详情</el-button>
+                    </template>
+                </el-table-column>
+            </el-table>
+            <br>
+            <el-pagination
+                v-show="recordTotal>0"
+                :current-page="currentPage"
+                :page-sizes="[10, 20, 30, 50]"
+                :page-size="pageSize"
+                :total="recordTotal"
+                layout="total, sizes, prev, pager, next, jumper"
+                background
+                style="float:right;"
+                @size-change="handleSizeChange"
+                @current-change="handleCurrentChange"
+            />
+            <br>
+            <work-detail ref="workDetail"></work-detail>
+        </div>
+    </div>
+</template>
+
+<script>
+    import workDetail from './components/workDetail'
+    import { mapGetters } from 'vuex'
+    import { computePageCount } from '@/utils'
+    import { getWorkList } from '@/api/troubleStatistics'
+
+    export default {
+        name: 'index',
+        filters: {
+            parseMain(type){
+                if(type === 1){
+                    return "是"
+                }else if(type === 0){
+                    return "否"
+                }
+            },
+        },
+        components:{
+            workDetail
+        },
+        computed: {
+            ...mapGetters([
+                'userType'
+            ])
+        },
+        data() {
+            return {
+                tableKey: 0,
+                troubleData: [],
+                statusList:[
+                    {id:0,name:'已驳回'},
+                    {id:1,name:'未提交'},
+                    {id:2,name:'已提交'},
+                    {id:3,name:'施工单位已确认'},
+                    {id:4,name:'动火部位负责人审批通过'},
+                    {id:5,name:'相关部门审批通过'},
+                    {id:6,name:'安全部门审批通过'},
+                    {id:7,name:'审批通过'},
+                ],
+                flagList:[
+                    {id:0,name:'待提交'},
+                    {id:1,name:'作业中止'},
+                    {id:2,name:'等待检查'},
+                    {id:3,name:'等待开始'},
+                    {id:4,name:'作业中'},
+                    {id:5,name:'作业完成'},
+                ],
+                listLoading: false,
+                pageSize: 10,
+                recordTotal: 0,
+                currentPage: 1,
+                pageTotal: 0,
+                company:'',
+                starttime:'',
+                endtime:'',
+                status:'',
+                flag:'',
+            }
+        },
+        created() {
+            this.getTroubleData()
+        },
+        methods: {
+            async getTroubleData(){
+                this.listLoading = true
+                let params = {}
+                params['pageIndex'] = this.currentPage
+                params['pageSize'] = this.pageSize
+                params['company'] = this.company
+                params['starttime'] = this.starttime
+                params['endtime'] = this.endtime
+                params['status'] = this.status
+                params['flag'] = this.flag
+                let res = await getWorkList(params)
+                if(res.data.code === '200'){
+                    this.recordTotal = res.data.result.totalCount
+                    this.pageSize = res.data.result.pageSize
+                    this.pageTotal = computePageCount(res.data.result.totalCount, res.data.result.pageSize)
+                    this.currentPage = res.data.result.pageIndex
+                    this.troubleData = res.data.result.result
+                }else{
+                    this.$message({
+                        message:res.data.message,
+                        type:'warning'
+                    })
+                }
+                this.listLoading = false
+            },
+            showTroubleDetail(val){
+                this.$refs.workDetail.showTroubleDetail(val.constructionunit,this.status,this.flag,this.starttime,this.endtime,val.type)
+            },
+            refreshHandle(){
+                this.getTroubleData()
+            },
+            handleSizeChange(val){
+                this.pageSize = val
+                this.getTroubleData()
+            },
+            handleCurrentChange(val){
+                this.currentPage = val
+                this.getTroubleData()
+            },
+        }
+    }
+</script>
+<style scoped>
+    .basic_search{
+        display:inline-block;
+        padding-bottom: 10px;
+    }
+</style>

--
Gitblit v1.9.2