From 37b718547bc441c7502f0bfcf86209efe253851b Mon Sep 17 00:00:00 2001 From: Your Name <123456> Date: 星期三, 06 四月 2022 17:32:03 +0800 Subject: [PATCH] 'lct' --- src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue | 434 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 434 insertions(+), 0 deletions(-) diff --git a/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue new file mode 100644 index 0000000..a212344 --- /dev/null +++ b/src/views/doublePreventAction/hiddenDanger/inspectionTask/index.vue @@ -0,0 +1,434 @@ +<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 departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></el-option> + </el-select> + </div> + <div class="basic_search"> + <span>巡检任务状态:</span> + <el-select v-model="listQuery.status"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></el-option> + </el-select> + </div> + <div class="basic_search"> + <span>巡检任务创建人员:</span> + <el-select v-model="listQuery.createUid"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></el-option> + </el-select> + </div> + <div class="basic_search"> + <span>异常通知人员:</span> + <el-select v-model="listQuery.noticeUid"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></el-option> + </el-select> + </div> + <div class="basic_search"> + <span>执行巡检人员:</span> + <el-select v-model="listQuery.execUid"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></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> + <el-button class="filter-item" style="margin-left: 10px;margin-top: 10px" type="primary" icon="el-icon-plus" @click="showAnalyseUnitForm('','新增')">新增</el-button> + </div> + + <div class="table_content"> + <el-table + v-loading="listLoading" + :key="tableKey" + :data="inspectionTaskData" + border + fit + highlight-current-row + style="width: 100%;" + > + <el-table-column label="任务名称" prop="hazardCode" align="center"> + </el-table-column> + <el-table-column label="检查类型" prop="hazardDep" align="center"> + </el-table-column> + <el-table-column label="检查频次" prop="hazardLiablePerson" align="center"> + </el-table-column> + <el-table-column label="任务开始时间" prop="riskUnitName" align="center"> + </el-table-column> + <el-table-column label="任务结束时间" prop="createBy" align="center"> + </el-table-column> + <el-table-column label="异常通知人" prop="createTime" align="center"> + </el-table-column> + <el-table-column label="巡检人" prop="updateBy" align="center"> + </el-table-column> + <el-table-column label="创建人" prop="createBy" align="center"> + </el-table-column> + <el-table-column label="创建时间" prop="createTime" align="center"> + </el-table-column> + <el-table-column label="最后修改人" prop="updateBy" align="center"> + </el-table-column> + <el-table-column label="最后修改时间" prop="updateTime" 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="showAnalyseUnitForm(scope.row,'编辑')">编辑</el-button> + <el-button type="text" style="color: red" @click="deleteById(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> + </div> + + <el-dialog :title="title" :visible.sync="inspectionTaskVisible" :modal-append-to-body="false" :close-on-click-modal="false" width="55%"> + + + <el-divider></el-divider> + + <div class="inspectionTask_form"> + <el-form ref="inspectionTaskForm" :rules="inspectionTaskFormRules" :model="inspectionTaskForm" label-position="right" label-width="120px"> + <el-row> + <el-col :span="12"> + <el-form-item label="任务名称" prop="hazardDep"> + <el-select v-model="inspectionTaskForm.hazardDep" class="analyseUnit_input"> + <el-option + v-for="item in departmentList" + :key="item.id" + :value="item.department" + :label="item.department" + ></el-option> + </el-select> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="检查频次" prop="hazardLiablePerson"> + <el-input v-model="inspectionTaskForm.hazardLiablePerson" class="analyseUnit_input"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="周期开始时间" prop="hazardLiablePerson"> + <el-date-picker v-model="inspectionTaskForm.hazardLiablePerson" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="周期开始时间" class="analyseUnit_input"></el-date-picker> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="周期结束时间" prop="hazardLiablePerson"> + <el-date-picker v-model="inspectionTaskForm.hazardLiablePerson" value-format="yyyy-MM-dd HH:mm:ss" type="datetime" placeholder="周期结束时间" class="analyseUnit_input"></el-date-picker> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="异常通知人" prop="hazardLiablePerson"> + <el-input v-model="inspectionTaskForm.hazardLiablePerson" class="analyseUnit_input"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="巡检人" prop="hazardLiablePerson"> + <el-input v-model="inspectionTaskForm.hazardLiablePerson" class="analyseUnit_input"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="点位类型" prop="type"> + <el-input v-model="inspectionTaskForm.type" class="analyseUnit_input"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form> + </div> + + + <el-divider></el-divider> + + <div class="inspectionTask_point"> + <el-tabs class="active" v-model="activeName"> + <el-tab-pane label="巡检点信息" name="inspectionPoint"> + <inspection-point ref="inspectionPoint"></inspection-point> + </el-tab-pane> + </el-tabs> + </div> + + <div align="right"> + <el-button @click="inspectionTaskVisible = false">取消</el-button> + <el-button type="primary" @click="submitAnalyseUnit()">确认</el-button> + </div> + </el-dialog> + </div> +</template> + +<script> + import { mapGetters } from 'vuex' + import { computePageCount } from '@/utils' + import inspectionPoint from './components/inpectionPoint' + import { addAnalyseUnit, deleteAnalyseUnit, getAnalyseUnitList, updateAnalyseUnit } from '@/api/riskLevelManage' + import { getInspectionTask } from "../../../../api/inspectionTask"; + import {getAllDepartment, getDepartmentList} from "../../../../api/departmentManage"; + export default { + name: 'index', + filters: { + parseMain(type){ + if(type === 1){ + return "是" + }else if(type === 0){ + return "否" + } + }, + }, + computed: { + ...mapGetters([ + 'userType' + ]) + }, + components: { + inspectionPoint + }, + data() { + return { + tableKey: 0, + activeName:'inspectionPoint', + inspectionTaskData: [], + departmentList:[], + listLoading: false, + pageSize: 10, + recordTotal: 0, + currentPage: 1, + pageTotal: 0, + title:'', + company:'', + code:'', + inspectionTaskVisible:false, + inspectionTaskFormRules:{ + hazardDep: [{ required: true, message: '责任部门不能为空', trigger: 'change' }], + hazardLiablePerson: [{ required: true, message: '责任人不能为空', trigger: 'blur' }], + hazardCode: [{ required: true, message: '安全风险分析对象编码不能为空', trigger: 'blur' }], + riskUnitName: [{ required: true, message: '安全风险分析单元名称不能为空', trigger: 'blur' }], + }, + inspectionTaskForm:{ + createUid: 0, + effectSeconds: 0, + execUid: 0, + intervalSeconds: 0, + noticeSeconds: 0, + noticeUid: 0, + riskControlMeasureIdList: [ + 0 + ], + startTime: "", + type: 0 + }, + listQuery:{ + createUid: "", + endTime: "", + execUid: "", + noticeUid: "", + startTime: "", + status:"", + type: "" + }, + } + }, + created() { + this.getInspectionTaskData() + this.getDepartment() + }, + methods: { + async getInspectionTaskData(){ + 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.inspectionTaskData = res.data.result.records + }else if(res.data.code === '300'){ + this.inspectionTaskData = [] + } + else{ + this.$message({ + message:res.data.message, + type:'warning' + }) + } + this.listLoading = false + }, + 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' + }) + } + }, + showAnalyseUnitForm(value,type){ + this.inspectionTaskVisible = true + this.$nextTick(() =>{ + this.$refs["inspectionTaskForm"].clearValidate() + }) + if(type === '新增'){ + this.title = '新建巡检计划设定' + this.inspectionTaskForm = { + id: null, + hazardCode: "", + hazardDep: "", + hazardLiablePerson: "", + riskUnitName: "", + createTime: "", + updateTime: "", + createBy: "", + updateBy: "", + validFlag: null, + hazardLiablePersonId: null, + hazardDepId: 1 + } + }else{ + this.title = '修改' + this.inspectionTaskForm = value + } + }, + submitAnalyseUnit(){ + this.$refs["inspectionTaskForm"].validate((valid) =>{ + if(valid){ + if(this.title === '新增'){ + addAnalyseUnit(this.inspectionTaskForm).then((res)=>{ + if(res.data.code === '200'){ + this.inspectionTaskVisible = false + this.getInspectionTaskData() + this.$notify({ + type:'success', + duration:2000, + message:'新增成功', + title:'成功' + }) + }else{ + this.$message({ + type:'warning', + message:res.data.message + }) + } + }) + }else{ + updateAnalyseUnit(this.inspectionTaskForm).then((res)=>{ + if(res.data.code === '200'){ + this.inspectionTaskVisible = false + this.getInspectionTaskData() + this.$notify({ + type:'success', + duration:2000, + title:'成功', + message:'编辑成功' + }) + }else{ + this.$message({ + type:'warning', + message:res.data.message + }) + } + }) + } + }else{ + this.$message({ + type:'warning', + message:'请完善基本信息' + }) + } + }) + + }, + deleteById(val){ + this.$confirm('删除此条信息,是否继续','提示',{ + confirmButtonText:'确定', + cancelButtonText:'取消', + type:'warning', + }).then(()=> { + deleteAnalyseUnit({id:val.id}).then( ()=>{ + this.getInspectionTaskData() + this.$notify({ + title:'成功', + message:'删除成功', + type:'success', + duration:2000, + }) + }) + }) + }, + refreshHandle(){ + this.getInspectionTaskData() + }, + handleSizeChange(val){ + this.listQuery.pageSize = val + this.getInspectionTaskData() + }, + handleCurrentChange(val){ + this.listQuery.pageIndex = val + this.getInspectionTaskData() + }, + } + } +</script> +<style scoped> + .basic_search{ + display:inline-block; + padding-bottom: 10px; + padding-left: 10px; + } + .analyseUnit_input{ + width:320px; + } + /deep/.el-divider--horizontal { + margin-top: 0px !important; + } + + /deep/.el-dialog__body { + padding-top: 10px !important; + } +</style> -- Gitblit v1.9.2