cqf
2022-05-18 1f12acc5d77c208718cfa969c53f136daf0258a4
05182222
已修改1个文件
已添加1个文件
396 ■■■■ 文件已修改
src/api/sgyhpczl/oneFromanotherN.js 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/oneFromanotherN/index.vue 327 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/sgyhpczl/oneFromanotherN.js
对比新文件
@@ -0,0 +1,69 @@
import request from '@/utils/request';
import {getTokenAndVerify} from "@/api/sgyhpczl/auth";
export function getPageList(data) {
    var arr=[]
    /*隐患单位*/
    if(data.form.check_main_branch!=null && data.form.check_main_branch!=''){
        arr.push({field:"check_main_branch",value:data.form.check_main_branch,type:'OPT'})
    }
    /*检查类别*/
    if(data.form.checktype!=null && data.form.checktype!=''){
        arr.push({field:"checktype",value:data.form.checktype,type:'OPT'})
    }
    /*被检单位*/
    if(data.form.ht_community!=null && data.form.ht_community!=''){
        arr.push({field:"ht_community",value:data.form.ht_community,type:'TXT'})
    }
    /*隐患级别*/
    if(data.form.ht_level!=null && data.form.ht_level!=''){
        arr.push({field:"ht_level",value:data.form.ht_level,type:'OPT'})
    }
    /*隐患类别*/
    if(data.form.ht_typesub!=null && data.form.ht_typesub!=''){
        arr.push({field:"ht_typesub",value:data.form.ht_typesub,type:'OPT'})
    }
    /*隐患地点*/
    if(data.form.address!=null && data.form.address!=''){
        arr.push({field:"address",value:data.form.address,type:'TXT'})
    }
    /*隐患内容*/
    if(data.form.ht_content!=null && data.form.ht_content!=''){
        arr.push({field:"ht_content",value:data.form.ht_content,type:'TXT'})
    }
    /*隐患内容*/
    if(data.form.workGroupName!=null && data.form.workGroupName!=''){
        arr.push({field:"workGroupName",value:data.form.workGroupName,type:'TXT'})
    }
    /*检查时间*/
    if(data.form.check_dateStart!=null && data.form.check_dateStart!='' && data.form.check_dateEnd!=null && data.form.check_dateEnd!=''){
        arr.push({field:"check_date",value:data.form.check_dateStart+"至"+data.form.check_dateEnd,type:'DAT'})
    }
    data.query_condition=arr
    return request({
        headers:{
            'token': getTokenAndVerify().token,
            'verify':getTokenAndVerify().verify
        },
        url: "/taboi/analogy/danger_inner_list",
        contentType: "application/json",
        method: 'POST',
        data
    });
}
//导出
export function analogy_export_do(data) {
    return request({
        headers: {
            'token': getTokenAndVerify().token,
            'verify': getTokenAndVerify().verify
        },
        url: '/taboi/excel/analogy_export_do',
        method: 'POST',
        responseType: 'arraybuffer',
        data
    });
}
src/views/oneFromanotherN/index.vue
@@ -1,28 +1,28 @@
<template>
    <div class="app-container">
            <el-form ref="form" :inline="true" class="inquire" :model="listQuery" label-width="80px">
            <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 ref="form" :inline="true" class="inquire" :model="listQuery.form" label-width="80px">
            <el-form-item label="隐患单位">
                <el-input v-model="listQuery.form.ht_branch" style="width:202px"></el-input>
            </el-form-item>
            <el-form-item label="隐患类别">
                <el-select v-model="listQuery.form.ht_typesub" placeholder="请选择">
                <el-select v-model="listQuery.form.check_main_branch" placeholder="请选择">
                    <el-option
                        v-for="item in YHLXList"
                        v-for="item in XFDWList"
                        :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.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.ht_community" style="width:202px"></el-input>
            </el-form-item>
            <el-form-item label="隐患级别">
                <el-select v-model="listQuery.form.ht_level" placeholder="请选择">
