lyfO_o
2022-06-09 44d7a737dc0d63ad1dd7c52d45fc2233d1950173
src/views/Issuedbysuperiors/index.vue
@@ -45,7 +45,7 @@
                        v-for="item in YHBMList"
                        :key="item.branch_id"
                        :label="item.branch_name"
                        :value="item.branch_id">
                        :value="item.branch_name">
                    </el-option>
                </el-select>
            </el-form-item>
@@ -117,67 +117,115 @@
            </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-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-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-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-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" 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-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">
            <el-radio-button label="待发送">待发送</el-radio-button>
            <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="YHType">
                    <el-radio-button label="1">待发送</el-radio-button>
                    <el-radio-button label="2">整改中</el-radio-button>
                    <el-radio-button label="3">待复查</el-radio-button>
                    <el-radio-button label="end">整改完成</el-radio-button>
          </el-radio-group>
            </el-col>
        </el-row>
        <el-table :data="tableData" style="width: 100%"  @selection-change="changeBox">
        <el-table :data="tableData" style="width: 100%" @selection-change="changeBox" v-loading="loading">
            <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="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"></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="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="级别" 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="measure" label="整改措施" align="center">
                    <template slot-scope="scope">
                        <el-popover trigger="hover" placement="top">
                            <p>{{ scope.row.measure }}</p>
                            <div slot="reference" class="name-wrapper">{{
                                    scope.row.measure != null && scope.row.measure.length > 10 ? scope.row.measure.substring(0, 8) + "...." : scope.row.measure
                                }}
                            </div>
                        </el-popover>
                    </template>
                </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 prop="alter_time" label="限改时间" :formatter="formatColumnDate" width="120"
                                 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" align="center"> </el-table-column>
                <el-table-column prop="ACCOMPLISHTIME" label="完成时间" :formatter="formatColumnDate" width="110px"
                                 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 prop="CALLBACKTIME" label="复查时间" :formatter="formatColumnDate" 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 =='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>
@@ -185,14 +233,15 @@
            </el-table-column>
            <el-table-column prop="DTRisk_bankId" label="是否关联" align="center">
                <template slot-scope="scope">
                    <span v-if="scope.row.DTRisk_bankId==0 || scope.row.DTRisk_bankId=='' || scope.row.DTRisk_bankId==null">未关联</span>
                    <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="流程操作" v-if="radio1=='待发送'" align="center"  fixed="right">
            <el-table-column prop="date" label="流程操作" v-if="YHType==1" align="center" fixed="right">
                <template slot-scope="scope">
                    <el-button @click="handleClick(scope.row)" type="text" size="small">点击发送</el-button>
                </template>
@@ -220,18 +269,28 @@
    </div>
</template>
<script>
import {getPageList,delDanger} from "@/api/sgyhpczl/hiddenDangerRegistration";
import {initJCBM ,initYHLX, initBC ,initJCLB ,initYHBM ,initYHJB,initLlr} from "@/api/sgyhpczl/initSelect";
import {getPageList} from "@/api/sgyhpczl/Issuedbysuperiors";
import {danger_export_do} from "@/api/sgyhpczl/hiddenDangerRectification";
import {
    initJCBM,
    initYHLX,
    initBC,
    initJCLB,
    initYHBM,
    initYHJB,
    initLlr,
    initReformStatus
} from "@/api/sgyhpczl/initSelect";
export default {
    data() {
        return {
            radio1:'待发送',
            YHType: '1',
            selectedList:[],
            reList:[{label:"未关联",value:0}],
            llrList:[],
            options: [],
            form:{},
            JCDWList:[{label:"众泰煤焦化",value:0},{label:"上级单位",value:1}],
            JCBMList:[],
            YHLXList:[],
@@ -239,6 +298,8 @@
            JCLBList:[],
            YHBMList:[],
            YHJBList:[],
            YHZTList: [],
            loading:false,
            tableData: [],
            listQuery:{
                page:1,
@@ -260,6 +321,12 @@
        this.initJCLB()
        this.initLlr()
        this.initYHBM()
        this.initYHZT()
    },
    watch: {
        "YHType": function (newVal, oldVal) {
            this.getPageList()
        }
    },
    methods:{
        deleteBatch(){
@@ -356,8 +423,11 @@
        },
        getPageList(){
            this.listQuery.page=1
            this.listQuery.form.step = this.YHType;
            this.checkTime()
            this.loading =true;
            getPageList(this.listQuery).then(res=>{
                this.loading =false;
                if (res.data.ok==1) {
                    this.tableData = res.data.data.items
                     this.recordTotal=res.data.data.total
@@ -407,6 +477,16 @@
                }
            })
        },
        initYHZT() {
            initReformStatus().then(res => {
                if (res.data.ok == 1) {
                    this.YHZTList = res.data.data
                    console.log(this.YHZTList)
                } else {
                    this.$message({type: 'error', message: res.data.msg, duration: 3000})
                }
            })
        },
        initBC(){
            initBC().then(res=>{
                if (res.data.ok==1){
@@ -438,7 +518,7 @@
        // 发送隐患单跳转
        handleClick(row){
            this.$router.push({
                path:"/hiddenDangerList?id="+row.id,
                path: "/superiorsSend?id=" + row.id,
            })
        },
        deleteClick(row){
@@ -461,6 +541,53 @@
                .catch(error =>{
                });
        },
        //方法区
        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() + ' '
        },
        exportData() {
            this.listLoading = true
            var requestData = JSON.parse(JSON.stringify(this.listQuery));
            requestData.export_type = 5;
            //删除分页参数
            this.$delete(requestData, 'page')
            this.$delete(requestData, 'limit')
            danger_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)
            })
        },
        showDetails(row) {
            this.$router.push({
                path: "/dangerDetails",
                query: {"id": row.id, "route": "/Issuedbysuperiors"}
            })
        }
    }
};
</script>
@@ -470,16 +597,20 @@
        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;
    }
    .title-center /deep/ .el-radio-button:first-child .el-radio-button__inner {
    border: none;
}
@@ -489,6 +620,11 @@
    border-radius: 0px;
}
.blue-font-color:hover {
    cursor: pointer;
    color: blue;
}
.title-center /deep/ .el-radio-button__orig-radio:checked + .el-radio-button__inner {
    background-color: #034ea2;
    background-color: #034ea2;