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