@@ -34,21 +34,25 @@
                    </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-form-item label="隐患类别">
                <el-select v-model="listQuery.form.ht_typesub" placeholder="请选择">
                    <el-option
                        v-for="item in YHLXList"
                        v-for="item in YHLBList"
                        :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-input v-model="listQuery.form.workGroupName" style="width:202px" placeholder="请输入内容"></el-input>
            </el-form-item>
            <el-form-item label="检查时间">
                <el-col :span="11">
@@ -71,40 +75,48 @@
        </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-group>
                <el-radio-group v-if="table1" v-model="listQuery.type" @change="typeChange">
                    <el-radio-button label="0">待发送</el-radio-button>
                    <el-radio-button label="1">已发送</el-radio-button>
                </el-radio-group>
                <el-radio-group v-if="table2"  >
                    <el-radio-button label="0">待自查</el-radio-button>
                    <el-radio-button label="1">已自查</el-radio-button>
                </el-radio-group>
          <el-button class="btns" type="primary" size="small" v-if="table1" @click="handoff(1)">进入自查(3)</el-button>
          <el-button class="btns" type="primary" size="small" v-if="table2" @click="handoff(2)">返回填写</el-button>
            </el-col>
            <div v-if="table1">
            <el-col :span="14" style="text-align:right;" v-if="radio1=='待发送'">
            <el-col :span="14" style="text-align:right;" v-if="listQuery.type==0">
                <el-button class="btns" type="primary" size="small" icon="el-icon-upload2" >发送</el-button>
                <el-button class="btns" type="primary" size="small" icon="el-icon-plus" @click="sendBath()">添加</el-button>
                <el-button size="small" >批量删除</el-button>
            </el-col>
             <el-col :span="14" style="text-align:right;" v-if="radio1=='已发送'">
             <el-col :span="14" style="text-align:right;" v-if="listQuery.type==1">
                <el-button class="btns" type="primary" size="small" >收回</el-button>
            </el-col>
            </div>
        </el-row>
        <div v-if="table1">
         <el-table ref="dataTable" v-if="radio1=='待发送'" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" 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 ref="dataTable"
                   v-if="listQuery.type==0"
                   :data="tableData"
                   style="width: 100%"
                   @selection-change="handleSelectionChange">
             <el-table-column type="selection" width="55" align="center"></el-table-column>
          <el-table-column prop="check_date" label="检查时间" :formatter="formatColumnDate"  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="check_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
                <!-- <el-table-column prop="measure" label="被检单位" align="center"></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="隐患内容" width="200" align="center"></el-table-column>
            <el-table-column prop="ht_level" label="隐患类别" align="center"></el-table-column>
            <el-table-column prop="ht_typesub" label="隐患级别" align="center"></el-table-column>
            <el-table-column prop="address" label="隐患地点" align="center"></el-table-column>
            <el-table-column prop="ht_content" label="隐患内容" width="200" 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">
