lyfO_o
2022-06-09 44d7a737dc0d63ad1dd7c52d45fc2233d1950173
src/views/summaryPotentialSafetyHzards/summaryList.vue
对比新文件
@@ -0,0 +1,377 @@
<template>
    <div class="app-container">
        <el-table :data="tableData" style="width: 100%" @selection-change="changeBox">
            <el-table-column type="selection" width="55" align="center"></el-table-column>
            <el-table-column prop="ht_community" label="单位" align="center" width="120"></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="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">
                    <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 prop="address" label="地点" align="center">
                    <template slot-scope="scope">
                        <el-popover trigger="hover" placement="top">
                            <p>{{ scope.row.address }}</p>
                            <div slot="reference" class="name-wrapper">{{
                                    scope.row.address != null && scope.row.address.length > 10 ? scope.row.address.substring(0, 8) + "...." : scope.row.address
                                }}
                            </div>
                        </el-popover>
                    </template>
                </el-table-column>
                <el-table-column prop="ht_content" label="内容" align="center">
                    <template slot-scope="scope">
                        <el-popover trigger="hover" placement="top">
                            <p>{{ scope.row.ht_content }}</p>
                            <div slot="reference" class="name-wrapper">{{
                                    scope.row.ht_content != null && scope.row.ht_content.length > 10 ? scope.row.ht_content.substring(0, 8) + "...." : scope.row.ht_content
                                }}
                            </div>
                        </el-popover>
                    </template>
                </el-table-column>
                <el-table-column prop="ht_typesub" label="类别" align="center"></el-table-column>
                <el-table-column prop="ht_level" label="级别" width="100" align="center"></el-table-column>
            </el-table-column>
            <el-table-column label="整改计划" align="center">
                <el-table-column prop="measure" label="整改措施" width="150" 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" :formatter="formatColumnDate"
                                 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="ACCOMPLISHTIME" label="完成时间" width="110px" :formatter="formatColumnDate"
                                 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" :formatter="formatColumnDate"
                                 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="DTRisk_bankId" label="是否关联" align="center">
                <template slot-scope="scope">
                    <span style="color: red"
                          v-if="scope.row.DTRisk_bankId==0 || scope.row.DTRisk_bankId=='' || scope.row.DTRisk_bankId==null">未关联</span>
                    <span v-else>已关联</span>
                </template>
            </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"  fixed="right">
                <template slot-scope="scope">
                    <el-button @click="handleClick(scope.row)" type="text" size="small">点击发送</el-button>
                </template>
            </el-table-column> -->
            <!-- <el-table-column prop="date" label="操作" align="center"  fixed="right">
                <template slot-scope="scope">
                    <el-button @click="updateClick(scope.row)" type="text" size="small">编辑</el-button>
                    <el-button @click="deleteClick(scope.row)" type="text" size="small">删除</el-button>
                </template>
            </el-table-column> -->
        </el-table>
        <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 class="btn">
            <el-button size="small" @click="close()">关闭</el-button>
        </div>
    </div>
</template>
<script>
import {getPageList} from "@/api/sgyhpczl/summaryPotentialSafetyHzards.js";
import {initJCBM, initYHLX, initBC, initJCLB, initYHBM, initYHJB, initLlr} from "@/api/sgyhpczl/initSelect";
export default {
    data() {
        return {
            radio1: '超期整改',
            selectedList: [],
            reList: [{label: "未关联", value: 0}],
            llrList: [],
            options: [],
            form: {},
            JCDWList: [{label: "众泰煤焦化", value: 0}, {label: "上级单位", value: 1}],
            JCBMList: [],
            YHLXList: [],
            BCList: [],
            JCLBList: [],
            YHBMList: [],
            YHJBList: [],
            tableData: [],
            listQuery: {
                page: 1,
                limit: 10,
                type: 0,
                form: {
                    // ht_community:"众泰煤焦化"
                },
            },
            currentPage: 1,
            pageSize: 10,
            recordTotal: 0,
        };
    },
    mounted() {
        if (this.$route.query.searchData.query_condition != null) {
            var searchData = this.$route.query.searchData;
            for (const argumentsKey in searchData) {
                this.listQuery[argumentsKey] = searchData[argumentsKey];
            }
            this.getPageList()
        }
        this.initYHLX()
        this.initYHJB()
        this.initBC()
        this.initJCLB()
        this.initLlr()
        this.initYHBM()
    },
    methods: {
        changeBox(val) {
            this.selectedList = []
            val.forEach((item) => {
                this.selectedList.push(item)
            })
        },
        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() {
            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
            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})
                }
            })
        },
        //方法区
        formatDate(data) {
            // 获取单元格数据
            if (data == null) {
                return null
            }
            let dt = new Date(data)
            return dt.getFullYear() + '-' + (dt.getMonth() + 1) + '-' + dt.getDate()
        },
        //方法区
        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() + ' '
        },
        showDetails(row) {
            this.$router.push({
                path: "/dangerDetails",
                query: {"id": row.id, "route": "/summaryList"}
            })
        },
        close() {
            this.$router.push({
                path: "/summaryPotentialSafetyHzards"
            })
        }
    }
};
</script>
<style scoped>
.inquire {
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
}
.inquire .el-form-item {
    padding: 0 30px;
}
.title-center {
    padding: 20px 0;
}
.btns {
    background-color: #034ea2;
    border: 1px solid #034ea2;
}
.title-center /deep/ .el-radio-button:first-child .el-radio-button__inner {
    border: none;
}
.title-center /deep/ .el-radio-button__inner {
    border: none;
    border-radius: 0px;
}
.title-center /deep/ .el-radio-button__orig-radio:checked + .el-radio-button__inner {
    background-color: #034ea2;
    background-color: #034ea2;
}
.btn {
    text-align: center;
    margin-top: 20px;
}
.blue-font-color:hover {
    cursor: pointer;
    color: blue;
}
</style>