shj
2022-05-19 5edf462fd0028cd37b5c464002a4641d7af08dd2
关注
已修改2个文件
已添加1个文件
476 ■■■■■ 文件已修改
src/permission.js 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/router/index.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/careabout/index.vue 466 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/permission.js
@@ -16,7 +16,7 @@
  if (!permissionRoles) return true
  return roles.some(role => permissionRoles.indexOf(role) >= 0)
}
const whiteList = ['/login', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/oneFromanother','/hiddenDangerTroubleshootingList','/preview','/inspectionNotExist','/send','/Issuedbysuperiors','/oneFromanotherN','/summaryPotentialSafetyHzards','/safetyHazardAccount','/superiorsSend','/accountSend','/existN','/exist','/hazardSource','/safetyedit','/Dualbase','/supervision','/inferOtherThings','/DualbaseLost','/summaryList','/summaryForm','/chartAnalysis']// no redirect whitelist
const whiteList = ['/login', '/auth-redirect','/agreement','/register','/productionEquipment','/instrumentData','/oneFromanother','/hiddenDangerTroubleshootingList','/preview','/inspectionNotExist','/send','/Issuedbysuperiors','/oneFromanotherN','/summaryPotentialSafetyHzards','/safetyHazardAccount','/superiorsSend','/accountSend','/existN','/exist','/hazardSource','/safetyedit','/Dualbase','/supervision','/inferOtherThings','/DualbaseLost','/summaryList','/summaryForm','/chartAnalysis','/careabout']// no redirect whitelist
router.beforeEach((to, from, next) => {
  NProgress.start() // start progress bar
src/router/index.js
@@ -486,6 +486,14 @@
                  component: () => import('@/views/chartAnalysis'),
                  meta: { title: '隐患图表分析', icon: '' }
              },
              {
                id: 13,
                parentId: 0,
                path: '/careabout',
                name: '您关注的隐患',
                component: () => import('@/views/careabout'),
                meta: { title: '您关注的隐患', icon: '' }
            },
          ]
      }
]
src/views/careabout/index.vue
对比新文件
@@ -0,0 +1,466 @@
<template>
    <div class="app-container">
       <el-form ref="form" :inline="true" class="inquire" :model="form" label-width="100px">
            <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.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">导出excel</el-button>
            </el-form-item>
        </el-form>
     <el-row class="title-center">
            <el-col :span="10">
                <el-radio-group  v-model="listQuery.type" @change="typeChange">
                    <el-radio-button label="0">督查督办</el-radio-button>
                    <el-radio-button label="1">特别关注</el-radio-button>
                    <el-radio-button label="2">全部</el-radio-button>
                </el-radio-group>
            </el-col>
            <div v-if="table1">
            <el-col :span="14" style="text-align:right;">
                <el-button class="btns" type="primary" size="small" >特别关注</el-button>
                <el-button class="btns" type="primary" size="small" @click="sendBath()">管理关注</el-button>
            </el-col>
            </div>
        </el-row>
       <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="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 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="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="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 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>
</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:{
                    page:1,
                    limit:10,
                    type: 0,
                    form:{},
                },
                radio1:'待发送',
                table1:true,
                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(){
                this.$router.push({
                    path:'/existN'
                })
            },
            handleClick(data,val){
                if(val=='存在'){
                    this.$router.push({
                        path:'/exist'
                    })
                }
            },
            handoff(index){
                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>
<style scoped>
.inquire {
    display: flex;
    justify-content: left;
    flex-wrap: wrap;
}
.inquire .el-form-item {
    padding: 0 40px;
}
.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;
}
</style>