@@ -113,41 +125,45 @@
                </template>
            </el-table-column>
        </el-table>
            <el-table ref="dataTable" v-if="radio1=='已发送'" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
            <el-table ref="dataTable" v-if="listQuery.type==1" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" 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 prop="check_date" label="检查时间" :formatter="formatColumnDate" 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="check_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
                <el-table-column prop="measure" label="被检单位" align="center"></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="隐患内容" width="200" align="center"></el-table-column>
            <el-table-column prop="curWarningLevel" label="发送单位" align="center"></el-table-column>
            <el-table-column prop="date" label="未自查单位" align="center"></el-table-column>
            <el-table-column prop="ht_community" 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 prop="address" label="隐患地点" align="center"></el-table-column>
            <el-table-column prop="ht_content" label="隐患内容" width="200" align="center"></el-table-column>
            <el-table-column prop="workGroupName" label="发送单位" align="center"></el-table-column>
            <el-table-column prop="state" label="未自查单位" align="center"></el-table-column>
        </el-table>
        </div>
            <el-table ref="dataTable" v-if="table2" :data="tableData" style="width: 100%" @selection-change="handleSelectionChange">
            <el-table
                ref="dataTable"
                v-if="table2"
                :data="tableData" style="width: 100%"
                @selection-change="handleSelectionChange">
            <el-table-column type="selection" width="55" 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 prop="check_date" label="检查时间" :formatter="formatColumnDate" 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="check_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="check_main_branch" label="检查单位" align="center"></el-table-column>
            <el-table-column prop="checktype" label="检查类别" align="center"></el-table-column>
                <el-table-column prop="measure" label="被检单位" align="center"></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="内容" width="200" align="center"></el-table-column>
            <el-table-column prop="curWarningLevel" label="发送单位" align="center"></el-table-column>
                <el-table-column prop="ht_community" 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 prop="address" label="隐患地点" align="center"></el-table-column>
            <el-table-column prop="ht_content" label="内容" width="200" align="center"></el-table-column>
            <el-table-column prop="workGroupName" 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>
@@ -168,21 +184,58 @@
            >
            </el-pagination>
        </div>
    </div>
</template>
<script>
    import { getPageList, analogy_export_do} from "@/api/sgyhpczl/oneFromanotherN"
    import {initJCBM, initYHLX, initJCLB, initYHJB} from "@/api/sgyhpczl/initSelect";
    export default{
        data(){
            return{
                listQuery:{
                    form:{}
                    page:1,
                    limit:10,
                    type: 0,
                    form:{},
                },
                radio1:'待发送',
                table1:true,
                table2:false
                table2:false,
                currentPage: 1,
                pageSize: 10,
                recordTotal: 0,
                XFDWList:[],
                YHLBList:[],
                YHJBList:[],
                JCLBList:[],
                tableData:[],
                selectedList:[],
                listLoading: false,
                selfInspectVisible: false,
                selfInspectForm:{
                    id: '',
                    markUserName:'',
                    markDate:'',
                    remark:'',
                },
                selfInspectFormRules:{
                    markUserName: [{ required: true, message: '自查人不能为空', trigger: 'blur' }],
                    markDate: [{ required: true, message: '自查时间不能为空', trigger: 'blur' }]
                },
            }
        },
        mounted() {
            this.getPageList();
            this.initJCLB();
            this.initXFDW();
            this.initYHJB();
            this.initYHLB();
        },
        methods:{
            sendBath(){
@@ -201,11 +254,143 @@
                if(index==1){
                    this.table1=false
                    this.table2=true
                    this.listQuery.type = 2
                    console.log(this.listQuery.type)
                    this.getPageList()
                }else{
                    this.table1=true
                    this.table2=false
                }
            }
            },
            initXFDW(){
                initJCBM(1).then(res=>{
                    if (res.data.ok==1){
                        this.XFDWList=res.data.data
                    } else{
                        this.$message({type:'error', message:res.data.msg, duration:3000})
                    }
                })
            },
            initYHLB(){
                initYHLX().then(res=>{
                    if (res.data.ok==1){
                        this.YHLBList=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})
                    }
                })
            },
            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})
                    }
                })
            },
            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
                    }
                }
            },
            //搜索
            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={};
                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})
                    }
                })
            },
            typeChange(val){
                this.listQuery.type = val;
                this.getPageList()
            },
            handleSelectionChange(val){
                this.selectedList = []
                val.forEach((item) => {
                    this.selectedList.push(item)
                })
            },
            exportData() {
                var requestData = this.listQuery;
                //删除分页参数
                this.$delete(requestData, 'page')
                this.$delete(requestData, 'limit')
                analogy_export_do(requestData).then(res => {
                    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)
                })
            },
            //日期格式转换
            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() + ' '
            },
        }
    }
</script>
@@ -240,4 +425,4 @@
    background-color: #034ea2;
    background-color: #034ea2;
}
</style>
</style>