Your Name
2022-07-19 4f23d16c5f9788e44b83280bf6d3c2e1d2280a07
src/views/accidentHidden/majorHidden.vue
@@ -1,203 +1,194 @@
<template>
  <div class="app-container">
<el-form ref="form" :inline="true" class="inquire" :model="form" label-width="80px">
   <el-form-item label="编号">
    <el-input v-model="form.name" style="width:202px"></el-input>
  </el-form-item>
   <el-form-item label="检查单位">
     <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  </el-form-item>
   <el-form-item label="检查部门">
       <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  </el-form-item>
   <el-form-item label="检查人">
    <el-input v-model="form.name" style="width:202px"></el-input>
  </el-form-item>
   <el-form-item label="隐患单位">
       <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  </el-form-item>
   <el-form-item label="隐患部门">
       <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  </el-form-item>
   <el-form-item label="隐患类别">
       <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  </el-form-item>
   <el-form-item label="隐患级别">
       <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  </el-form-item>
   <el-form-item label="检查类别">
       <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  </el-form-item>
   <el-form-item label="隐患地点">
    <el-input v-model="form.name" style="width:202px"></el-input>
  </el-form-item>
   <el-form-item label="隐患内容">
    <el-input v-model="form.name" style="width:202px"></el-input>
  </el-form-item>
   <el-form-item label="班次">
       <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  </el-form-item>
   <el-form-item label="是否关联">
       <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  </el-form-item>
   <el-form-item label="录入人">
       <el-select v-model="value" placeholder="请选择">
    <el-option
      v-for="item in options"
      :key="item.value"
      :label="item.label"
      :value="item.value">
    </el-option>
  </el-select>
  </el-form-item>
   <el-form-item label="检查时间">
      <el-col :span="11">
      <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
    </el-col>
    <el-col style="text-align:center" :span="2">-</el-col>
    <el-col :span="11">
       <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
    </el-col>
  </el-form-item>
   <el-form-item label="限改时间">
      <el-col :span="11">
      <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
    </el-col>
    <el-col style="text-align:center" :span="2">-</el-col>
    <el-col :span="11">
       <el-date-picker type="date" placeholder="选择日期" v-model="form.date1" style="width: 100%;"></el-date-picker>
    </el-col>
  </el-form-item>
   <el-form-item style="text-align:center;padding:0 50px">
    <el-button type="primary" class="btns" icon="el-icon-search">查询</el-button>
    <el-button type="primary" class="btns" icon="el-icon-upload2">导出excel</el-button>
  </el-form-item>
  </el-form>
    <el-form ref="form" :inline="true" class="inquire" :model="form" label-width="80px">
       <el-form-item label="编号">
        <el-input v-model="listQuery.form.number" style="width:202px" placeholder="请输入内容"></el-input>
      </el-form-item>
       <el-form-item label="检查单位">
         <el-select v-model="listQuery.form.check_main_branch" placeholder="请选择"  @change="changeJCDW">
        <el-option
          v-for="item in JCDWList"
          :key="item.value"
          :label="item.label"
          :value="item.value"
        >
        </el-option>
      </el-select>
      </el-form-item>
       <el-form-item label="检查部门">
           <el-select v-model="listQuery.form.check_branch" placeholder="请选择">
        <el-option
          v-for="item in JCBMList"
          :key="item.value"
          :label="item.value"
          :value="item.value">
        </el-option>
      </el-select>
      </el-form-item>
       <el-form-item label="检查人">
        <el-input v-model="listQuery.form.check_man" style="width:202px" placeholder="请输入内容"></el-input>
      </el-form-item>
       <el-form-item label="隐患单位">
           <el-input v-model="listQuery.form.ht_community" style="width:202px" :disabled="true"></el-input>
           <!--<el-select v-model="listQuery.form.ht_community" placeholder="请选择" @change="changeYHDW">
        <el-option
          v-for="item in JCDWList"
          :key="item.value"
          :label="item.label"
          :value="item.value">
        </el-option>
      </el-select>-->
      </el-form-item>
       <el-form-item label="隐患部门">
           <el-select v-model="listQuery.form.ht_branch" placeholder="请选择">
        <el-option
          v-for="item in YHBMList"
          :key="item.branch_id"
          :label="item.branch_name"
          :value="item.branch_name">
        </el-option>
      </el-select>
      </el-form-item>
       <el-form-item label="隐患类别">
           <el-select v-model="listQuery.form.ht_typesub" placeholder="请选择">
        <el-option
          v-for="item in YHLXList"
          :key="item.value"
          :label="item.value"
          :value="item.value">
        </el-option>
      </el-select>
      </el-form-item>
       <el-form-item label="隐患级别">
           <el-select v-model="listQuery.form.ht_level" placeholder="请选择">
        <el-option
          v-for="item in YHJBList"
          :key="item.value"
          :label="item.label"
          :value="item.value">
        </el-option>
      </el-select>
      </el-form-item>
       <el-form-item label="检查类别">
           <el-select v-model="listQuery.form.checktype" placeholder="请选择">
        <el-option
          v-for="item in JCLBList"
          :key="item.value"
          :label="item.value"
          :value="item.value">
        </el-option>
      </el-select>
      </el-form-item>
       <el-form-item label="隐患地点">
        <el-input v-model="listQuery.form.address" style="width:202px" placeholder="请输入内容"></el-input>
      </el-form-item>
       <el-form-item label="隐患内容">
        <el-input v-model="listQuery.form.ht_content" style="width:202px" placeholder="请输入内容"></el-input>
      </el-form-item>
       <el-form-item label="班次">
           <el-select v-model="listQuery.form.check_class" placeholder="请选择">
        <el-option
          v-for="item in BCList"
          :key="item.value"
          :label="item.value"
          :value="item.value">
        </el-option>
      </el-select>
      </el-form-item>
       <el-form-item label="是否关联">
           <el-select v-model="listQuery.form.DTRisk_bankId" placeholder="请选择">
        <el-option
          v-for="item in reList"
          :key="item.value"
          :label="item.label"
          :value="item.value">
        </el-option>
      </el-select>
      </el-form-item>
       <el-form-item label="录入人">
           <el-select v-model="listQuery.form.createBy" placeholder="请选择">
        <el-option
          v-for="item in llrList"
          :key="item.id"
          :label="item.realName"
          :value="item.id">
        </el-option>
      </el-select>
      </el-form-item>
       <el-form-item label="检查时间">
          <el-col :span="11">
          <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.check_dateStart" style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
        </el-col>
        <el-col style="text-align:center" :span="2">-</el-col>
        <el-col :span="11">
           <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.check_dateEnd" style="width: 100%;" value-format="yyyy-MM-dd"></el-date-picker>
        </el-col>
      </el-form-item>
       <el-form-item label="限改时间">
          <el-col :span="11">
          <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.alter_timeStart" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
        </el-col>
        <el-col style="text-align:center" :span="2">-</el-col>
        <el-col :span="11">
           <el-date-picker type="date" placeholder="选择日期" v-model="listQuery.form.alter_timeEnd" value-format="yyyy-MM-dd" style="width: 100%;"></el-date-picker>
        </el-col>
      </el-form-item>
       <el-form-item style="text-align:center;padding:0 50px">
        <el-button type="primary" class="btns" size="small" icon="el-icon-search" @click="getPageList()">查询</el-button>
           <el-button type="primary" class="btns" size="small" @click="reset()">重置</el-button>
        <el-button type="primary" class="btns" size="small" icon="el-icon-upload2" @click="exportData">导出excel</el-button>
      </el-form-item>
      </el-form>
    <el-row class="title-center">
      <el-col :span="10">
        <el-radio-group v-model="radio1" style="border:none">
      <el-radio-button label="正在整改"></el-radio-button>
      <el-radio-button label="正在复查"></el-radio-button>
      <el-radio-button label="整改完成"></el-radio-button>
        <el-radio-group v-model="listQuery.form.alter_status" @change="changeStatus" style="border:none">
      <el-radio-button  label="正在整改">正在整改</el-radio-button>
      <el-radio-button  label="正在复查">正在复查</el-radio-button>
      <el-radio-button  label="整改完成">整改完成</el-radio-button>
    </el-radio-group>
      </el-col>
      <el-col :offset="4" :span="10" style="text-align:right;">
      <!--<el-col :offset="4" :span="10" style="text-align:right;">
        <el-button class="btns" type="primary" icon="el-icon-search" size="small">查看进度</el-button>
        <el-button class="btns" type="primary" icon="el-icon-edit" size="small">填写进度</el-button>
      </el-col>
        <el-button class="btns" type="primary" icon="el-icon-edit" size="small" @click="fillProgress()">填写进度</el-button>
      </el-col>-->
    </el-row>
    <el-table :data="tableData" style="width: 100%">
      <el-table-column
        type="selection"
        width="55"
        align="center"
      ></el-table-column>
      <el-table-column
        prop="date"
        label="编号"
        align="center"
        sortable
        width="120"
      >
     <!-- <el-table-column type="selection" width="55" align="center"></el-table-column>-->
      <el-table-column prop="number" label="编号" align="center" width="120">
          <template slot-scope="scope">
              <div class="blue-font-color" @click="showDetails(scope.row)">{{ scope.row.number }}</div>
          </template>
      </el-table-column>
      <el-table-column
        prop="date"
        label="检察部门"
        align="center"
        sortable
        width="120"
      >
      </el-table-column>
      <el-table-column
        prop="date"
        label="检查人"
        align="center"
        sortable
        width="120"
      >
      </el-table-column>
      <el-table-column prop="date" label="检查类别" align="center">
      <el-table-column prop="check_branch" label="检查部门" align="center" width="120"></el-table-column>
      <el-table-column prop="check_man" label="检查人" align="center" width="120"></el-table-column>
      <el-table-column prop="checktype" label="检查类别" align="center">
      </el-table-column>
      <el-table-column label="隐患项目" align="center">
        <el-table-column label="检察时间" width="120" sortable align="center">
        <el-table-column prop="check_date" label="检查时间" width="120"  align="center">
            <template slot-scope="scope">
                <label>{{ formatDate(scope.row.check_date) }}</label><br/>
                <label>{{ scope.row.check_class }}</label>
            </template>
        </el-table-column>
        <el-table-column label="地点" align="center"> </el-table-column>
        <el-table-column label="内容" align="center"> </el-table-column>
        <el-table-column label="类别" align="center"> </el-table-column>
        <el-table-column label="级别" align="center"> </el-table-column>
        <el-table-column prop="address" label="地点" align="center"> </el-table-column>
        <el-table-column prop="ht_content" label="内容" align="center"> </el-table-column>
        <el-table-column prop="ht_typesub" label="类别" align="center"> </el-table-column>
        <el-table-column prop="ht_level" label="级别" align="center"> </el-table-column>
      </el-table-column>
      <el-table-column label="整改计划" align="center">
        <el-table-column label="整改措施" align="center"> </el-table-column>
        <el-table-column label="隐患部门" align="center"> </el-table-column>
        <el-table-column label="责任人" align="center"> </el-table-column>
        <el-table-column label="限改时间" width="120" sortable align="center">
        <el-table-column prop="measure" label="整改措施" align="center"> </el-table-column>
        <el-table-column prop="ht_branch" label="隐患部门" align="center"> </el-table-column>
        <el-table-column prop="duty_officer" label="责任人" align="center"> </el-table-column>
        <el-table-column prop="alter_time" label="限改时间" width="120"  align="center">
        </el-table-column>
        <el-table-column label="级别" align="center"> </el-table-column>
      </el-table-column>
      <el-table-column label="风险等级" align="center"> </el-table-column>
      <el-table-column prop="DTRisk_level" label="风险等级" align="center"> </el-table-column>
        <el-table-column prop="DTRisk_level" label="操作" align="center" width="250">
            <template slot-scope="scope">
                <el-button class="btns" type="primary" icon="el-icon-search" size="mini" @click="viewProgress(scope.row)">查看进度</el-button>
                <el-button class="btns" type="primary" icon="el-icon-edit" size="mini" @click="fillProgress(scope.row)">填写进度</el-button>
            </template>
        </el-table-column>
    </el-table>
    <div style="text-align: right">
      <el-pagination
