fix
zhoucong
2022-04-22 04031b86d12c54dad59ebca8819f03479e87924f
src/views/hiddenDangerRectification/index.vue
@@ -1,13 +1,508 @@
<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="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_id">
                    </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.number" 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="listQuery.form.number" placeholder="请选择">
                          <el-option
                              v-for="item in options"
                              :key="item.value"
                              :label="item.value"
                              :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="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">导出excel</el-button>
            </el-form-item>
        </el-form>
        <el-row class="title-center">
            <el-col  :span="24" style="text-align:right;">
                <el-button class="btns" type="primary" size="small" @click="dialogVisible=true">申请延期</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="number" label="编号" align="center"  width="120"></el-table-column>
            <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 prop="check_date" label="检查时间" width="120"  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 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>
            <el-table-column label="整改情况" align="center">
                <el-table-column prop="ACCOMPLISHTIME" label="完成时间"  width="120" align="center"> </el-table-column>
                <el-table-column prop="CALLBACKRESULT" label="复查结果" align="center"> </el-table-column>
                <el-table-column prop="CALLBACKPERSON" label="复查人" align="center"> </el-table-column>
                <el-table-column prop="CALLBACKTIME" label="复查时间" width="120"  align="center"></el-table-column>
            </el-table-column>
            <el-table-column  label="隐患处理状态" align="center">
                <template slot-scope="scope">
                    <span v-if="scope.row.step =='1'">初始状态</span>
                    <span v-if="scope.row.step =='2'">整改中</span>
                    <span v-if="scope.row.step =='3'">复查中</span>
                    <span v-if="scope.row.step =='end'">处理结束</span>
                </template>
            </el-table-column>
            <el-table-column prop="date" label="是否关联" align="center"> </el-table-column>
            <el-table-column prop="DTRisk_level" label="风险等级" align="center"> </el-table-column>
            <el-table-column prop="warningLevel" label="初始警情" align="center"> </el-table-column>
            <el-table-column prop="curWarningLevel" label="当前警情" align="center"> </el-table-column>
            <el-table-column prop="date" label="流程操作" align="center">
                <template slot-scope="scope">
                    <el-button @click="handleClick(scope.row)" type="text" size="small">点击发送</el-button>
                </template>
            </el-table-column>
        </el-table>
        <!--申请延期弹窗-->
        <el-dialog
            title="提示"
            :visible.sync="dialogVisible"
            :close-on-click-modal="false"
            width="30%"
            :before-close="handleClose">
            <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="100px" class="demo-ruleForm">
                <el-row>
                    <el-col :span="16" :offset="3">
                        <el-form-item label="申请限改时间" prop="name">
                            <el-date-picker
                                v-model="value1"
                                type="date"
                                :disabled="true"
                                placeholder="选择日期"
                                style="width: 100%">
                            </el-date-picker>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="16" :offset="3">
                        <el-form-item label="附件上传" prop="desc">
                            <el-upload
                                class="upload-demo"
                                ref="upload"
                                action="https://jsonplaceholder.typicode.com/posts/"
                                :on-preview="handlePreview"
                                :on-remove="handleRemove"
                                :file-list="fileList"
                                :before-upload="beforeUpload"
                                :auto-upload="true">
                                <el-button slot="trigger" size="small" type="primary" class="btns">选择文件</el-button>
                                <div slot="tip" class="el-upload__tip">只能上传.jpg,.gif,.bmp,.png,.jpeg格式的图片</div>
                            </el-upload>
                        </el-form-item>
                    </el-col>
                </el-row>
                <el-row>
                    <el-col :span="16" :offset="3">
                        <el-form-item label="备注" prop="desc">
                            <el-input class="textarea" type="textarea" v-model="ruleForm.desc"></el-input>
                        </el-form-item>
                    </el-col>
                </el-row>
                <div style="text-align: center">
                    <el-button class="btns" size="small" type="primary" @click="dialogVisible = false">保存</el-button>
                    <el-button size="small" @click="dialogVisible = false">关闭</el-button>
                </div>
            </el-form>
        </el-dialog>
        <!--申请延期弹窗-->
        <div style="text-align: right">
            <el-pagination
                v-show="recordTotal > 0"
                @size-change="handleSizeChange"
                @current-change="handleCurrentChange"
                :current-page="currentPage"
                :page-sizes="[10, 20, 30, 50]"
                :page-size="pageSize"
                layout="total, sizes, prev, pager, next, jumper"
                :total="recordTotal"
            >
            </el-pagination>
        </div>
    </div>
</template>
<script>
    import {getPageList} from "@/api/sgyhpczl/hiddenDangerRectification";
    import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr} from "@/api/sgyhpczl/initSelect";
    export default {
        name: "index"
    }
        data() {
            return {
                reList:[{label:"未关联",value:0}],
                options: [],
                form:{},
                value1:"",
                llrList:[],
                JCDWList:[{label:"众泰",value:0},{label:"上级单位",value:1}],
                JCBMList:[],
                YHLXList:[],
                BCList:[],
                JCLBList:[],
                YHBMList:[],
                YHJBList:[],
                tableData: [],
                listQuery:{
                    page:1,
                    limit:10,
                    form:{
                        ht_community:"众泰煤焦化"
                    },
                },
                dialogVisible: false,
                ruleForm: {
                    name: '',
                    region: '',
                    date1: '',
                    date2: '',
                    delivery: false,
                    type: [],
                    resource: '',
                    value1: '',
                    desc: ''
                },
                rules: {},
                fileList: [],
                currentPage: 1,
                pageSize: 10,
                recordTotal: 0,
            };
        },
        mounted(){
            this.getPageList()
            this.initYHLX()
            this.initYHJB()
            this.initBC()
            this.initJCLB()
            this.initLlr()
        },
        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})
                    }
                })
            },
            changeYHDW(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:"众泰煤焦化"}
                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})
                    }
                })
            },
            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})
                    }
                })
            },
            // 发送隐患单跳转
            handleClick(){
                this.$router.push({
                    path:"/sendHiddenDangerList"
                })
            },
            handleClose(done) {
                this.$confirm('确认关闭?')
                    .then(_ => {
                        done();
                    })
                    .catch(_ => {});
            },
            handleRemove(file, fileList) {
                console.log(file, fileList)
            },
            handlePreview(file) {
                console.log(file)
            },
            beforeUpload(file) {
                var FileExt = file.name.replace(/.+\./, "");
                if (['jpg','png','bmp','gif','jpeg'].indexOf(FileExt.toLowerCase()) === -1){
                    this.$message({
                        type: 'warning',
                        message: '请上传后缀名为jpg、png、bmp、gif、jpeg的图片!'
                    });
                    return false;
                }
            },
        }
    };
</script>
<style scoped>
<style>
    .inquire{
        display: flex;
        justify-content:left;
        flex-wrap: wrap;
    }
    .inquire .el-form-item{
        padding: 0 46px;
    }
    .title-center{
        padding: 20px 0;
    }
    .btns {
        background-color: #034ea2;
        border: 1px solid #034ea2;
    }
    /deep/ .el-dialog .el-textarea__inner{
        height: 80px;
        max-height: 80px;
        overflow-y: auto
    }
    /deep/.el-dialog .button .el-form-item__content{
        margin-left: 0;
    }
    .textarea{
        max-height: 70px;
        overflow-y: auto;
    }
</style>