From 37b718547bc441c7502f0bfcf86209efe253851b Mon Sep 17 00:00:00 2001
From: Your Name <123456>
Date: Wed, 06 Apr 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