@@ -215,33 +206,243 @@
  </div>
</template>
<script>
import {getPageList,analogy_export_do} from "@/api/sgyhpczl/majorHidden";
import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr} from "@/api/sgyhpczl/initSelect";
export default {
  data() {
    return {
      form:{},
      radio1: '正在整改',
       options: [{
          value: '选项1',
          label: '黄金糕'
        }, {
          value: '选项2',
          label: '双皮奶'
        }, {
          value: '选项3',
          label: '蚵仔煎'
        }, {
          value: '选项4',
          label: '龙须面'
        }, {
          value: '选项5',
          label: '北京烤鸭'
        }],
      tableData: [],
      pageSize: 10,
      recordTotal: 0,
      currentPage: 1,
    };
  },
    data() {
        return {
            reList:[{label:"未关联",value:0}],
            options: [],
            form:{
            },
            llrList:[],
            JCDWList:[{label:"众泰煤焦化",value:0},{label:"上级单位",value:1}],
            JCBMList:[],
            YHLXList:[],
            BCList:[],
            JCLBList:[],
            YHBMList:[],
            YHJBList:[],
            tableData: [],
            listQuery:{
                page:1,
                limit:10,
                form:{
                    ht_community:"众泰煤焦化",
                    alter_status:'正在整改'
                },
            },
            currentPage: 1,
            pageSize: 10,
            recordTotal: 0,
        };
    },
    mounted(){
        this.getPageList()
        this.initYHLX()
        this.initYHJB()
        this.initBC()
        this.initJCLB()
        this.initLlr()
        this.initYHBM()
    },
    methods:{
        initLlr(){
            initLlr().then(res=>{
                if (res.data.ok==1){
                    this.llrList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initYHBM(val){
            initYHBM().then(res=>{
                if (res.data.ok==1){
                    this.YHBMList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        changeJCDW(val){
            initJCBM(val).then(res=>{
                if (res.data.ok==1){
                    this.JCBMList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        checkTime(){
            if(this.listQuery.form.check_dateStart!=null && this.listQuery.form.check_dateStart!=''){
                if(this.listQuery.form.check_dateEnd!=null && this.listQuery.form.check_dateEnd!=''){
                }else {
                    this.$message({type:'error', message:"请选择检查结束时间", duration:3000})
                    return
                }
            }
            if(this.listQuery.form.check_dateEnd!=null && this.listQuery.form.check_dateEnd!=''){
                if(this.listQuery.form.check_dateStart!=null && this.listQuery.form.check_dateStart!=''){
                }else {
                    this.$message({type:'error', message:"请选择检查开始时间", duration:3000})
                    return
                }
            }
            if(this.listQuery.form.alter_timeStart!=null && this.listQuery.form.alter_timeStart!=''){
                if(this.listQuery.form.alter_timeEnd!=null && this.listQuery.form.alter_timeEnd!=''){
                }else {
                    this.$message({type:'error', message:"请选择限改结束时间", duration:3000})
                    return
                }
            }
            if(this.listQuery.form.alter_timeEnd!=null && this.listQuery.form.alter_timeEnd!=''){
                if(this.listQuery.form.alter_timeStart!=null && this.listQuery.form.alter_timeStart!=''){
                }else {
                    this.$message({type:'error', message:"请选择改开始时间", duration:3000})
                    return
                }
            }
        },
        getPageList(){
            this.listQuery.page=1
            this.checkTime()
            getPageList(this.listQuery).then(res=>{
                if (res.data.ok==1) {
                    this.tableData = res.data.data.items
                     this.recordTotal=res.data.data.total
                }else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        reset(){
            this.listQuery.form={ht_community:"众泰煤焦化", alter_status:'正在整改'}
            this.getPageList()
        },
        handleSizeChange(val){
            this.listQuery.limit = val
            this.getPageListForPagination();
        },
        handleCurrentChange(val){
            this.listQuery.page = val
            this.getPageListForPagination();
        },
        getPageListForPagination(){
           this.checkTime()
            getPageList(this.listQuery).then(res=>{
                if (res.data.ok==1) {
                    this.tableData = res.data.data.items
                    this.recordTotal=res.data.data.total
                }else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        //状态切换
        changeStatus(val){
            this.listQuery.form.alter_status = val;
            this.getPageList();
        },
        //日期格式转换
        formatColumnDate(row, column) {
            // 获取单元格数据
            let data = row[column.property];
            if (data == null) {
                return null;
            }
            let dt = new Date(data);
            return (
                dt.getFullYear() + "-" + (dt.getMonth() + 1) + "-" + dt.getDate() + " "
            );
        },
        exportData() {
            this.listLoading = true
            var requestData = JSON.parse(JSON.stringify(this.listQuery));
            requestData.export_type = 0;
            //删除分页参数
            this.$delete(requestData, 'page')
            this.$delete(requestData, 'limit')
            analogy_export_do(requestData).then(res => {
                this.listLoading = false
                var blob = new Blob([res.data])
                var downloadElement = document.createElement('a')
                var href = window.URL.createObjectURL(blob) //创建下载的链接
                downloadElement.href = href
                downloadElement.download = '重大隐患整改进度.xlsx' //下载后文件名
                document.body.appendChild(downloadElement)
                downloadElement.click() //点击下载
                document.body.removeChild(downloadElement) //下载完成移除元素
                window.URL.revokeObjectURL(href) //释放掉blob对象
            }).catch(err => {
                console.log(err)
            })
        },
        initYHLX(){
            initYHLX().then(res=>{
                if (res.data.ok==1){
                    this.YHLXList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initYHJB(){
            initYHJB().then(res=>{
                if (res.data.ok==1){
                    this.YHJBList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initBC(){
            initBC().then(res=>{
                if (res.data.ok==1){
                    this.BCList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        initJCLB(){
            initJCLB().then(res=>{
                if (res.data.ok==1){
                    this.JCLBList=res.data.data
                } else{
                    this.$message({type:'error', message:res.data.msg, duration:3000})
                }
            })
        },
        viewProgress(row){
            this.$router.push({
                path:"/fillProgress?type=1&id="+row.id
            })
        },
        fillProgress(row){
            this.$router.push({
                path:"/fillProgress?id="+row.id
            })
        },
        showDetails(row) {
            this.$router.push({
                path: "/dangerDetails",
                query: {"id": row.id}
            })
        },
        //方法区
        formatDate(data) {
            // 获取单元格数据
            if (data == null) {
                return null
            }
            let dt = new Date(data)
            return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate()
        },
    }
};
</script>
<style scoped>
@@ -265,9 +466,9 @@
}
.title-center /deep/ .el-radio-button__inner{
 border: none;
 border-radius: 0px;
 border-radius: 0px;
}
.title-center /deep/ .el-radio-button__orig-radio:checked+.el-radio-button__inner{
  background-color: #034ea2;background-color: #034ea2;
}
</style>
</style>